diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java')
-rw-r--r-- | plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java new file mode 100644 index 0000000000..b92466e6e2 --- /dev/null +++ b/plugins/org.eclipse.net4j.buddies.server/src/org/eclipse/net4j/buddies/internal/server/protocol/ServerCollaborationLeftIndication.java @@ -0,0 +1,41 @@ +package org.eclipse.net4j.buddies.internal.server.protocol; + +import org.eclipse.net4j.buddies.internal.protocol.Collaboration; +import org.eclipse.net4j.buddies.internal.protocol.CollaborationLeftIndication; +import org.eclipse.net4j.buddies.internal.protocol.CollaborationLeftNotification; +import org.eclipse.net4j.buddies.protocol.IBuddy; +import org.eclipse.net4j.buddies.server.IBuddyAdmin; +import org.eclipse.net4j.util.ObjectUtil; +import org.eclipse.net4j.util.WrappedException; + +/** + * @author Eike Stepper + */ +public class ServerCollaborationLeftIndication extends CollaborationLeftIndication +{ + public ServerCollaborationLeftIndication() + { + super(IBuddyAdmin.INSTANCE); + } + + @Override + protected void collaborationLeft(Collaboration collaboration, String userID) + { + for (IBuddy buddy : collaboration.getBuddies()) + { + if (!ObjectUtil.equals(buddy.getUserID(), userID)) + { + try + { + new CollaborationLeftNotification(buddy.getSession().getChannel(), collaboration.getID(), userID).send(); + } + catch (Exception ex) + { + throw WrappedException.wrap(ex); + } + } + } + + super.collaborationLeft(collaboration, userID); + } +}
\ No newline at end of file |