diff --git a/src/main/java/com/example/cosmos_serversb/jsons/GidUriJson.java b/src/main/java/com/example/cosmos_serversb/jsons/GidUriJson.java new file mode 100644 index 0000000..a7a9b12 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/jsons/GidUriJson.java @@ -0,0 +1,34 @@ +package com.example.cosmos_serversb.jsons; + +import com.example.cosmos_serversb.entities.Group; + +public class GidUriJson { + private String gId; + private String uri; + + public GidUriJson(){ + + } + + public GidUriJson(Group group){ + setgId(group.getgId()); + setUri(group.getUri()); + } + + private void setgId(String gId) { + this.gId = gId; + } + + public String getgId() { + return gId; + } + + private void setUri(String uri){ + this.uri = uri; + } + + public String getUri(){ + return uri; + } + +} diff --git a/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java b/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java index 2b2a534..3d53ca4 100644 --- a/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java +++ b/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java @@ -1,4 +1,3 @@ -//このクラスは仮です package com.example.cosmos_serversb.jsons; import com.example.cosmos_serversb.entities.Group; diff --git a/src/main/java/com/example/cosmos_serversb/jsons/GroupsMapJson.java b/src/main/java/com/example/cosmos_serversb/jsons/GroupsMapJson.java new file mode 100644 index 0000000..0398fbd --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/jsons/GroupsMapJson.java @@ -0,0 +1,31 @@ +//このクラスは仮です +package com.example.cosmos_serversb.jsons; + +import com.example.cosmos_serversb.entities.Group; +import com.example.cosmos_serversb.entities.User; + +import java.util.*; + +public class GroupsMapJson { + private ArrayList groups = new ArrayList<>(); + + public GroupsMapJson(User user){ + changeGroupsMap(user.getGroups()); + } + + + public ArrayList getGroups(){ + return groups; + } + + public void setGroups(ArrayList groups){ + this.groups = groups; + } + + private void changeGroupsMap(Set set){ + for ( Group group : (Set) set ) { + groups.add(new GidUriJson(group)); + } + } +} + diff --git a/src/main/java/com/example/cosmos_serversb/models/Groups.java b/src/main/java/com/example/cosmos_serversb/models/Groups.java index 5d58b66..db5cd0b 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -4,6 +4,7 @@ import javax.inject.Singleton; import com.example.cosmos_serversb.entities.*; +import com.example.cosmos_serversb.jsons.*; import org.hibernate.Session; import org.hibernate.SessionFactory; @@ -11,7 +12,7 @@ public class Groups { private static Groups theInstance = null; private static ArrayList groups = new ArrayList<>(); - private static HashMap testMap = new HashMap<>(); + //private static HashMap groupsMap = new HashMap<>(); private static SessionFactory sessionFactory; private static String baseURI = "http://nitta-lab-www.is.konan-u.ac.jp/"; @@ -39,20 +40,19 @@ String rId = UUID.randomUUID().toString(); return rId; } - - //getGroupsListByUidは現状うまく処理されない - public static HashMap getGroupsListByUid(String uId){ - return getTestHashMap(); + + public static GroupsMapJson getGroupsListByUid(String uId){ + return getGroupsHashMap(uId); } public static Group createGroup(String name, String uId){ //先にGidとuriの発行を行う String gId = getInstance().createGId(); String uri = baseURI + AppName + "/groups/" + gId; - createTestHashMap(gId, uri); Group testGroup = new Group(gId, uri, name, uId); Session session = SessionManager.getInstance().getSession(); session.save(testGroup); + return testGroup; } @@ -127,6 +127,7 @@ return DeleteResult.SUCCESS; } + /* //テスト用にHashMapの作成 public static void createTestHashMap(String gId, String uri){ testMap.put(gId, uri); @@ -135,11 +136,13 @@ for (String key : TestMap.keySet()) { System.out.println(key + " " + TestMap.get(key)); } - */ } + */ - public static HashMap getTestHashMap(){ - return testMap; + public static GroupsMapJson getGroupsHashMap(String uId){ + Session session = SessionManager.getInstance().getSession(); + GroupsMapJson groupsjson = new GroupsMapJson(session.load(User.class, uId)); + return groupsjson; } } 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 bc79d3c..b29ee81 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Users.java +++ b/src/main/java/com/example/cosmos_serversb/models/Users.java @@ -130,7 +130,7 @@ } } } - return null; + return null; } public static boolean checkToken(String uId, String token) { @@ -142,4 +142,4 @@ //与えられたパスワードとUserのパスワードを比較し結果を返す return true; } -} +} \ No newline at end of file diff --git a/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java b/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java index cdfd10e..70f42fd 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java +++ b/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java @@ -2,7 +2,7 @@ import com.example.cosmos_serversb.entities.Group; import com.example.cosmos_serversb.entities.User; -import com.example.cosmos_serversb.jsons.GroupJson; +import com.example.cosmos_serversb.jsons.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.hibernate.Session; @@ -19,7 +19,7 @@ public class GroupsRest { @GET public String getGroupsListByUid(@QueryParam("uId") String uId, @QueryParam("token") String token) throws JsonProcessingException{ - SessionManager.getInstance().getSession(); + Session session = SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Groups.getInstance().getGroupsListByUid(uId)); SessionManager.getInstance().closeSession(); @@ -40,7 +40,6 @@ SessionManager.getInstance().closeSession(); // String json = mapper.writeValueAsString(group);//このJSONには、グループを作成したユーザの情報が含まれていません。 - //以下が思うように動かない。 Session session = SessionManager.getInstance().getSession(); // Group editedGroup = (Group) session.load(Group.class, group.getgId());//editedGroupの値がおかしい? // String json = mapper.writeValueAsString(editedGroup);