Skip to content

Instantly share code, notes, and snippets.

@vikdenic
Created March 16, 2016 22:51
Show Gist options
  • Select an option

  • Save vikdenic/aa4d3d53524d34018110 to your computer and use it in GitHub Desktop.

Select an option

Save vikdenic/aa4d3d53524d34018110 to your computer and use it in GitHub Desktop.
Friendship afterSave business logic
@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