From 9fc0224b1ded7c42833cc818e1b1dc26fc83d8bc Mon Sep 17 00:00:00 2001 From: omenem Date: Wed, 25 Mar 2020 14:14:12 +0100 Subject: [PATCH 1/2] fix room deletion --- .../sanmarinoes/smarthut/controller/RoomController.java | 9 +++++++++ .../smarthut/models/ButtonDimmerRepository.java | 8 +++++++- .../smarthut/models/KnobDimmerRepository.java | 8 +++++++- .../usi/inf/sa4/sanmarinoes/smarthut/models/Switch.java | 2 +- .../sanmarinoes/smarthut/models/SwitchRepository.java | 8 +++++++- 5 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RoomController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RoomController.java index 6a2ded4..2bfa440 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RoomController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RoomController.java @@ -23,6 +23,12 @@ public class RoomController { @Autowired private DeviceRepository deviceRepository; + @Autowired private SwitchRepository switchRepository; + + @Autowired private ButtonDimmerRepository buttonDimmerRepository; + + @Autowired private KnobDimmerRepository knobDimmerRepository; + @GetMapping public List findAll() { return toList(roomRepository.findAll()); @@ -81,6 +87,9 @@ public class RoomController { @DeleteMapping("/{id}") public void deleteById(@PathVariable("id") long id) { + switchRepository.deleteAllByRoomId(id); + knobDimmerRepository.deleteAllByRoomId(id); + buttonDimmerRepository.deleteAllByRoomId(id); roomRepository.deleteById(id); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmerRepository.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmerRepository.java index 484977a..f39644a 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmerRepository.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/ButtonDimmerRepository.java @@ -1,3 +1,9 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; -public interface ButtonDimmerRepository extends DeviceRepository {} +import javax.transaction.Transactional; + +public interface ButtonDimmerRepository extends DeviceRepository { + + @Transactional + void deleteAllByRoomId(long roomId); +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/KnobDimmerRepository.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/KnobDimmerRepository.java index 7d7fc16..2a4558e 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/KnobDimmerRepository.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/KnobDimmerRepository.java @@ -1,3 +1,9 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; -public interface KnobDimmerRepository extends DeviceRepository {} +import javax.transaction.Transactional; + +public interface KnobDimmerRepository extends DeviceRepository { + + @Transactional + void deleteAllByRoomId(long roomId); +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Switch.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Switch.java index ed6f38d..8a8057c 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Switch.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Switch.java @@ -54,7 +54,7 @@ public class Switch extends InputDevice { } @PreRemove - private void removeSwitchable() { + public void removeSwitchable() { for (Switchable s : getOutputs()) { s.setSwitchId(null); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SwitchRepository.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SwitchRepository.java index f06f465..8650ebe 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SwitchRepository.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/SwitchRepository.java @@ -1,3 +1,9 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; -public interface SwitchRepository extends DeviceRepository {} +import javax.transaction.Transactional; + +public interface SwitchRepository extends DeviceRepository { + + @Transactional + void deleteAllByRoomId(long roomId); +} From 6ce44e73fff8054ab2c435bfa93ce66dc45af5dd Mon Sep 17 00:00:00 2001 From: omenem Date: Wed, 25 Mar 2020 14:58:56 +0100 Subject: [PATCH 2/2] fix min intensity of dimmabke light of 1 in Dimmable Save Request --- .../sa4/sanmarinoes/smarthut/dto/DimmableLightSaveRequest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/DimmableLightSaveRequest.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/DimmableLightSaveRequest.java index 01bec1a..74e911b 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/DimmableLightSaveRequest.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/dto/DimmableLightSaveRequest.java @@ -11,7 +11,7 @@ public class DimmableLightSaveRequest { /** The light intensity value. Goes from 0 (off) to 100 (on) */ @NotNull - @Min(1) + @Min(0) @Max(100) private Integer intensity = 0;