diff --git a/src/main/java/com/example/cosmos_serversb/jsons/MembersJson.java b/src/main/java/com/example/cosmos_serversb/jsons/MembersJson.java new file mode 100644 index 0000000..5ef9da5 --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/jsons/MembersJson.java @@ -0,0 +1,31 @@ +package com.example.cosmos_serversb.jsons; + +import java.util.HashSet; +import java.util.Set; + +import com.example.cosmos_serversb.entities.*; + + +public class MembersJson { + private Set member = new HashSet<>(); + + public MembersJson(){ + + } + + public MembersJson(Group group){ + setMember(group.getMembers()); + } + + public MembersJson(Set set){ + setMember(set); + } + + private void setMember(Set member) { + this.member = member; + } + + public Set getMember() { + return member; + } +} 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 178e40b..c3be3e5 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -9,6 +9,8 @@ import org.hibernate.Session; import org.hibernate.SessionFactory; +import static com.example.cosmos_serversb.models.Users.getUserById; + @Singleton public class Groups { private static Groups theInstance = null; @@ -47,6 +49,11 @@ } public static Group createGroup(String name, String uId){ + User user = getUserById(uId); + if(user == null){ + return null; //存在しないユーザがグループを作成しようとした。 + } + //先にGidとuriの発行を行う String gId = getInstance().createGId(); String uri = baseURI + AppName + "/groups/" + gId; @@ -78,7 +85,13 @@ return DeleteResult.SUCCESS; } - public static HashMap getMembersListByGid(String gId){ + public static MembersJson getMembersListByGid(String gId){ + Session session = SessionManager.getInstance().getSession(); + Group editGroup = session.get(Group.class, gId); + if(editGroup != null){ + MembersJson members = new MembersJson(editGroup); + return members; + } return null; }