From e893a95eee076bfbf24a22500350bcb938b858dd Mon Sep 17 00:00:00 2001 From: lukasgol Date: Thu, 12 Jun 2014 20:46:47 +0200 Subject: [PATCH] wiadomosci do drzwi --- .../controllers/DoorController.java | 56 +++++++++++++++++++ .../controllers/UserController.java | 10 ---- src/main/java/application/model/Door.java | 34 +++++++++++ .../java/application/model/DoorMessage.java | 47 ++++++++++++++++ .../repositories/DoorRepository.java | 10 ++++ 5 files changed, 147 insertions(+), 10 deletions(-) create mode 100644 src/main/java/application/controllers/DoorController.java create mode 100644 src/main/java/application/model/Door.java create mode 100644 src/main/java/application/model/DoorMessage.java create mode 100644 src/main/java/application/repositories/DoorRepository.java diff --git a/src/main/java/application/controllers/DoorController.java b/src/main/java/application/controllers/DoorController.java new file mode 100644 index 0000000..7072281 --- /dev/null +++ b/src/main/java/application/controllers/DoorController.java @@ -0,0 +1,56 @@ +package application.controllers; + +import application.model.Door; +import application.model.DoorMessage; +import application.repositories.DoorRepository; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * Created by lukasgol on 12.06.14. + */ + +@Controller +@RequestMapping(value = "/doors") +public class DoorController { + @Autowired + DoorRepository doorRepository; + + @RequestMapping + public + @ResponseBody + String listDoorsJson(ModelMap model) throws JSONException { + JSONArray doorArray = new JSONArray(); + for (Door door : doorRepository.findAll()) { + JSONObject doorJSON = new JSONObject(); + doorJSON.put("doorId", door.getDoorId()); + doorJSON.put("message", door.getDoorMessage()); + doorArray.put(doorJSON); + } + return doorArray.toString(); + } + + @RequestMapping("/{doorId}/message") + @ResponseBody + public String getUser(@PathVariable("doorId") Long doorId)throws JSONException{ + Door door = doorRepository.findOne(doorId); + DoorMessage message= door.getDoorMessage(); + JSONObject loginResponse = new JSONObject(); + loginResponse.put("success", true); + loginResponse.put("doorId", door.getDoorId()); + JSONObject jsonmessage = new JSONObject(); + jsonmessage.put("dateTime",message.getDateTime() ); + jsonmessage.put("message",message.getMessage() ); + jsonmessage.put("serverMessageId",message.getServerMessageId() ); + loginResponse.put("serverMessage", jsonmessage); + + return loginResponse.toString(); + } +} diff --git a/src/main/java/application/controllers/UserController.java b/src/main/java/application/controllers/UserController.java index 6e3c5f6..1d86b00 100644 --- a/src/main/java/application/controllers/UserController.java +++ b/src/main/java/application/controllers/UserController.java @@ -135,16 +135,6 @@ public class UserController { return "User created" + marcin.getUserId(); } - @RequestMapping("/change") - @ResponseBody - public String change() { - User marcin = userRepository.findOne((long) 1); - Set set =marcin.getMessages(); - set.add(new Message("lala")); - userRepository.save(marcin); - - return "User changed" + marcin.getUserId(); - } @RequestMapping("/{userId}") @ResponseBody diff --git a/src/main/java/application/model/Door.java b/src/main/java/application/model/Door.java new file mode 100644 index 0000000..6217406 --- /dev/null +++ b/src/main/java/application/model/Door.java @@ -0,0 +1,34 @@ +package application.model; + +import javax.persistence.*; + +/** + * Created by lukasgol on 12.06.14. + */ +@Entity(name = "door") + +public class Door { + + @Id + @Column(name = "doorId") + @GeneratedValue(strategy = GenerationType.AUTO) + private Long doorId; + + @OneToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER) + DoorMessage doorMessage; + + public Door(DoorMessage doorMessage) { + this.doorMessage = doorMessage; + } + + public Door() { + } + + public Long getDoorId() { + return doorId; + } + + public DoorMessage getDoorMessage() { + return doorMessage; + } +} diff --git a/src/main/java/application/model/DoorMessage.java b/src/main/java/application/model/DoorMessage.java new file mode 100644 index 0000000..0465a84 --- /dev/null +++ b/src/main/java/application/model/DoorMessage.java @@ -0,0 +1,47 @@ +package application.model; + +import javax.persistence.*; +import java.util.Date; + +/** + * Created by lukasgol on 12.06.14. + */ +@Entity (name = "doorMesssage") +public class DoorMessage { + + @Id + @Column(name = "ID") + @GeneratedValue(strategy = GenerationType.AUTO) + private Long serverMessageId; + + @Basic + public String dateTime; + + public DoorMessage() { + } + + @Basic + public String message; + + public DoorMessage(String message) { + this.message = message; + dateTime=new Date().toString(); + } + + @Override + public String toString(){ + return dateTime+" || "+message; + } + + public Long getServerMessageId() { + return serverMessageId; + } + + public String getDateTime() { + return dateTime; + } + + public String getMessage() { + return message; + } +} diff --git a/src/main/java/application/repositories/DoorRepository.java b/src/main/java/application/repositories/DoorRepository.java new file mode 100644 index 0000000..e57417c --- /dev/null +++ b/src/main/java/application/repositories/DoorRepository.java @@ -0,0 +1,10 @@ +package application.repositories; + +import application.model.Door; +import org.springframework.data.repository.CrudRepository; + +/** + * Created by lukasgol on 12.06.14. + */ +public interface DoorRepository extends CrudRepository { +}