From 26818060911284dccbc85bf1cfd1d5b502e47714 Mon Sep 17 00:00:00 2001 From: omenem Date: Tue, 25 Feb 2020 14:25:03 +0100 Subject: [PATCH 1/7] First Controller --- .gitignore | 2 + .idea/misc.xml | 2 +- git-hooks/pre-commit.sh | 8 ++-- .../smarthut/controller/DeviceController.java | 48 +++++++++++++++++++ .../controller/WelcomeController.java | 5 +- 5 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DeviceController.java diff --git a/.gitignore b/.gitignore index 80f92bb..69ca520 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +**/.DS_Store + # Compiled class file *.class diff --git a/.idea/misc.xml b/.idea/misc.xml index 56d4a95..7c6191b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,7 +1,7 @@ - + \ No newline at end of file diff --git a/git-hooks/pre-commit.sh b/git-hooks/pre-commit.sh index 68ab401..472c158 100755 --- a/git-hooks/pre-commit.sh +++ b/git-hooks/pre-commit.sh @@ -13,6 +13,8 @@ if [ "$NO_VERIFY" ]; then fi # list all added/copied/modified/renamed java files -git diff --staged --name-only --diff-filter=ACMR | egrep -a '.java$' | tr "\n" "\0" | - # run google-java-format on each file and re-stage any new changes - xargs -0 -I % echo "$format_cmd --aosp -i '%'; git add -f '%'" | sh +files="`git diff --staged --name-only --diff-filter=ACMR | egrep -a '.java$' | tr \"\\n\" \" \"`" +for f in $files; do + $format_cmd --aosp -i "$f" + git add -f "$f" +done diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DeviceController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DeviceController.java new file mode 100644 index 0000000..60f5c5d --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DeviceController.java @@ -0,0 +1,48 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.DimmableLight; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.DimmableLightRepository; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/dimmableLight") +public class DeviceController { + + @Autowired private DimmableLightRepository dimmableLightService; + + @GetMapping + public List getAll() { + return dimmableLightService.getList(); + } + + @GetMapping("/{id}") + public DimmableLight getById(@PathVariable("id") long id) { + return dimmableLightService.getList(); + } + + @PostMapping + public DimmableLight create(@RequestBody DimmableLight dl) { + return dimmableLightService.create(dl); + } + + @PutMapping("/{id}") + public DimmableLight update(@PathVariable("id") long id, @RequestBody DimmableLight dl) { + return dimmableLightService.update(id, dl); + } + + @DeleteMapping("/{id}") + public void delete(@PathVariable("id") long id) { + dimmableLightService.delete(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/WelcomeController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/WelcomeController.java index e462306..8cbb5d5 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/WelcomeController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/WelcomeController.java @@ -3,15 +3,14 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; import java.util.*; import org.springframework.boot.autoconfigure.*; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration -@Controller +// @Mapping("/light") public class WelcomeController { - @GetMapping("/") + @GetMapping List testDevices() { return Arrays.asList( new KnobDimmer(), From e26f5976c6e005b54ede734fef4f5db6b13a9de5 Mon Sep 17 00:00:00 2001 From: tommi27 Date: Tue, 25 Feb 2020 14:38:14 +0100 Subject: [PATCH 2/7] added User controller, renamed DeviceController --- ...ller.java => DimmableLightController.java} | 4 +- .../smarthut/controller/UserController.java | 41 +++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) rename src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/{DeviceController.java => DimmableLightController.java} (95%) create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DeviceController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DimmableLightController.java similarity index 95% rename from src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DeviceController.java rename to src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DimmableLightController.java index 60f5c5d..0cd1144 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DeviceController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/DimmableLightController.java @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController @EnableAutoConfiguration @RequestMapping("/dimmableLight") -public class DeviceController { +public class DimmableLightController { @Autowired private DimmableLightRepository dimmableLightService; @@ -28,7 +28,7 @@ public class DeviceController { @GetMapping("/{id}") public DimmableLight getById(@PathVariable("id") long id) { - return dimmableLightService.getList(); + return dimmableLightService.getById(); } @PostMapping diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java new file mode 100644 index 0000000..5829446 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java @@ -0,0 +1,41 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; +import java.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.*; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +@RestController +@EnableAutoConfiguration +@Controller +public class UserController { + + @Autowired private UserRepository userRepository; + + @GetMapping + public List getAll() { + return userRepository.getList(); + } + + @GetMapping("/{id}") + public User getById(@PathVariable("id") long id) { + return userRepository.getById(); + } + + @PostMapping + public User create(@RequestBody User u) { + return userRepository.create(u); + } + + @PutMapping("/{id}") + public User update(@PathVariable("id") long id, @RequestBody User u) { + return userRepository.update(id, u); + } + + @DeleteMapping("/{id}") + public void delete(@PathVariable("id") long id) { + userRepository.delete(id); + } +} From 03fed60a34b461256544b1a75a333dbff852d809 Mon Sep 17 00:00:00 2001 From: tommi27 Date: Tue, 25 Feb 2020 15:44:10 +0100 Subject: [PATCH 3/7] fixed user controller --- .../smarthut/controller/UserController.java | 23 +++++++++---------- .../smarthut/models/UserRepository.java | 1 + 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java index 5829446..0939b05 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java @@ -4,38 +4,37 @@ import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; import java.util.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.*; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration -@Controller +@RequestMapping("/user") public class UserController { @Autowired private UserRepository userRepository; @GetMapping - public List getAll() { - return userRepository.getList(); + public Iterable findAll() { + return userRepository.findAll(); } @GetMapping("/{id}") - public User getById(@PathVariable("id") long id) { - return userRepository.getById(); + public Optional findById(@PathVariable("id") long id) { + return userRepository.findById(id); } @PostMapping - public User create(@RequestBody User u) { - return userRepository.create(u); + public User save(@RequestBody User u) { + return userRepository.save(u); } @PutMapping("/{id}") - public User update(@PathVariable("id") long id, @RequestBody User u) { - return userRepository.update(id, u); + public User update(@RequestBody User u) { + return userRepository.save(u); } @DeleteMapping("/{id}") - public void delete(@PathVariable("id") long id) { - userRepository.delete(id); + public void deleteById(@PathVariable("id") long id) { + userRepository.deleteById(id); } } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/UserRepository.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/UserRepository.java index a0a0f1f..6c735ae 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/UserRepository.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/UserRepository.java @@ -1,5 +1,6 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; +import java.util.*; import org.springframework.data.repository.CrudRepository; public interface UserRepository extends CrudRepository {} From a3128b7cb7c8de86554767162b430a15c937eb3d Mon Sep 17 00:00:00 2001 From: tommi27 Date: Tue, 25 Feb 2020 16:04:11 +0100 Subject: [PATCH 4/7] added controllers and fixed RoomRepository --- .../smarthut/controller/RoomController.java | 40 +++++++++++++++++++ .../smarthut/controller/SensorController.java | 40 +++++++++++++++++++ .../controller/SmartPlugController.java | 40 +++++++++++++++++++ .../smarthut/controller/SwitchController.java | 40 +++++++++++++++++++ .../smarthut/models/RoomRepository.java | 2 +- 5 files changed, 161 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RoomController.java create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java 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 new file mode 100644 index 0000000..47f2544 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RoomController.java @@ -0,0 +1,40 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; +import java.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.*; +import org.springframework.web.bind.annotation.*; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/room") +public class RoomController { + + @Autowired private RoomRepository roomRepository; + + @GetMapping + public Iterable findAll() { + return roomRepository.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return roomRepository.findById(id); + } + + @PostMapping + public Room save(@RequestBody Room r) { + return roomRepository.save(r); + } + + @PutMapping("/{id}") + public Room update(@RequestBody Room r) { + return roomRepository.save(r); + } + + @DeleteMapping("/{id}") + public void deleteById(@PathVariable("id") long id) { + roomRepository.deleteById(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java new file mode 100644 index 0000000..d9039d4 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java @@ -0,0 +1,40 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; +import java.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.*; +import org.springframework.web.bind.annotation.*; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/sensor") +public class SensorController { + + @Autowired private SensorRepository sensorRepository; + + @GetMapping + public Iterable findAll() { + return sensorRepository.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return sensorRepository.findById(id); + } + + @PostMapping + public Sensor save(@RequestBody Sensor s) { + return sensorRepository.save(s); + } + + @PutMapping("/{id}") + public Sensor update(@RequestBody Sensor s) { + return sensorRepository.save(s); + } + + @DeleteMapping("/{id}") + public void deleteById(@PathVariable("id") long id) { + sensorRepository.deleteById(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java new file mode 100644 index 0000000..57abf98 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java @@ -0,0 +1,40 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; +import java.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.*; +import org.springframework.web.bind.annotation.*; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/smartplug") +public class SmartPlugController { + + @Autowired private SmartPlugRepository smartPlugRepository; + + @GetMapping + public Iterable findAll() { + return smartPlugRepository.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return smartPlugRepository.findById(id); + } + + @PostMapping + public SmartPlug save(@RequestBody SmartPlug sp) { + return smartPlugRepository.save(sp); + } + + @PutMapping("/{id}") + public SmartPlug update(@RequestBody SmartPlug sp) { + return smartPlugRepository.save(sp); + } + + @DeleteMapping("/{id}") + public void deleteById(@PathVariable("id") long id) { + smartPlugRepository.deleteById(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java new file mode 100644 index 0000000..0505d7b --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java @@ -0,0 +1,40 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.*; +import java.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.*; +import org.springframework.web.bind.annotation.*; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/switch") +public class SwitchController { + + @Autowired private SwitchRepository switchRepository; + + @GetMapping + public Iterable findAll() { + return switchRepository.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return switchRepository.findById(id); + } + + @PostMapping + public Switch save(@RequestBody Switch s) { + return switchRepository.save(s); + } + + @PutMapping("/{id}") + public Switch update(@RequestBody Switch s) { + return switchRepository.save(s); + } + + @DeleteMapping("/{id}") + public void deleteById(@PathVariable("id") long id) { + switchRepository.deleteById(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RoomRepository.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RoomRepository.java index d9efb14..08b4298 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RoomRepository.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/RoomRepository.java @@ -2,4 +2,4 @@ package ch.usi.inf.sa4.sanmarinoes.smarthut.models; import org.springframework.data.repository.CrudRepository; -public interface RoomRepository extends CrudRepository {} +public interface RoomRepository extends CrudRepository {} From 3c0c09c37568b0550378010e3d02dcfe7367b70d Mon Sep 17 00:00:00 2001 From: tommi27 Date: Tue, 25 Feb 2020 16:23:12 +0100 Subject: [PATCH 5/7] added image and icon fields to Room --- .../inf/sa4/sanmarinoes/smarthut/models/Room.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Room.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Room.java index ec732b1..6f36557 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Room.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/models/Room.java @@ -12,6 +12,18 @@ public class Room { @Column(name = "id", updatable = false, nullable = false) private Long id; + /** + * Icon and image are to be given as byte[]. In order to get an encoded string from it, the + * Base64.getEncoder().encodeToString(byte[] content) should be used. For further information: + * https://www.baeldung.com/java-base64-image-string + * https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html + */ + @Column(name = "icon", updatable = true, nullable = false) + private byte[] icon; + + @Column(name = "image", updatable = true, nullable = false) + private byte[] image; + /** User that owns the house this room is in */ @ManyToOne @JoinColumn(name = "user_id") From 4818929dad85ac6f72ac22f974a6fdbd1d7dc600 Mon Sep 17 00:00:00 2001 From: tommi27 Date: Wed, 26 Feb 2020 11:40:33 +0100 Subject: [PATCH 6/7] fixed redundant id in update methods --- .../inf/sa4/sanmarinoes/smarthut/controller/RoomController.java | 2 +- .../sa4/sanmarinoes/smarthut/controller/SensorController.java | 2 +- .../sanmarinoes/smarthut/controller/SmartPlugController.java | 2 +- .../sa4/sanmarinoes/smarthut/controller/SwitchController.java | 2 +- .../inf/sa4/sanmarinoes/smarthut/controller/UserController.java | 2 +- 5 files changed, 5 insertions(+), 5 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 47f2544..c60d45b 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 @@ -28,7 +28,7 @@ public class RoomController { return roomRepository.save(r); } - @PutMapping("/{id}") + @PutMapping public Room update(@RequestBody Room r) { return roomRepository.save(r); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java index d9039d4..04fe6fb 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SensorController.java @@ -28,7 +28,7 @@ public class SensorController { return sensorRepository.save(s); } - @PutMapping("/{id}") + @PutMapping public Sensor update(@RequestBody Sensor s) { return sensorRepository.save(s); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java index 57abf98..a6304b4 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SmartPlugController.java @@ -28,7 +28,7 @@ public class SmartPlugController { return smartPlugRepository.save(sp); } - @PutMapping("/{id}") + @PutMapping public SmartPlug update(@RequestBody SmartPlug sp) { return smartPlugRepository.save(sp); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java index 0505d7b..4cceb34 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/SwitchController.java @@ -28,7 +28,7 @@ public class SwitchController { return switchRepository.save(s); } - @PutMapping("/{id}") + @PutMapping public Switch update(@RequestBody Switch s) { return switchRepository.save(s); } diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java index 0939b05..941cf9b 100644 --- a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/UserController.java @@ -28,7 +28,7 @@ public class UserController { return userRepository.save(u); } - @PutMapping("/{id}") + @PutMapping public User update(@RequestBody User u) { return userRepository.save(u); } From ae993b0bab3a2255b367a95ae1f66200c71f0c06 Mon Sep 17 00:00:00 2001 From: omenem Date: Wed, 26 Feb 2020 13:25:38 +0100 Subject: [PATCH 7/7] New Controllers --- .../controller/ButtonDimmerController.java | 47 ++++++++++++++++++ .../controller/KnobDimmerController.java | 48 +++++++++++++++++++ .../controller/MotionSensorController.java | 48 +++++++++++++++++++ .../controller/RegularLightController.java | 48 +++++++++++++++++++ 4 files changed, 191 insertions(+) create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/ButtonDimmerController.java create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/KnobDimmerController.java create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/MotionSensorController.java create mode 100644 src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RegularLightController.java diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/ButtonDimmerController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/ButtonDimmerController.java new file mode 100644 index 0000000..1098824 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/ButtonDimmerController.java @@ -0,0 +1,47 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.ButtonDimmer; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.ButtonDimmerRepository; +import java.util.Optional; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/buttonDimmer") +public class ButtonDimmerController { + @Autowired private ButtonDimmerRepository buttonDimmerService; + + @GetMapping + public Iterable findAll() { + return buttonDimmerService.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return buttonDimmerService.findById(id); + } + + @PostMapping + public ButtonDimmer save(@RequestBody ButtonDimmer bd) { + return buttonDimmerService.save(bd); + } + + @PutMapping + public ButtonDimmer update(@RequestBody ButtonDimmer bd) { + return buttonDimmerService.save(bd); + } + + @DeleteMapping("/{id}") + public void delete(@PathVariable("id") long id) { + buttonDimmerService.deleteById(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/KnobDimmerController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/KnobDimmerController.java new file mode 100644 index 0000000..0696202 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/KnobDimmerController.java @@ -0,0 +1,48 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.KnobDimmer; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.KnobDimmerRepository; +import java.util.Optional; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/knobDimmer") +public class KnobDimmerController { + + @Autowired private KnobDimmerRepository knobDimmerService; + + @GetMapping + public Iterable findAll() { + return knobDimmerService.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return knobDimmerService.findById(id); + } + + @PostMapping + public KnobDimmer save(@RequestBody KnobDimmer kd) { + return knobDimmerService.save(kd); + } + + @PutMapping + public KnobDimmer update(@RequestBody KnobDimmer kd) { + return knobDimmerService.save(kd); + } + + @DeleteMapping("/{id}") + public void delete(@PathVariable("id") long id) { + knobDimmerService.deleteById(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/MotionSensorController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/MotionSensorController.java new file mode 100644 index 0000000..5ac2612 --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/MotionSensorController.java @@ -0,0 +1,48 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.MotionSensor; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.MotionSensorRepository; +import java.util.Optional; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/motionSensor") +public class MotionSensorController { + + @Autowired private MotionSensorRepository motionSensorService; + + @GetMapping + public Iterable findAll() { + return motionSensorService.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return motionSensorService.findById(id); + } + + @PostMapping + public MotionSensor save(@RequestBody MotionSensor ms) { + return motionSensorService.save(ms); + } + + @PutMapping + public MotionSensor update(@RequestBody MotionSensor ms) { + return motionSensorService.save(ms); + } + + @DeleteMapping("/{id}") + public void delete(@PathVariable("id") long id) { + motionSensorService.deleteById(id); + } +} diff --git a/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RegularLightController.java b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RegularLightController.java new file mode 100644 index 0000000..9a97abb --- /dev/null +++ b/src/main/java/ch/usi/inf/sa4/sanmarinoes/smarthut/controller/RegularLightController.java @@ -0,0 +1,48 @@ +package ch.usi.inf.sa4.sanmarinoes.smarthut.controller; + +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RegularLight; +import ch.usi.inf.sa4.sanmarinoes.smarthut.models.RegularLightRepository; +import java.util.Optional; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@EnableAutoConfiguration +@RequestMapping("/regularLight") +public class RegularLightController { + + @Autowired private RegularLightRepository regularLightService; + + @GetMapping + public Iterable findAll() { + return regularLightService.findAll(); + } + + @GetMapping("/{id}") + public Optional findById(@PathVariable("id") long id) { + return regularLightService.findById(id); + } + + @PostMapping + public RegularLight save(@RequestBody RegularLight rl) { + return regularLightService.save(rl); + } + + @PutMapping + public RegularLight update(@RequestBody RegularLight rl) { + return regularLightService.save(rl); + } + + @DeleteMapping("/{id}") + public void delete(@PathVariable("id") long id) { + regularLightService.deleteById(id); + } +}