diff --git a/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java b/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java index 4fecb8d..8a90aed 100644 --- a/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java @@ -35,21 +35,21 @@ @Path("/{uid}/friends/{fid}") public void putFriend(@PathParam("uid") String uid, @PathParam("fid") String fid) { AccountManager accountManager = AccountManager.getInstance(); - Account fromAc = accountManager.getAccount(uid); //uidに紐づいたAccountのインスタンスを取得 - Account toAc = accountManager.getAccount(fid); //fidに紐づいたAccountのインスタンスを取得 - FriendManager fromFriendManager = fromAc.getFriendManager(); //uidのAccountのインスタンスのFriendManagerを取得 - FriendManager toAcFriendManager = toAc.getFriendManager(); //fidのAccountのインスタンスのFriendManagerを取得 + Account myAc = accountManager.getAccount(uid); //uidに紐づいたAccountのインスタンスを取得 + Account otherAc = accountManager.getAccount(fid); //fidに紐づいたAccountのインスタンスを取得 + FriendManager myFriendManager = myAc.getFriendManager(); //uidのAccountのインスタンスのFriendManagerを取得 + FriendManager otherAcFriendManager = otherAc.getFriendManager(); //fidのAccountのインスタンスのFriendManagerを取得 - ArrayList requesting = toAcFriendManager.getRequesting(); //フレンド申請の送り主のフレンド申請中のArrayList - ArrayList requested = fromFriendManager.getRequested(); //自身のフレンド申請されているArrayList + ArrayList otherRequesting = otherAcFriendManager.getRequesting(); //フレンド申請の送り主のフレンド申請中のArrayList + ArrayList myRequested = myFriendManager.getRequested(); //自身のフレンド申請されているArrayList // 自身がフレンド申請を受け取っている、かつ相手がフレンド申請をしているとき実行 - if (requested.contains(fid) && requesting.contains(uid)) { - fromFriendManager.addFriend(toAc); - fromFriendManager.removeRequested(toAc); + if (myRequested.contains(otherAc) && otherRequesting.contains(myAc)) { + myFriendManager.addFriend(otherAc); + myFriendManager.removeRequested(otherAc); - toAcFriendManager.addFriend(fromAc); - toAcFriendManager.removeRequesting(fromAc); + otherAcFriendManager.addFriend(myAc); + otherAcFriendManager.removeRequesting(myAc); } else { var response = Response.status(Response.Status.NO_CONTENT); response.status(400).entity("リクエストが不正である"); @@ -61,17 +61,17 @@ @Path("/{uid}/friends/{fid}") public void deleteFriend(@PathParam("uid") String uid, @PathParam("fid") String fid) { AccountManager accountManager = AccountManager.getInstance(); - Account fromAc = accountManager.getAccount(uid); //uidに紐づいたAccountのインスタンスを取得 - Account toAc = accountManager.getAccount(fid); //fidに紐づいたAccountのインスタンスを取得 - FriendManager fromFriendManager = fromAc.getFriendManager(); //uidのAccountのインスタンスのFriendManagerを取得 - FriendManager toFriendManager = toAc.getFriendManager(); //fidのAccountのインスタンスのFriendManagerを取得 + Account myAc = accountManager.getAccount(uid); //uidに紐づいたAccountのインスタンスを取得 + Account otherAc = accountManager.getAccount(fid); //fidに紐づいたAccountのインスタンスを取得 + FriendManager myFriendManager = myAc.getFriendManager(); //uidのAccountのインスタンスのFriendManagerを取得 + FriendManager otherFriendManager = otherAc.getFriendManager(); //fidのAccountのインスタンスのFriendManagerを取得 - HashSet fromFriends = fromFriendManager.getFriends(); //uidのAccountのfriendsを取得 - HashSet toFriends = toFriendManager.getFriends(); //fidのAccountのfriendsを取得 + HashSet myFriends = myFriendManager.getFriends(); //uidのAccountのfriendsを取得 + HashSet otherFriends = otherFriendManager.getFriends(); //fidのAccountのfriendsを取得 - if (fromFriends.contains(toAc) || toFriends.contains(fromAc)) { - fromFriends.remove(toAc); - toFriends.remove(fromAc); + if (myFriends.contains(otherAc) || otherFriends.contains(myAc)) { + myFriends.remove(otherAc); + otherFriends.remove(myAc); } else { var response = Response.status(Response.Status.NO_CONTENT); response.status(400).entity("リクエストが不正である");