diff --git a/src/main/java/com/example/cosmos_serversb/entities/Group.java b/src/main/java/com/example/cosmos_serversb/entities/Group.java index 47ac114..7b34aaa 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/Group.java +++ b/src/main/java/com/example/cosmos_serversb/entities/Group.java @@ -13,7 +13,7 @@ public class Group { private String gId; private String uri, name; - private Set members = new HashSet<>();//HashSetでいいのかな? + private Set members = new HashSet<>(); private Set requests; public Group(){ @@ -88,6 +88,7 @@ public void addMember(String uId){ User user = Users.getInstance().getUserById(uId); if(user != null) { + //userが既に登録されている場合の例外処理は未実装。 members.add(user); user.addGroups(this); Session session = SessionManager.getInstance().getSession(); diff --git a/src/main/java/com/example/cosmos_serversb/entities/Request.java b/src/main/java/com/example/cosmos_serversb/entities/Request.java index 4da04c6..4cbe7ae 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/Request.java +++ b/src/main/java/com/example/cosmos_serversb/entities/Request.java @@ -1,9 +1,11 @@ -//このクラスは仮です package com.example.cosmos_serversb.entities; +import java.util.Date; + public class Request { private String rId; - private String uri, date, IssuerUid, product, deadline; + private String uri, IssuerUid, product; + private Date date, deadline; private int location;// YahooローカルサーチAPIの業種コード private boolean done = false; @@ -11,7 +13,7 @@ } - public Request(String rId, String uri, String date, String IssuerUid, String product, String deadline, int location){ + public Request(String rId, String uri, Date date, String IssuerUid, String product, Date deadline, int location){ setrId(rId); setUri(uri); setDate(date); @@ -30,7 +32,6 @@ return rId; } - private void setUri(String uri){ this.uri = uri; } @@ -39,11 +40,11 @@ return uri; } - private void setDate(String date){ + private void setDate(Date date){ this.date = date; } - public String getDate() { + public Date getDate() { return date; } @@ -63,11 +64,11 @@ this.product = product; } - public String getDeadline() { + public Date getDeadline() { return deadline; } - public void setDeadline(String deadline) { + public void setDeadline(Date deadline) { this.deadline = deadline; } @@ -90,4 +91,4 @@ public void setDone(boolean done) { this.done = done; } -} +} \ No newline at end of file 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 57de93e..c638bdd 100644 --- a/src/main/java/com/example/cosmos_serversb/entities/User.java +++ b/src/main/java/com/example/cosmos_serversb/entities/User.java @@ -111,8 +111,6 @@ } public void addGroups(Group group){ - //テスト用 - //Group group = Groups.getInstance().getGroupByGid(gId); groups.add(group); } } \ No newline at end of file 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 3d53ca4..870a87e 100644 --- a/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java +++ b/src/main/java/com/example/cosmos_serversb/jsons/GroupJson.java @@ -63,7 +63,7 @@ this.members = members; } - public ArrayList getRequest() { + public ArrayList getRequests() { return requests; } @@ -84,4 +84,3 @@ } } - diff --git a/src/main/java/com/example/cosmos_serversb/jsons/UsersMapJson.java b/src/main/java/com/example/cosmos_serversb/jsons/UsersMapJson.java new file mode 100644 index 0000000..8bd05ed --- /dev/null +++ b/src/main/java/com/example/cosmos_serversb/jsons/UsersMapJson.java @@ -0,0 +1,29 @@ +package com.example.cosmos_serversb.jsons; + +import com.example.cosmos_serversb.entities.Group; +import com.example.cosmos_serversb.entities.User; + +import java.util.ArrayList; +import java.util.Set; + +public class UsersMapJson { + private ArrayList users = new ArrayList<>(); + + public UsersMapJson(Group group) { + changeUsersMap(group.getMembers()); + } + + public ArrayList getUsers() { + return users; + } + + public void setUsers(ArrayList users) { + this.users = users; + } + + private void changeUsersMap(Set set) { + for (User user : (Set) set) { + users.add(new UidUriJson(user)); + } + } +} \ No newline at end of file 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 db5cd0b..fcaf8c4 100644 --- a/src/main/java/com/example/cosmos_serversb/models/Groups.java +++ b/src/main/java/com/example/cosmos_serversb/models/Groups.java @@ -2,6 +2,7 @@ import java.util.*; import javax.inject.Singleton; +import java.util.Date; import com.example.cosmos_serversb.entities.*; import com.example.cosmos_serversb.jsons.*; @@ -40,7 +41,7 @@ String rId = UUID.randomUUID().toString(); return rId; } - + public static GroupsMapJson getGroupsListByUid(String uId){ return getGroupsHashMap(uId); } @@ -83,14 +84,19 @@ return null; } - public static HashMap addMember(String gId, String uId){ + public static UsersMapJson addMember(String gId, String uId){ Session session = SessionManager.getInstance().getSession(); Group editGroup = session.load(Group.class, gId); if(editGroup != null) { editGroup.addMember(uId); session.update(editGroup); + UsersMapJson usersMapJson = new UsersMapJson(editGroup); + return usersMapJson; + }else{ + //例外処理 + return null; } - return null;//HashMapへの変更が必要 + } public static HashMap deleteMember(String gId, String uId){ @@ -105,8 +111,7 @@ //テスト用 String rId = getInstance().createRId(); String uri = baseURI + AppName + "/groups/" + gId + "/requests/" + rId; - Request testRequest = new Request(rId, uri, "1999/01/01/15:00:00", - uId, product, "1999/01/01/15:00:00", 999); + Request testRequest = new Request(rId, uri, new Date(1999,01,01), uId, product, new Date(1999,12,01), 999); return testRequest; } @@ -117,8 +122,7 @@ public static Request updateRequest(String gId, String rId, String uId, String product, String deadline, int location, boolean done){ //テスト用 - Request testRequest = new Request(rId, "http://test.com", "1999/01/01/15:00:00", - uId, product, "1999/01/01/15:00:00", 999); + Request testRequest = new Request(rId, "http://test.com", new Date(1999,01,01), uId, product, new Date(1999,12,01), 999); return testRequest; }