diff --git a/src/main/java/com/example/cosmos_serversb/entities/User.java b/src/main/java/com/example/cosmos_serversb/entities/User.java index a930715..0b9c4bd 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/User.java +++ b/src/main/java/com/example/cosmos_serversb/entities/User.java @@ -1,7 +1,5 @@ package com.example.cosmos_serversb.entities; -import com.fasterxml.jackson.annotation.JsonIgnore; - import java.util.HashSet; import java.util.Set; @@ -14,7 +12,6 @@ } - public User(String name, String uId, String uri, String iconUri) { setuId(uId); setUri(uri); @@ -23,11 +20,6 @@ this.login = true; } - public static interface removeuIdAnduri{ - @JsonIgnore String getUId(); - @JsonIgnore String getUri(); - } - public String getuId() { return uId; } diff --git a/src/main/java/com/example/cosmos_serversb/models/Users.java b/src/main/java/com/example/cosmos_serversb/models/Users.java index b6738d3..b73d929 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Users.java +++ b/src/main/java/com/example/cosmos_serversb/models/Users.java @@ -5,12 +5,10 @@ import javax.inject.Singleton; import com.example.cosmos_serversb.entities.*; -import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.hibernate.Session; import org.hibernate.SessionFactory; -import org.hibernate.boot.MetadataSources; -import org.hibernate.boot.registry.StandardServiceRegistry; -import org.hibernate.boot.registry.StandardServiceRegistryBuilder; @Singleton @@ -52,31 +50,27 @@ } public static User createUser(String name, String pw, String iconImage) { - String uId = "1234"; + String uId = getInstance().createUId(); String uri = baseURI + AppName +"/users/" +uId; - Session session = sessionFactory.openSession(); - session.beginTransaction(); + Session session = SessionManager.getInstance().getSession(); createToken(uId); User testUser = new User(name, uId, uri, iconImage);//名前、uId、ユーザーuri、パスワード、アイコンイメージを保存 session.save(testUser); //出力 -/* List userResult = session.createQuery( "from User" ).list(); - for ( User user : (List) userResult ) { + /* + List userResult = session.createQuery( "from User" ).list(); + for ( User user : (List) userResult ) { System.out.println( "UserId (" + user.getuId() + ") : " + user.getUri() + ": " + user.getName()); }*/ - session.getTransaction().commit(); - session.close(); - return testUser; } public static User setUser(String uId, String name, String pw, String iconImage) { - Session session = sessionFactory.openSession(); - session.beginTransaction(); + Session session = SessionManager.getInstance().getSession(); List usersList = session.createQuery( "from User" ).list(); for ( User user : (List) usersList ) { - if(user.getuId() == uId){ + if (user.getuId().equals(uId)) { user.setName(name); if(iconImage != null) { user.setIconUri(iconImage); @@ -85,33 +79,24 @@ break; } } - //ここの2行でUser.javaからUriとuIdを参照 User findUser = (User) session.load(User.class, uId); - session.getTransaction().commit(); - session.close(); - //表示するのはUriとuIdのみ - return null; + return findUser; } public static User getUserById(String uId) { //与えられたuIdのUser情報を返す - Session session = sessionFactory.openSession(); - session.beginTransaction(); + Session session = SessionManager.getInstance().getSession(); List usersList = session.createQuery( "from User" ).list(); //uIdを比較し、一致した場合はNameとiconUriを返す。一致しない場合はbreak for ( User user : (List) usersList ) { - if (user.getuId() == uId) { + if (user.getuId().equals(uId)) { User findUser = (User) session.load(User.class, uId); - ObjectMapper mapper = new ObjectMapper(); -// User testUser = mapper.addMixIn(findUser,findUser.removeuIdAnduri); - return null; + return findUser; // System.out.println( "name: " + user.getName() + "iconUri : " + user.getIconUri()); }else{ break; } } - session.getTransaction().commit(); - session.close(); //一致しない場合は返す必要がないのでnull return null; } @@ -123,16 +108,12 @@ } public static DeleteResult deleteUser(String uId) { - Session session = sessionFactory.openSession(); - session = sessionFactory.openSession(); - session.beginTransaction(); + Session session = SessionManager.getInstance().getSession(); Request deleteRequest = (Request) session.load(Request.class, uId); if(deleteRequest != null){ session.delete(deleteRequest); System.out.println("massage: Already Deleted"); } - session.getTransaction().commit(); - session.close(); return DeleteResult.SUCCESS; } @@ -140,7 +121,6 @@ if(checkPassword(uId,pw)) { Token testtoken = getInstance().createToken(uId); //tokenを作成後値を返す -// System.out.println("true"); return testtoken;//testToken }else{ return null; @@ -148,11 +128,10 @@ } public static DeleteResult logout(String uId,String token) { - Session session = sessionFactory.openSession(); - session.beginTransaction(); + Session session = SessionManager.getInstance().getSession(); List usersList = session.createQuery( "from logout" ).list(); for ( User user : (List) usersList ) { - if (user.getuId() == uId) { + if (user.getuId().equals(uId)) { if (Users.getInstance().getUserByToken(token).uId == null) { return DeleteResult.FAILURE; } else { diff --git a/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java b/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java index 32a54bb..a117ab5 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java +++ b/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java @@ -1,5 +1,6 @@ package com.example.cosmos_serversb.resources; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.stereotype.Component; @@ -12,72 +13,70 @@ @Path("/users") public class UsersRest { + + static interface RemoveuIdAndUri { + @JsonIgnore String getUId(); + @JsonIgnore String getUri(); + } + @POST - public String createUsers( - @FormParam("name") String name, - @FormParam("pw") String pw, - @FormParam("iconImage") String iconImage) throws JsonProcessingException { + public String createUsers(@FormParam("name") String name, @FormParam("pw") String pw, @FormParam("iconImage") String iconImage) throws JsonProcessingException { + SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().createUser(name, pw, iconImage)); - + SessionManager.getInstance().closeSession(); return json; } @Path("/{uId}") @GET - public String getUsersInfo( - @PathParam("uId") String uId, - @QueryParam("token") String token) throws JsonProcessingException { + public String getUsersInfo(@PathParam("uId") String uId, @QueryParam("token") String token) throws JsonProcessingException { + SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().getUserById(uId)); + SessionManager.getInstance().closeSession(); return json; } @Path("/{uId}") @PUT - public String putUsersInfo( - @PathParam("uId") String uId, - @FormParam("token") String token, - @FormParam("name") String name, - @FormParam("pw") String pw, - @FormParam("iconImage") String iconImage) throws JsonProcessingException { + public String setUsersInfo(@PathParam("uId") String uId, @FormParam("token") String token, @FormParam("name") String name, @FormParam("pw") String pw, @FormParam("iconImage") String iconImage) throws JsonProcessingException { + SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().setUser(uId, name, pw, iconImage)); + SessionManager.getInstance().closeSession(); return json; } @Path("/{uId}") @DELETE - public String deleteUsersInfo( - @PathParam("uId") String uId, - @FormParam("token") String token) throws JsonProcessingException { + public String deleteUsersInfo(@PathParam("uId") String uId, @FormParam("token") String token) throws JsonProcessingException { + SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().deleteUser(uId)); - + SessionManager.getInstance().closeSession(); return json; } @Path("/{uId}/login") @POST - public String login( - @PathParam("uId") String uId, - @FormParam("pw") String pw) throws JsonProcessingException { + public String login(@PathParam("uId") String uId, @FormParam("pw") String pw) throws JsonProcessingException { + SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().login(uId,pw)); - + SessionManager.getInstance().closeSession(); return json; } @Path("/{uId}/logout") @DELETE - public String logout( - @PathParam("uId") String uId, - @FormParam("token") String token) throws JsonProcessingException { + public String logout(@PathParam("uId") String uId, @FormParam("token") String token) throws JsonProcessingException { + SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Users.getInstance().logout(uId,token)); - + SessionManager.getInstance().closeSession(); return json; } } diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml index 140e4fa..5a3e6ae 100644 --- a/src/main/resources/hibernate.cfg.xml +++ b/src/main/resources/hibernate.cfg.xml @@ -33,7 +33,7 @@ create - +