diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserAccountController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserAccountController.java index fe5d6fd..b1648ed 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserAccountController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserAccountController.java @@ -158,7 +158,7 @@ public class UserAccountController { final ConfirmationToken token = confirmationTokenRepository.findByConfirmToken(resetRequest.getConfirmationToken()); - if (token == null || !token.getResetPassword()) { + if (token == null || !token.isResetPassword()) { throw new EmailTokenNotFoundException(); } @@ -186,7 +186,7 @@ public class UserAccountController { final ConfirmationToken token = confirmationTokenRepository.findByConfirmToken(confirmationToken); - if (token != null && !token.getResetPassword()) { + if (token != null && !token.isResetPassword()) { token.getUser().setEnabled(true); userRepository.save(token.getUser()); response.sendRedirect(emailConfig.getRegistrationRedirect()); diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/AutomationFastUpdateRequest.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/AutomationFastUpdateRequest.java index 0861429..4217761 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/AutomationFastUpdateRequest.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/AutomationFastUpdateRequest.java @@ -1,14 +1,6 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.dto; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.BooleanCondition; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.BooleanTrigger; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.Condition; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RangeCondition; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RangeTrigger; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.ScenePriority; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.Thermostat; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.ThermostatCondition; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.Trigger; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; import java.util.List; import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; @@ -36,7 +28,7 @@ public class AutomationFastUpdateRequest { } public static class RangeTriggerDTO extends TriggerDTO { - @NotNull RangeTrigger.Operator operator; + @NotNull Operator operator; @NotNull double range; @Override @@ -85,7 +77,7 @@ public class AutomationFastUpdateRequest { public static class RangeConditionDTO extends ConditionDTO { - @NotNull RangeCondition.Operator operator; + @NotNull Operator operator; @NotNull double range; @Override diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeConditionSaveRequest.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeConditionSaveRequest.java index 8cf4bf6..65fb3e4 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeConditionSaveRequest.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeConditionSaveRequest.java @@ -1,9 +1,10 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.dto; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RangeCondition; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RangeCondition.Operator; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.Operator; import javax.validation.constraints.NotNull; +import lombok.Data; +@Data public class RangeConditionSaveRequest { @NotNull private long id; @@ -12,43 +13,7 @@ public class RangeConditionSaveRequest { @NotNull private Long automationId; - @NotNull private RangeCondition.Operator operator; + @NotNull private Operator operator; @NotNull private double range; - - public long getId() { - return id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public Long getAutomationId() { - return automationId; - } - - public void setAutomationId(Long automationId) { - this.automationId = automationId; - } - - public Operator getOperator() { - return operator; - } - - public void setOperator(Operator operator) { - this.operator = operator; - } - - public double getRange() { - return range; - } - - public void setRange(double range) { - this.range = range; - } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeTriggerSaveRequest.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeTriggerSaveRequest.java index 0df49a5..8c43ce6 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeTriggerSaveRequest.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/RangeTriggerSaveRequest.java @@ -1,6 +1,6 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.dto; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RangeTrigger; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.Operator; import javax.validation.constraints.NotNull; import lombok.Data; @@ -13,7 +13,7 @@ public class RangeTriggerSaveRequest { @NotNull private Long automationId; - @NotNull private RangeTrigger.Operator operator; + @NotNull private Operator operator; @NotNull private double range; } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Automation.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Automation.java index f711c93..48a9e44 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Automation.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Automation.java @@ -7,7 +7,9 @@ import java.util.Set; import javax.persistence.*; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import lombok.Data; +@Data @Entity public class Automation { @@ -37,48 +39,4 @@ public class Automation { private Set> conditions = new HashSet<>(); @NotNull @NotEmpty private String name; - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public Set getScenes() { - return scenes; - } - - public Set> getTriggers() { - return triggers; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public User getUser() { - return user; - } - - public void setUser(User user) { - this.user = user; - } - - public Long getUserId() { - return userId; - } - - public void setUserId(Long userId) { - this.userId = userId; - } - - public Set> getConditions() { - return conditions; - } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanCondition.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanCondition.java index 22ac7a2..4097c26 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanCondition.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanCondition.java @@ -2,10 +2,14 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; import javax.persistence.Column; import javax.persistence.Entity; +import lombok.Getter; +import lombok.Setter; @Entity public class BooleanCondition extends Condition { + @Getter + @Setter @Column(name = "switchable_on") private boolean on; @@ -13,14 +17,6 @@ public class BooleanCondition extends Condition { super("booleanCondition"); } - public boolean isOn() { - return on; - } - - public void setOn(boolean on) { - this.on = on; - } - @Override public boolean triggered() { return this.getDevice().readTriggerState() == isOn(); diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanTrigger.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanTrigger.java index 6eeb69e..50a86b1 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanTrigger.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/BooleanTrigger.java @@ -2,29 +2,21 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; import javax.persistence.Column; import javax.persistence.Entity; +import lombok.Getter; +import lombok.Setter; @Entity public class BooleanTrigger extends Trigger { @Column(name = "switchable_on") + @Getter + @Setter private boolean on; public BooleanTrigger() { super("booleanTrigger"); } - public boolean isOn() { - return on; - } - - public void setOn(boolean on) { - this.on = on; - } - - public boolean check(boolean on) { - return this.on == on; - } - @Override public boolean triggered() { return getDevice().readTriggerState() == isOn(); diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmer.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmer.java index e41265a..9759251 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmer.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmer.java @@ -1,5 +1,6 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; + import javax.persistence.Entity; /** diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Condition.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Condition.java index 08b2db8..a063ca6 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Condition.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Condition.java @@ -10,7 +10,9 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Transient; +import lombok.Data; +@Data @Entity public abstract class Condition { @@ -52,42 +54,6 @@ public abstract class Condition { public abstract boolean triggered(); - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public D getDevice() { - return device; - } - - public void setDevice(D device) { - this.device = device; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public Automation getAutomation() { - return automation; - } - - public void setAutomation(Automation automation) { - this.automation = automation; - } - - public Long getAutomationId() { - return automationId; - } - public Condition setAutomationId(Long automationId) { this.automationId = automationId; return this; diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ConfirmationToken.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ConfirmationToken.java index a661aa0..0bc1213 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ConfirmationToken.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ConfirmationToken.java @@ -12,7 +12,9 @@ import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import lombok.Data; +@Data @Entity public class ConfirmationToken { @@ -40,47 +42,4 @@ public class ConfirmationToken { confirmToken = UUID.randomUUID().toString(); resetPassword = false; } - - /** Constructor for hibernate reflective stuff things whatever */ - public ConfirmationToken() {} - - public Long getId() { - return id; - } - - public String getConfirmToken() { - return confirmToken; - } - - public Date getCreatedDate() { - return (Date) createdDate.clone(); - } - - public User getUser() { - return user; - } - - public void setId(Long id) { - this.id = id; - } - - public void setConfirmToken(String confirmToken) { - this.confirmToken = confirmToken; - } - - public void setCreatedDate(Date createdDate) { - this.createdDate = (Date) createdDate.clone(); - } - - public void setUser(User user) { - this.user = user; - } - - public boolean getResetPassword() { - return resetPassword; - } - - public void setResetPassword(boolean resetPassword) { - this.resetPassword = resetPassword; - } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Device.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Device.java index ebaf4b0..bc16615 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Device.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Device.java @@ -6,9 +6,11 @@ import com.google.gson.annotations.SerializedName; import io.swagger.annotations.ApiModelProperty; import java.util.Set; import javax.persistence.*; +import lombok.Data; /** Generic abstraction for a smart home device */ @Entity +@Data @Inheritance(strategy = InheritanceType.JOINED) public abstract class Device { @@ -73,88 +75,8 @@ public abstract class Device { @Transient @GsonExclude private boolean deleted = false; - public Device(String kind, FlowType flowType) { + protected Device(String kind, FlowType flowType) { this.kind = kind; this.flowType = flowType; } - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public Room getRoom() { - return room; - } - - public void setRoom(Room room) { - this.room = room; - } - - public Set> getTriggers() { - return triggers; - } - - public void setTriggers(Set> triggers) { - this.triggers = triggers; - } - - public Long getRoomId() { - return roomId; - } - - public void setRoomId(Long roomId) { - this.roomId = roomId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getKind() { - return kind; - } - - public FlowType getFlowType() { - return flowType; - } - - public Set> getStates() { - return states; - } - - public void setStates(Set> states) { - this.states = states; - } - - public Long getFromHostId() { - return fromHostId; - } - - public void setFromHostId(Long fromHostId) { - this.fromHostId = fromHostId; - } - - public boolean isFromGuest() { - return fromGuest; - } - - public void setFromGuest(boolean fromGuest) { - this.fromGuest = fromGuest; - } - - public boolean isDeleted() { - return deleted; - } - - public void setDeleted(boolean deleted) { - this.deleted = deleted; - } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java index bc093e0..a440e37 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmable.java @@ -7,6 +7,8 @@ import javax.persistence.*; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @@ -19,6 +21,8 @@ public class Dimmable extends Switchable implements RangeTriggerable { @ManyToMany(mappedBy = "dimmables", cascade = CascadeType.DETACH) @GsonExclude @SocketGsonExclude + @Getter + @Setter private Set dimmers; /** The light intensity value. Goes from 0 (off) to 100 (on) */ @@ -26,16 +30,15 @@ public class Dimmable extends Switchable implements RangeTriggerable { @Column(nullable = false) @Min(0) @Max(100) + @Getter private Integer intensity = 0; @NotNull @Column(nullable = false) + @Getter + @Setter private Integer oldIntensity = 100; - public Integer getIntensity() { - return intensity; - } - /** * Sets the intensity to a certain level. Out of bound values are corrected to the respective * extremums. An intensity level of 0 turns the light off, but keeps the old intensity level @@ -65,10 +68,6 @@ public class Dimmable extends Switchable implements RangeTriggerable { intensity = on ? oldIntensity : 0; } - public Set getDimmers() { - return this.dimmers; - } - public void readStateAndSet(DimmableState state) { setIntensity(state.getIntensity()); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/DimmableState.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/DimmableState.java index dff0143..e004c1f 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/DimmableState.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/DimmableState.java @@ -3,6 +3,8 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; import javax.persistence.Entity; import javax.validation.constraints.Max; import javax.validation.constraints.Min; +import lombok.Getter; +import lombok.Setter; /** Represent a state for an IDimmable device */ @Entity @@ -11,16 +13,10 @@ public class DimmableState extends State { /** The light intensity value. Goes from 0 (off) to 100 (on) */ @Min(0) @Max(100) + @Getter + @Setter private int intensity = 0; - public int getIntensity() { - return intensity; - } - - public void setIntensity(int dimAmount) { - this.intensity = dimAmount; - } - @Override public void apply() { getDevice().readStateAndSet(this); diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmer.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmer.java index cd3ee64..109e13e 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmer.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Dimmer.java @@ -10,7 +10,7 @@ import javax.persistence.*; @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class Dimmer extends InputDevice implements Connectable { - public Dimmer(String kind) { + protected Dimmer(String kind) { super(kind); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/MotionSensor.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/MotionSensor.java index 4998922..122a608 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/MotionSensor.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/MotionSensor.java @@ -2,22 +2,18 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; import javax.persistence.Column; import javax.persistence.Entity; +import lombok.Getter; +import lombok.Setter; /** Represents a motion sensor device */ @Entity public class MotionSensor extends InputDevice implements BooleanTriggerable { + @Getter + @Setter @Column(nullable = false) private boolean detected; - public boolean isDetected() { - return detected; - } - - public void setDetected(boolean detected) { - this.detected = detected; - } - public MotionSensor() { super("motionSensor"); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Operator.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Operator.java new file mode 100644 index 0000000..3c255f2 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Operator.java @@ -0,0 +1,33 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.models; + +import com.google.gson.annotations.SerializedName; + +public enum Operator { + @SerializedName("EQUAL") + EQUAL, + @SerializedName("LESS") + LESS, + @SerializedName("GREATER") + GREATER, + @SerializedName("LESS_EQUAL") + LESS_EQUAL, + @SerializedName("GREATER_EQUAL") + GREATER_EQUAL; + + boolean checkAgainst(double value, double range) { + switch (this) { + case EQUAL: + return value == range; + case LESS: + return value < range; + case GREATER: + return value > range; + case GREATER_EQUAL: + return value >= range; + case LESS_EQUAL: + return value <= range; + default: + throw new IllegalStateException(); + } + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeCondition.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeCondition.java index f3e4bce..f79cd94 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeCondition.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeCondition.java @@ -1,10 +1,9 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; -import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RangeTrigger.Operator; -import com.google.gson.annotations.SerializedName; import javax.persistence.Column; import javax.persistence.Entity; -import javax.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; @Entity public class RangeCondition extends Condition { @@ -13,57 +12,18 @@ public class RangeCondition extends Condition { super("rangeCondition"); } - public enum Operator { - @SerializedName("EQUAL") - EQUAL, - @SerializedName("LESS") - LESS, - @SerializedName("GREATER") - GREATER, - @SerializedName("LESS_EQUAL") - LESS_EQUAL, - @SerializedName("GREATER_EQUAL") - GREATER_EQUAL - } - + @Getter + @Setter @Column(nullable = false) - private RangeCondition.Operator operator; + private Operator operator; - @NotNull + @Getter + @Setter @Column(nullable = false) private double range; - public RangeCondition.Operator getOperator() { - return operator; - } - - public void setOperator(RangeCondition.Operator operator) { - this.operator = operator; - } - - public double getRange() { - return range; - } - - public void setRange(Double range) { - this.range = range; - } - @Override public boolean triggered() { - double value = getDevice().readTriggerState(); - switch (operator) { - case EQUAL: - return value == range; - case LESS: - return value < range; - case GREATER: - return value > range; - case GREATER_EQUAL: - return value >= range; - case LESS_EQUAL: - return value <= range; - } - throw new IllegalStateException(); + return operator.checkAgainst(getDevice().readTriggerState(), range); } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeTrigger.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeTrigger.java index 0d926ae..2450616 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeTrigger.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RangeTrigger.java @@ -1,8 +1,9 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; -import com.google.gson.annotations.SerializedName; import javax.persistence.Column; import javax.persistence.Entity; +import lombok.Getter; +import lombok.Setter; @Entity public class RangeTrigger extends Trigger { @@ -11,56 +12,18 @@ public class RangeTrigger extends Trigger { super("rangeTrigger"); } - @Override - public boolean triggered() { - double value = getDevice().readTriggerState(); - switch (operator) { - case EQUAL: - return value == range; - case LESS: - return value < range; - case GREATER: - return value > range; - case GREATER_EQUAL: - return value >= range; - case LESS_EQUAL: - return value <= range; - } - throw new IllegalStateException(); - } - - public enum Operator { - @SerializedName("EQUAL") - EQUAL, - @SerializedName("LESS") - LESS, - @SerializedName("GREATER") - GREATER, - @SerializedName("LESS_EQUAL") - LESS_EQUAL, - @SerializedName("GREATER_EQUAL") - GREATER_EQUAL - } - + @Getter + @Setter @Column(nullable = false) private Operator operator; + @Getter + @Setter @Column(nullable = false) private double range; - public Operator getOperator() { - return operator; - } - - public void setOperator(Operator operator) { - this.operator = operator; - } - - public double getRange() { - return range; - } - - public void setRange(Double range) { - this.range = range; + @Override + public boolean triggered() { + return operator.checkAgainst(getDevice().readTriggerState(), range); } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java index 2d06c59..d035b19 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RegularLight.java @@ -3,6 +3,8 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; import javax.persistence.Column; import javax.persistence.Entity; import javax.validation.constraints.NotNull; +import lombok.Getter; +import lombok.Setter; /** Represents a standard non-dimmable light */ @Entity @@ -11,21 +13,12 @@ public class RegularLight extends Switchable implements BooleanTriggerable { /** Whether the light is on or not */ @Column(name = "light_on", nullable = false) @NotNull + @Getter + @Setter boolean on; public RegularLight() { super("regularLight"); - this.on = false; - } - - @Override - public boolean isOn() { - return on; - } - - @Override - public void setOn(boolean on) { - this.on = on; } @Override