From 835a26d627326bc95a256cf7536c01a7ec2a604b Mon Sep 17 00:00:00 2001 From: lukasgol Date: Sun, 8 Jun 2014 18:27:17 +0200 Subject: [PATCH] Przesylanie i zapisywanie wiadomosci --- .../controllers/UserController.java | 33 +++++++++-- src/main/java/application/model/Message.java | 59 +++++++++++++++++++ src/main/java/application/model/User.java | 15 +++++ 3 files changed, 101 insertions(+), 6 deletions(-) create mode 100644 src/main/java/application/model/Message.java diff --git a/src/main/java/application/controllers/UserController.java b/src/main/java/application/controllers/UserController.java index cb6dd2c..4eed374 100644 --- a/src/main/java/application/controllers/UserController.java +++ b/src/main/java/application/controllers/UserController.java @@ -1,5 +1,6 @@ package application.controllers; +import application.model.Message; import application.model.Role; import application.model.User; import application.repositories.RoleRepository; @@ -14,7 +15,8 @@ import org.springframework.web.bind.annotation.*; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; -import java.util.*; +import java.util.HashSet; +import java.util.Set; /** * Created by lukasgol on 21.04.14. @@ -65,12 +67,20 @@ public class UserController { accessCodes.put(returnedRole); } - //message - JSONObject message = new JSONObject(); + JSONArray messages = new JSONArray(); + for( Message message : user.getMessages()){ + JSONObject returnedMessage = new JSONObject(); + returnedMessage.put("dateTime", message.getDateTime()); + returnedMessage.put("isRead", message.isRead()); + returnedMessage.put("message", message.getMessage()); + + messages.put(returnedMessage); + } loginResponse.put("accessCodes", accessCodes); - loginResponse.put("message", message); + loginResponse.put("messages", messages); + } if(login.equals(user.getEmail()) && !password.equals(user.getPassword())){ @@ -87,17 +97,20 @@ public class UserController { loginResponse.put("error_message", "NO_SUCH_USER"); } + System.out.println(loginResponse.toString()); return loginResponse.toString(); } @RequestMapping("/addMe") @ResponseBody public String addMe() { - User marcin = new User("Marcin", "Michalek", "marcin.marcim@gmail.com", "pass"); + User marcin = new User("Marcin", "Michalek", "m", "p"); Set roles = new HashSet(); roles.add(new Role("CLEANER", "shityJob")); roles.add(new Role("BOSS", "fuckYea")); marcin.setRoles(roles); + marcin.addMessage(new Message("hello")); + marcin.addMessage(new Message("You're fired")); userRepository.save(marcin); @@ -137,7 +150,15 @@ public class UserController { roleJSON.put("password", r.getPassword()); roleArray.put(roleJSON); } - userJSON.put("roles", roleArray); + JSONArray messageArray = new JSONArray(); + for(Message m:user.getMessages()){ + JSONObject messJSON = new JSONObject(); + messJSON.put("dataTime", m.getDateTime()); + messJSON.put("message", m.getMessage()); + messJSON.put("isRead", m.isRead()); + messageArray.put(messJSON); + } + userJSON.put("messages", messageArray); userArray.put(userJSON); } return userArray.toString(); diff --git a/src/main/java/application/model/Message.java b/src/main/java/application/model/Message.java new file mode 100644 index 0000000..d61f5ee --- /dev/null +++ b/src/main/java/application/model/Message.java @@ -0,0 +1,59 @@ +package application.model; + +import javax.persistence.*; +import java.util.Date; + +/** + * Created by Marcin on 2014-05-09. + */ +@Entity (name = "messsage") +public class Message { + + @Id + @Column(name = "ID") + @GeneratedValue(strategy = GenerationType.AUTO) + private Long messageId; + + @Basic + public String dateTime; + + public Message() { + } + + @Basic + public boolean isRead; + @Basic + public String message; + + public Message(String message) { + this.message = message; + isRead=false; + dateTime=new Date().toString(); + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getDateTime() { + return dateTime; + } + + + public void setDateTime(String dateTime) { + this.dateTime = dateTime; + } + + public boolean isRead() { + return isRead; + } + + public void setRead(boolean read) { + this.isRead = read; + } + +} diff --git a/src/main/java/application/model/User.java b/src/main/java/application/model/User.java index e404c89..b5409d0 100644 --- a/src/main/java/application/model/User.java +++ b/src/main/java/application/model/User.java @@ -31,6 +31,9 @@ public class User { inverseJoinColumns = @JoinColumn( name="Role_ID")) private Set roles = new HashSet(0); + @OneToMany( cascade=CascadeType.ALL, fetch=FetchType.EAGER) + Set messages = new HashSet(0); + public User(String firstName, String lastName, String email, String password) { this.firstName = firstName; this.lastName = lastName; @@ -45,6 +48,10 @@ public class User { roles.add(role); } + public void addMessage(Message message){ + messages.add(message); + } + //getter and setter private Set getRole(){ return roles; @@ -97,6 +104,14 @@ public class User { public void setPassword(String password) { this.password = password; } + public Set getMessages() { + return messages; + } + + public void setMessages(Set messages) { + this.messages = messages; + } + //end }