diff --git a/src/main/java/org/example/tampoposerverdtram/JerseyConfig.java b/src/main/java/org/example/tampoposerverdtram/JerseyConfig.java index 32e53e1..b5e87ac 100644 --- a/src/main/java/org/example/tampoposerverdtram/JerseyConfig.java +++ b/src/main/java/org/example/tampoposerverdtram/JerseyConfig.java @@ -7,6 +7,6 @@ public class JerseyConfig extends ResourceConfig { public JerseyConfig() { - packages("com.example.dtramtest.resources"); + packages("org.example.tampoposerverdtram.resources"); } } \ No newline at end of file diff --git a/src/main/java/org/example/tampoposerverdtram/resources/Activities.java b/src/main/java/org/example/tampoposerverdtram/resources/Activities.java index a819d62..f79ed6e 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/Activities.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/Activities.java @@ -10,7 +10,7 @@ public Activity getActivity(int activityId) { return this.value.get(activityId); } - public void postActivity(String userId, String updatedTime, String text) { - this.value.add(new Activity(updatedTime, user)); + public void postActivity(User user, String userId, String updatedTime, String text) { + this.value.add(new Activity(userId, text, updatedTime, user)); } } \ No newline at end of file diff --git a/src/main/java/org/example/tampoposerverdtram/resources/Activity.java b/src/main/java/org/example/tampoposerverdtram/resources/Activity.java index 8182e4f..e8f296e 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/Activity.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/Activity.java @@ -1,20 +1,30 @@ package org.example.tampoposerverdtram.resources; +import com.fasterxml.jackson.annotation.JsonIgnore; + import java.util.*; public class Activity { + @JsonIgnore private User user; + private String text; private String updatedTime; public Map getValue() { Map temp_nil10 = new HashMap<>(); + temp_nil10.put("text",this.getText()); temp_nil10.put("updatedTime",this.getUpdatedTime()); return temp_nil10; } + public String getText() { + return this.text; + } public String getUpdatedTime() { return this.updatedTime; } - public Activity(String updatedTime, User user) { + public Activity(String userId, String text, String updatedTime, User user) { + this.text = text; this.updatedTime = updatedTime; this.user = user; + this.user.updateLastUpdatedTimeFromUpdatedTime(userId, userId, 0, this.updatedTime); } } \ No newline at end of file diff --git a/src/main/java/org/example/tampoposerverdtram/resources/ChatReqId.java b/src/main/java/org/example/tampoposerverdtram/resources/ChatReqId.java index d4d8454..1826702 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/ChatReqId.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/ChatReqId.java @@ -21,7 +21,7 @@ public void updateFromChatRequests(@FormParam("chatRequests") String chatRequests_json) throws JsonProcessingException { Map> chatRequests = new HashMap<>(); { - Map>i = new ObjectMapper().readValue(chatRequests_json, HashMap.class); + Map> i = new ObjectMapper().readValue(chatRequests_json, HashMap.class); chatRequests = i; } String temp_if32; diff --git a/src/main/java/org/example/tampoposerverdtram/resources/ChatRooms.java b/src/main/java/org/example/tampoposerverdtram/resources/ChatRooms.java index 420c607..bf0bd11 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/ChatRooms.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/ChatRooms.java @@ -36,10 +36,10 @@ public String getChatRoomValue(@PathParam("chatRoomId") String chatRoomId, @PathParam("userId") String userId) { return getChatRoom(chatRoomId,userId); } - @Path("/{userId}/{chatRoomId}") + @Path("/{chatRoomId}/{userId}") @PUT public void addChatRoomMessage(@PathParam("userId") String userId, @PathParam("chatRoomId") String chatRoomId, @FormParam("message") String message) { - this.value.put(chatRoomId,message); + this.value.get(chatRoomId).put(userId,message); } @POST public void postChatRoom(@FormParam("user1Id") String user1Id, @FormParam("user0Id") String user0Id) throws JsonProcessingException { @@ -56,8 +56,8 @@ Entity
entity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED); String result = client.target("http://localhost:8080").path("/roomId").request().post(entity, String.class); } - @POST - public void deleteChatRoomMember(@FormParam("userId") String userId, @FormParam("chatRoomId") String chatRoomId) throws JsonProcessingException { + @DELETE + public void deleteChatRoomMember(@FormParam("userId") String userId, @QueryParam("chatRoomId") String chatRoomId) throws JsonProcessingException { Map> temp_if34; if (this.value.get(chatRoomId).containsKey(userId)) { Map> temp_if33; diff --git a/src/main/java/org/example/tampoposerverdtram/resources/DeletedFriendPair.java b/src/main/java/org/example/tampoposerverdtram/resources/DeletedFriendPair.java index 8a53bce..3c02b27 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/DeletedFriendPair.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/DeletedFriendPair.java @@ -30,18 +30,15 @@ Form form = new Form(); form.param("deletedFriendPair", this.value.toString()); Entity entity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED); - String result = client.target("http://localhost:8080").path("/users/"+deletePair+"/friends").request().post(entity, String.class); + String result = client.target("http://localhost:8080").path("/users/"+user0Id+"/friends").request().post(entity, String.class); form = new Form(); form.param("deletedFriendPair", this.value.toString()); entity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED); - result = client.target("http://localhost:8080").path("/users/"+deletePair+"/friends").request().post(entity, String.class); + result = client.target("http://localhost:8080").path("/users/"+user1Id+"/friends").request().post(entity, String.class); form = new Form(); form.param("deletedFriendPair", this.value.toString()); entity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED); - result = client.target("http://localhost:8080").path("/friends").request().post(entity, String.class); - form = new Form(); - form.param("deletedFriendPair", this.value.toString()); - entity = Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED); - result = client.target("http://localhost:8080").path("/friends/pairs").request().post(entity, String.class); + result = client.target("http://localhost:8080").path("/friends/users").request().post(entity, String.class); + result = client.target("http://localhost:8080").path("/friends/pairs").queryParam("deletedFriendPair", this.value.toString()).request().delete(String.class); } } \ No newline at end of file diff --git a/src/main/java/org/example/tampoposerverdtram/resources/Friends.java b/src/main/java/org/example/tampoposerverdtram/resources/Friends.java index a338451..8354487 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/Friends.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/Friends.java @@ -13,7 +13,7 @@ public class Friends { private Pairs pairs = new Pairs(); private Client client = ClientBuilder.newClient(); - private Map> users; + private Map> users = new HashMap<>(); @Produces(MediaType.APPLICATION_JSON) @GET public Map getValue() { @@ -27,8 +27,8 @@ } @Path("/pairs") @DELETE - public void updateFromDeletedFriendPair(@FormParam("deletedFriendPair") Map deletedFriendPair) { - getPairs().updateFromDeletedFriendPair(deletedFriendPair); + public void updateFromDeletedFriendPair(@FormParam("deletedFriendPair") String deletedFriendPair_json) throws JsonProcessingException { + getPairs().updateFromDeletedFriendPair(deletedFriendPair_json); } @Path("/pairs") @Produces(MediaType.APPLICATION_JSON) @@ -39,7 +39,7 @@ @Path("/pairs") @POST public void postFriend(@FormParam("user1Id") String user1Id, @FormParam("user0Id") String user0Id) { - getPairs().postFriend(user1Id, userDB, id, user0Id); + getPairs().postFriend(this, user1Id, user0Id); } @Path("/pairs/{pid}") @Produces(MediaType.APPLICATION_JSON) @@ -47,68 +47,76 @@ public Map getPairValue(@PathParam("pid") String pid) { return getPairs().getPair(pid).getValue(); } - public void updateUsersFromDeletedFriendPair(Map deletedFriendPair) { + @Path("/users") + @POST + public void updateUsersFromDeletedFriendPair(@FormParam("deletedFriendPair") String deletedFriendPair_json) throws JsonProcessingException { + Map deletedFriendPair = new HashMap<>(); + { + Map i = new ObjectMapper().readValue(deletedFriendPair_json, HashMap.class); + deletedFriendPair = i; + } Map> temp_if26; - if ((this.users.get(deletedFriendPair.get("user0Id")).containsKey(deletedFriendPair.get("pairId"))&&this.users.get(deletePair.get("user1Id")).containsKey(deletedFriendPair.get("pairId")))) { + if ((this.users.get(deletedFriendPair.get("user0Id")).containsKey(deletedFriendPair.get("pairId"))&&this.users.get(deletedFriendPair.get("user1Id")).containsKey(deletedFriendPair.get("pairId")))) { + Map> temp_users = new HashMap<>(this.users); this.users.remove(deletedFriendPair.get("user0Id")); - this.users.get(deletedFriendPair.get("user0Id")).remove(deletedFriendPair.get("pairId")); - this.users.put(deletedFriendPair.get("user0Id"),this.users.get(deletedFriendPair.get("user0Id"))); - this.users.remove(deletePair.get("user1Id")); - this.users.get(deletePair.get("user1Id")).remove(deletedFriendPair.get("pairId")); - this.users.put(deletePair.get("user1Id"),this.users.get(deletePair.get("user1Id"))); + temp_users.get(deletedFriendPair.get("user0Id")).remove(deletedFriendPair.get("pairId")); + this.users.put((String) deletedFriendPair.get("user0Id"),temp_users.get(deletedFriendPair.get("user0Id"))); + this.users.remove(deletedFriendPair.get("user1Id")); + temp_users.get(deletedFriendPair.get("user1Id")).remove(deletedFriendPair.get("pairId")); + this.users.put((String) deletedFriendPair.get("user1Id"),temp_users.get(deletedFriendPair.get("user1Id"))); temp_if26 = this.users; } else { temp_if26 = this.users; - }this.users = temp_if26; + } + this.users = temp_if26; } - @Path("/users") - @POST - public void updateUsersFromDeletedFriendPair(@FormParam("deletedFriendPair") Map deletedFriendPair) { - this.updateUsersFromDeletedFriendPair(deletedFriendPair); - } - public void updateUsersFromPair(String pid, Map pair) { + public void updateUsersFromPair(String pid, Map pair) { Map> temp_if29; if ((this.users.containsKey(pair.get("user0Id"))&&this.users.containsKey(pair.get("user1Id")))) { + Map> temp_users = new HashMap<>(this.users); this.users.remove(pair.get("user0Id")); - this.users.get(pair.get("user0Id")).put(pid,pair.get("user1Id")); - this.users.put(pair.get("user0Id"),this.users.get(pair.get("user0Id"))); - this.users.remove(pair.get("user1Id")); - this.users.get(pair.get("user1Id")).put(pid,pair.get("user0Id")); - this.users.put(pair.get("user1Id"),this.users.get(pair.get("user1Id"))); + temp_users.get(pair.get("user0Id")).put(pid,(String) pair.get("user1Id")); + this.users.put((String) pair.get("user0Id"),temp_users.get(pair.get("user0Id"))); + this.users.remove(pair.get("user1Id")); + temp_users.get(pair.get("user1Id")).put(pid,(String) pair.get("user0Id")); + this.users.put((String) pair.get("user1Id"),temp_users.get(pair.get("user1Id"))); temp_if29 = this.users; } else { Map> temp_if28; - if (this.users.containsKey(pair.get("user0Id"))) { - this.users.remove(pair.get("user0Id")); - this.users.get(pair.get("user0Id")).put(pid,pair.get("user1Id")); - this.users.put(pair.get("user0Id"),this.users.get(pair.get("user0Id"))); - Map temp_nil13 = new HashMap(); - temp_nil13.put(pid,pair.get("user0Id")); - this.users.put(pair.get("user1Id"),temp_nil13); - temp_if28 = this.users; - } else { - Map> temp_if27; - if (this.users.containsKey(pair.get("user1Id"))) { - Map temp_nil14 = new HashMap(); - temp_nil14.put(pid,pair.get("user1Id")); - this.users.put(pair.get("user0Id"),temp_nil14); - this.users.remove(pair.get("user1Id")); - this.users.get(pair.get("user1Id")).put(pid,pair.get("user0Id")); - this.users.put(pair.get("user1Id"),this.users.get(pair.get("user1Id"))); - temp_if27 = this.users; - } else { - Map temp_nil15 = new HashMap(); - temp_nil15.put(pid,pair.get("user1Id")); - this.users.put(pair.get("user0Id"),temp_nil15); - Map temp_nil16 = new HashMap(); - temp_nil16.put(pid,pair.get("user0Id")); - this.users.put(pair.get("user1Id"),temp_nil16); - temp_if27 = this.users; - } - temp_if28 = temp_if27; - } + if (this.users.containsKey(pair.get("user0Id"))) { + Map> temp_users = new HashMap<>(this.users); + this.users.remove(pair.get("user0Id")); + temp_users.get(pair.get("user0Id")).put(pid,(String) pair.get("user1Id")); + this.users.put((String) pair.get("user0Id"),temp_users.get(pair.get("user0Id"))); + Map temp_nil13 = new HashMap(); + temp_nil13.put(pid,(String) pair.get("user0Id")); + this.users.put((String) pair.get("user1Id"),temp_nil13); + temp_if28 = this.users; + } else { + Map> temp_if27; + if (this.users.containsKey(pair.get("user1Id"))) { + Map> temp_users = new HashMap<>(this.users); + Map temp_nil14 = new HashMap(); + temp_nil14.put(pid,(String) pair.get("user1Id")); + this.users.put((String) pair.get("user0Id"),temp_nil14); + this.users.remove(pair.get("user1Id")); + temp_users.get(pair.get("user1Id")).put(pid,(String) pair.get("user0Id")); + this.users.put((String) pair.get("user1Id"),temp_users.get(pair.get("user1Id"))); + temp_if27 = this.users; + } else { + Map temp_nil15 = new HashMap(); + temp_nil15.put(pid,(String) pair.get("user1Id")); + this.users.put((String) pair.get("user0Id"),temp_nil15); + Map temp_nil16 = new HashMap(); + temp_nil16.put(pid,(String) pair.get("user0Id")); + this.users.put((String) pair.get("user1Id"),temp_nil16); + temp_if27 = this.users; + } + temp_if28 = temp_if27; + } temp_if29 = temp_if28; - }this.users = temp_if29; + } + this.users = temp_if29; } public Map> getUsers() { return this.users; @@ -119,7 +127,4 @@ public Map> getUsersValue() { return getUsers(); } - public Friends(Map> users) { - this.users = users; - } } \ No newline at end of file diff --git a/src/main/java/org/example/tampoposerverdtram/resources/Pair.java b/src/main/java/org/example/tampoposerverdtram/resources/Pair.java index eaafdc1..5022ec5 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/Pair.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/Pair.java @@ -1,8 +1,13 @@ package org.example.tampoposerverdtram.resources; +import com.fasterxml.jackson.annotation.JsonIgnore; + import java.util.*; public class Pair { + private String user0Id; + private String user1Id; + @JsonIgnore private Friends friends; public Map getValue() { Map temp_nil11 = new HashMap<>(); @@ -10,7 +15,16 @@ temp_nil11.put("user0Id",this.getUser0Id()); return temp_nil11; } - public Pair(Friends friends) { + private String getUser0Id() { + return user0Id; + } + private String getUser1Id() { + return user1Id; + } + public Pair(String pairId, String user0Id, String user1Id, Friends friends) { + this.user0Id = user0Id; + this.user1Id = user1Id; this.friends = friends; + this.friends.updateUsersFromPair(pairId, this.getValue()); } } \ No newline at end of file diff --git a/src/main/java/org/example/tampoposerverdtram/resources/PairId.java b/src/main/java/org/example/tampoposerverdtram/resources/PairId.java index 740a238..4078bdb 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/PairId.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/PairId.java @@ -18,7 +18,12 @@ return new String(this.value); } @POST - public void updateFromPair(@FormParam("pid") String pid, @FormParam("pair") Map pair) { + public void updateFromPair(@FormParam("pid") String pid, @FormParam("pair") String pair_json) throws JsonProcessingException { + Map pair = new HashMap<>(); + { + Map i = new ObjectMapper().readValue(pair_json, HashMap.class); + pair = i; + } this.value = (this.value+"1"); } } \ No newline at end of file diff --git a/src/main/java/org/example/tampoposerverdtram/resources/Pairs.java b/src/main/java/org/example/tampoposerverdtram/resources/Pairs.java index 14f7d45..b55f576 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/Pairs.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/Pairs.java @@ -1,5 +1,9 @@ package org.example.tampoposerverdtram.resources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.ws.rs.client.*; + import java.util.*; public class Pairs { @@ -11,7 +15,12 @@ public Pair getPair(String pid) { return this.value.get(pid); } - public void updateFromDeletedFriendPair(Map deletedFriendPair) { + public void updateFromDeletedFriendPair(String deletedFriendPair_json) throws JsonProcessingException { + Map deletedFriendPair = new HashMap<>(); + { + Map i = new ObjectMapper().readValue(deletedFriendPair_json, HashMap.class); + deletedFriendPair = i; + } Map temp_if39; if (this.value.containsKey(deletedFriendPair.get("pairId"))) { this.value.remove(deletedFriendPair.get("pairId")); @@ -21,7 +30,7 @@ } this.value = temp_if39; } - public void postFriend(String user1Id, Map> users, String pairId, String user0Id) { + public void postFriend(Friends friends, String user1Id, String user0Id) { String pairId = client.target("http://localhost:8080").path("/pairId").request().get(String.class); Map> users_json = client.target("http://localhost:8080").path("/users").request().get(HashMap.class); Map> users = new HashMap<>(); @@ -31,12 +40,12 @@ temp_if42 = this.value; } else { Map temp_if41; - if ((users.containsKey(user0Id)&&users.containsKey(user1Id))) { - this.value.put(pairId,new Pair(friends)); - temp_if41 = this.value; - } else { - temp_if41 = this.value; - } + if ((users.containsKey(user0Id)&&users.containsKey(user1Id))) { + this.value.put(pairId,new Pair(pairId, user0Id, user1Id, friends)); + temp_if41 = this.value; + } else { + temp_if41 = this.value; + } temp_if42 = temp_if41; } this.value = temp_if42; diff --git a/src/main/java/org/example/tampoposerverdtram/resources/User.java b/src/main/java/org/example/tampoposerverdtram/resources/User.java index cb468de..2b51688 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/User.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/User.java @@ -1,5 +1,8 @@ package org.example.tampoposerverdtram.resources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + import java.util.*; public class User { @@ -38,8 +41,13 @@ public void updateEmail(String userId, String email) { this.email = email; } - public void updateFriendsFromDeletedFriendPair(String self, Map deletedFriendPair) { - if (self.equals(deletePair.get("user1Id"))) { + public void updateFriendsFromDeletedFriendPair(String self, String deletedFriendPair_json) throws JsonProcessingException { + Map deletedFriendPair = new HashMap<>(); + { + Map i = new ObjectMapper().readValue(deletedFriendPair_json, HashMap.class); + deletedFriendPair = i; + } + if (self.equals(deletedFriendPair.get("user1Id"))) { Map temp_if31; if (this.friends.containsKey(deletedFriendPair.get("pairId"))) { this.friends.remove(deletedFriendPair.get("pairId")); @@ -48,50 +56,28 @@ temp_if31 = this.friends; }this.friends = temp_if31; } - if (self.equals(deletePair.get("user1Id"))) { + if (self.equals(deletedFriendPair.get("user1Id"))) { Map temp_if30; if (this.friends.containsKey(deletedFriendPair.get("pairId"))) { this.friends.remove(deletedFriendPair.get("pairId")); temp_if30 = this.friends; } else { temp_if30 = this.friends; - }this.friends = temp_if30; + } + this.friends = temp_if30; } } - public void updateFriendsFromDeletedFriendPair(String self, Map deletedFriendPair) { - if (self.equals(deletePair.get("user1Id"))) { - Map temp_if31; - if (this.friends.containsKey(deletedFriendPair.get("pairId"))) { - this.friends.remove(deletedFriendPair.get("pairId")); - temp_if31 = this.friends; - } else { - temp_if31 = this.friends; - }this.friends = temp_if31; + public void updateFriendsFromPair(String self, String pid, String pair_json) throws JsonProcessingException { + Map pair = new HashMap<>(); + { + Map i = new ObjectMapper().readValue(pair_json, HashMap.class); + pair = i; } - if (self.equals(deletePair.get("user1Id"))) { - Map temp_if30; - if (this.friends.containsKey(deletedFriendPair.get("pairId"))) { - this.friends.remove(deletedFriendPair.get("pairId")); - temp_if30 = this.friends; - } else { - temp_if30 = this.friends; - }this.friends = temp_if30; - } - } - public void updateFriendsFromPair(String self, String pid, Map pair) { - if (self.equals(pair.get("user1Id"))) { - this.friends.put(pid,null); + if (self.equals(pair.get("user0Id"))) { + this.friends.put(pid,(String) pair.get("user1Id")); } if (self.equals(pair.get("user1Id"))) { - this.friends.put(pid,null); - } - } - public void updateFriendsFromPair(String self, String pid, Map pair) { - if (self.equals(pair.get("user1Id"))) { - this.friends.put(pid,null); - } - if (self.equals(pair.get("user1Id"))) { - this.friends.put(pid,null); + this.friends.put(pid,(String) pair.get("user0Id")); } } public Map getFriends() { diff --git a/src/main/java/org/example/tampoposerverdtram/resources/Users.java b/src/main/java/org/example/tampoposerverdtram/resources/Users.java index 7ee7e4c..5dd0601 100644 --- a/src/main/java/org/example/tampoposerverdtram/resources/Users.java +++ b/src/main/java/org/example/tampoposerverdtram/resources/Users.java @@ -91,27 +91,17 @@ @Path("/{userId}/activities") @POST public void postActivity(@PathParam("userId") String userId, @FormParam("updatedTime") String updatedTime, @FormParam("text") String text) { - getUser(userId).getActivities().postActivity(userId, updatedTime, text); + getUser(userId).getActivities().postActivity(getUser(userId), userId, updatedTime, text); } @Path("/{user1Id}/friends") @DELETE - public void updateFriendsFromDeletedFriendPair(@PathParam("user1Id") String user1Id, @FormParam("deletedFriendPair") Map deletedFriendPair) { - getUser(user1Id).updateFriendsFromDeletedFriendPair(user1Id, deletedFriendPair); - } - @Path("/{user1Id}/friends") - @DELETE - public void updateFriendsFromDeletedFriendPair(@PathParam("user1Id") String user1Id, @FormParam("deletedFriendPair") Map deletedFriendPair) { - getUser(user1Id).updateFriendsFromDeletedFriendPair(user1Id, deletedFriendPair); + public void updateFriendsFromDeletedFriendPair(@PathParam("user1Id") String user1Id, @FormParam("deletedFriendPair") String deletedFriendPair_json) throws JsonProcessingException { + getUser(user1Id).updateFriendsFromDeletedFriendPair(user1Id, deletedFriendPair_json); } @Path("/{user1Id}/friends") @POST - public void updateFriendsFromPair(@PathParam("user1Id") String user1Id, @FormParam("pid") String pid, @FormParam("pair") Map pair) { - getUser(user1Id).updateFriendsFromPair(user1Id, pid, pair); - } - @Path("/{user1Id}/friends") - @POST - public void updateFriendsFromPair(@PathParam("user1Id") String user1Id, @FormParam("pid") String pid, @FormParam("pair") Map pair) { - getUser(user1Id).updateFriendsFromPair(user1Id, pid, pair); + public void updateFriendsFromPair(@PathParam("user1Id") String user1Id, @FormParam("pid") String pid, @FormParam("pair") String pair_json) throws JsonProcessingException { + getUser(user1Id).updateFriendsFromPair(user1Id, pid, pair_json); } @Path("/{user1Id}/friends") @Produces(MediaType.APPLICATION_JSON)