diff --git a/src/main/java/com/example/cosmos_serversb/entities/GetUser.java b/src/main/java/com/example/cosmos_serversb/entities/GetUser.java new file mode 100644 index 0000000..4aabae0 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/entities/GetUser.java @@ -0,0 +1,29 @@ +package com.example.cosmos_serversb.entities; + +public class GetUser { + public String name,iconUri; + public GetUser(){ + + } + + public GetUser(String name, String iconUri){ + setname(name); + seticonUri(iconUri); + } + + public void seticonUri(String iconUri) { + this.iconUri = iconUri; + } + + public String geticonUri() { + return iconUri; + } + + public void setname(String name) { + this.name = name; + } + + public String getame() { + return name; + } +} diff --git a/src/main/java/com/example/cosmos_serversb/entities/PutUser.java b/src/main/java/com/example/cosmos_serversb/entities/PutUser.java new file mode 100644 index 0000000..a492abf --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/entities/PutUser.java @@ -0,0 +1,27 @@ +package com.example.cosmos_serversb.entities; + +public class PutUser { + public String uri,uId; + public PutUser(){ + + } + + public PutUser(String uri, String uId){ + setUri(uri); + setuId(uId); + } + + public void setuId(String uId) { + this.uId = uId; + } + + public String getuId() { + return uId; + } + + public void setUri(String uri) { this.uri = uri; } + + public String getUri() { + return uri; + } +} 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 18a6cd2..ce99bd2 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Users.java +++ b/src/main/java/com/example/cosmos_serversb/models/Users.java @@ -1,5 +1,6 @@ package com.example.cosmos_serversb.models; +import java.util.List; import java.util.UUID; import javax.inject.Singleton; @@ -10,13 +11,13 @@ import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; - @Singleton public class Users { private static Users theInstance = null; private static SessionFactory sessionFactory; private static String baseURI = "http://nitta-lab-www.is.konan-u.ac.jp/"; private static String AppName = "cosmos"; + public static void setUp() { // A SessionFactory is set up once for an application! final StandardServiceRegistry registry = new StandardServiceRegistryBuilder() @@ -71,36 +72,96 @@ return uId; } - public static User createUser(String name, String iconImage) { + public static User createUser(String name, String pw, String iconImage) { String uId = getInstance().createUId(); String uri = baseURI + AppName +"/users/" +uId; - User testUser = new User("test", uId, uri, "http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); + Session session = sessionFactory.openSession(); session.beginTransaction(); + //名前、uId、ユーザーuri、パスワード、アイコンイメージを保存 + User testUser = new User(name, uId, uri, iconImage); session.save(testUser); + //出力 +// 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(); +//// testUser.token.add(getInstance().createToken(testUser.uId)); +// testUser.token.add(getInstance().createToken(testUser.uId)); return testUser; } - public static User setUser(String uId, String name, String pw, String iconImage) { - User testUser = new User("test", getInstance().createUId(), "http://test.com", "http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); - return testUser; + public static PutUser setUser(String uId, String name, String pw, String iconImage) { + Session session = sessionFactory.openSession(); + session.beginTransaction(); + List usersList = session.createQuery( "from setUser" ).list(); + for ( User user : (List) usersList ) { + if(user.getuId() == uId){ + user.setName(name); + if(iconImage != null) { + user.setIconUri(iconImage); + } + session.update(user); + break; + } + } + //ここの2行でUser.javaからUriとuIdを参照 + User findUser = (User) session.load(User.class, uId); + PutUser putUser = new PutUser(findUser.getUri(),findUser.getuId()); + session.getTransaction().commit(); + session.close(); +// testUser.token.add(getInstance().createToken(testUser.uId)); +// testUser.token.add(getInstance().createToken(testUser.uId)); + //表示するのはUriとuIdのみ + return putUser; } - public static User getUserById(String uId) { + public static GetUser getUserById(String uId) { //与えられたuIdのUser情報を返す - User testUser = new User("test", getInstance().createUId(), "http://test.com", "http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); - return testUser; + Session session = sessionFactory.openSession(); + session.beginTransaction(); + List usersList = session.createQuery( "from getUser" ).list(); + //uIdを比較し、一致した場合はNameとiconUriを返す。一致しない場合はbreak + for ( User user : (List) usersList ) { + if (user.getuId() == uId) { + //ここの2行でUser.javaからNameとIconUriを参照 + User findUser = (User) session.load(User.class, uId); + GetUser getUser = new GetUser(findUser.getName(),findUser.getIconUri()); + return getUser; +// System.out.println( "name: " + user.getName() + "iconUri : " + user.getIconUri());] + }else{ + break; + } + } + session.getTransaction().commit(); + session.close(); +// testUser.token.add(getInstance().createToken(testUser.uId)); +// testUser.token.add(getInstance().createToken(testUser.uId)); + //一致しない場合は返す必要がないのでnull + return null; } public static User getUserByToken(String token) { //与えられたTokenに紐づくUser情報を返す - User testUser = new User("test", getInstance().createUId(), "http://test.com","http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); + User testUser = new User("test", getInstance().createUId(), "http://test.com", "http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); +// testUser.token.add(getInstance().createToken(testUser.uId)); +// testUser.token.add(getInstance().createToken(testUser.uId)); return testUser; } public static DeleteResult deleteUser(String uId) { + Session session = sessionFactory.openSession(); + session = sessionFactory.openSession(); + session.beginTransaction(); + 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; } diff --git a/src/main/java/com/example/cosmos_serversb/models/UsersMain.java b/src/main/java/com/example/cosmos_serversb/models/UsersMain.java new file mode 100644 index 0000000..375ae66 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/models/UsersMain.java @@ -0,0 +1,12 @@ +package com.example.cosmos_serversb.models; + +//このメインクラスを実行すると、Hibernateのテストが行えます。 +public class UsersMain { + public static void main(String args[]){ + Users.setUp(); + Users.createUser("test1","test1","http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); + Users.setUser("1234","test3","test3","http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); + Users.getUserById("1234"); + Users.tearDown(); + } +} 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 497921f..27a3ae6 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java +++ b/src/main/java/com/example/cosmos_serversb/resources/UsersRest.java @@ -18,7 +18,7 @@ @FormParam("pw") String pw, @FormParam("iconImage") String iconImage) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); - String json = mapper.writeValueAsString(Users.getInstance().createUser(name, iconImage)); + String json = mapper.writeValueAsString(Users.getInstance().createUser(name, pw, iconImage)); return json; } diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml index 5a3e6ae..ae8462f 100644 --- a/src/main/resources/hibernate.cfg.xml +++ b/src/main/resources/hibernate.cfg.xml @@ -34,9 +34,9 @@ create + - diff --git a/src/test/java/hibernateTest/models/UsersMain.java b/src/test/java/hibernateTest/models/UsersMain.java index 3a2b42f..581fb2c 100644 --- a/src/test/java/hibernateTest/models/UsersMain.java +++ b/src/test/java/hibernateTest/models/UsersMain.java @@ -8,6 +8,7 @@ Users.setUp(); Users.createUser("test1","test1","http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); Users.createUser("test2","test2","http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); + Users.setUser("1234","test3","test3","http://localhost:8080/iconImage/b4bb7db0-cc0c-4ee1-816f-8304add12da8.jpg"); Users.getUserById("testId"); Users.tearDown(); }