Created
March 16, 2016 22:51
-
-
Save vikdenic/aa4d3d53524d34018110 to your computer and use it in GitHub Desktop.
Friendship afterSave business logic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @Asset( "Friendship" ) | |
| public class FriendshipTableEventHandler extends com.backendless.servercode.extension.PersistenceExtender<Friendship> | |
| { | |
| @Override | |
| public void afterCreate( RunnerContext context, Friendship friendship, ExecutionResult<Friendship> result ) throws Exception | |
| { | |
| if (!friendship.getGroup()) { | |
| BackendlessUser user = friendship.getMembers().get(0); | |
| BackendlessUser friend = friendship.getMembers().get(1); | |
| updateFriendsForUser(user, friend); | |
| // updateFriendsForUser(friend, user); | |
| } | |
| } | |
| public void updateFriendsForUser(BackendlessUser user, BackendlessUser friend) { | |
| Object[] obj = (Object[]) user.getProperty("friends"); | |
| if (obj.length > 0) { | |
| BackendlessUser[] currentFriends = (BackendlessUser[]) obj; | |
| ArrayList<BackendlessUser> updatedList = new ArrayList<BackendlessUser>(); | |
| updatedList.addAll(Arrays.asList(currentFriends)); | |
| updatedList.add(friend); | |
| user.setProperty("friends", updatedList); | |
| Backendless.UserService.update(user); | |
| } else { | |
| ArrayList<BackendlessUser> newList = new ArrayList<BackendlessUser>(); | |
| newList.add(friend); | |
| user.setProperty("friends", newList); | |
| Backendless.UserService.update(user); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment