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 9557209..6f15cb9 100644 --- a/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java +++ b/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java @@ -12,7 +12,7 @@ public class GroupJson { private String gId; private String uri, name; - private Map members = new HashMap<>();//HashSetでいいのかな? + private Map members = new HashMap<>(); private Map requests = new HashMap<>(); public GroupJson(Group group){ @@ -82,9 +82,5 @@ requests.put(request.getrId(), getUri()); } } - - - - } 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..532f336 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/jsons/GroupsMapJson.java @@ -0,0 +1,22 @@ +//このクラスは仮です +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 Map groups = new HashMap<>(); + + public GroupsMapJson(User user){ + changeGroupsMap(user.getGroups()); + } + + private void changeGroupsMap(Set set){ + for ( Group group : (Set) set ) { + groups.put(group.getgId(), group.getUri()); + } + } +} + 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 9b54848..78bc89c 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -4,8 +4,7 @@ import javax.inject.Singleton; import com.example.cosmos_serversb.entities.*; -import com.fasterxml.jackson.databind.util.JSONPObject; -import org.json.*; +import com.example.cosmos_serversb.jsons.*; import org.hibernate.Session; import org.hibernate.SessionFactory; @@ -13,7 +12,7 @@ public class Groups { private static Groups theInstance = null; private static ArrayList groups = new ArrayList<>(); - private static HashMap groupsMap = 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/"; @@ -43,7 +42,7 @@ } //getGroupsListByUidは現状うまく処理されない - public static HashMap getGroupsListByUid(String uId){ + public static GroupsMapJson getGroupsListByUid(String uId){ return getGroupsHashMap(uId); } @@ -141,13 +140,10 @@ } */ - public static HashMap getGroupsHashMap(String uId){ + public static GroupsMapJson getGroupsHashMap(String uId){ Session session = SessionManager.getInstance().getSession(); - User user = (User) session.load(User.class, uId); - for(Group group : user.groups){ - groupsMap.put(group.getgId(), group.getUri()); - } - return groupsMap; + GroupsMapJson groupsjson = new GroupsMapJson(session.load(User.class, uId)); + return groupsjson; } } 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 ee2b022..b398f67 100644 --- a/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java +++ b/src/main/java/com/example/cosmos_serversb/resources/GroupsRest.java @@ -5,7 +5,6 @@ import com.example.cosmos_serversb.jsons.GroupJson; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.util.JSONPObject; import org.hibernate.Session; import org.springframework.stereotype.Component; @@ -19,7 +18,7 @@ @Path("/groups") public class GroupsRest { @GET - public String getGroupsListByUid(@QueryParam("uId") String uId, @QueryParam("token") String token) throws JsonProcessingException{ + public String getGroupsListByUid(@QueryParam("uId") String uId) throws JsonProcessingException{ SessionManager.getInstance().getSession(); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(Groups.getInstance().getGroupsListByUid(uId)); @@ -41,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);