Example #1
0
  @GET
  @Path("{userId}/friends")
  public Response getFriends(
      @PathParam("userId") String userId, @QueryParam(LOGGED_IN_USER_QPARAM) String currentUser) {
    List<User> friends = userDao.getFriends(userId, currentUser);
    List<com.campusconnect.neo4j.types.web.User> returnFriends = new ArrayList<>();
    for (User friend : friends) {
      returnFriends.add(Neo4jToWebMapper.mapUserNeo4jToWeb(friend));
    }
    FriendsPage friendsPage = new FriendsPage(0, returnFriends.size(), returnFriends);

    Friends allFriends = new Friends();
    allFriends.setFriends(friendsPage);

    if (currentUser != null && !currentUser.equals(userId)) {
      List<User> mutualFriends = userDao.getMutualFriends(currentUser, userId);
      List<com.campusconnect.neo4j.types.web.User> returnMutualFriends = new ArrayList<>();
      for (User friend : mutualFriends) {
        returnMutualFriends.add(Neo4jToWebMapper.mapUserNeo4jToWeb(friend));
      }
      FriendsPage mutualFriendsPage =
          new FriendsPage(0, returnMutualFriends.size(), returnMutualFriends);
      allFriends.setMutualFriends(mutualFriendsPage);
    }
    return Response.ok().entity(allFriends).build();
  }