diff options
author | slewis | 2007-08-05 19:13:49 +0000 |
---|---|---|
committer | slewis | 2007-08-05 19:13:49 +0000 |
commit | f221dbae46156b731134baacdef92324ccbd9493 (patch) | |
tree | 8890e16e40e666096d53ad6d2de4c3f9dfff2964 /providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/XMPPChatManager.java | |
parent | 1a04e509dcfbc1b1c8c8c7b569818c2f3a7a2885 (diff) | |
download | org.eclipse.ecf-f221dbae46156b731134baacdef92324ccbd9493.tar.gz org.eclipse.ecf-f221dbae46156b731134baacdef92324ccbd9493.tar.xz org.eclipse.ecf-f221dbae46156b731134baacdef92324ccbd9493.zip |
Cleanup of variable names for consistency and simplification of notifying code.
Diffstat (limited to 'providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/XMPPChatManager.java')
-rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/XMPPChatManager.java | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/XMPPChatManager.java b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/XMPPChatManager.java index 4250ca353..11df2b90f 100644 --- a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/XMPPChatManager.java +++ b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/XMPPChatManager.java @@ -11,10 +11,10 @@ package org.eclipse.ecf.internal.provider.xmpp; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Vector; import org.eclipse.ecf.core.identity.ID; import org.eclipse.ecf.core.util.ECFException; @@ -41,11 +41,11 @@ import org.jivesoftware.smack.packet.Message.Type; */ public class XMPPChatManager implements IChatManager { - protected Vector messageListeners = new Vector(); + private List messageListeners = new ArrayList(); - protected XMPPContainerPresenceHelper presenceHelper; + private XMPPContainerPresenceHelper presenceHelper; - protected IChatMessageSender chatMessageSender = new IChatMessageSender() { + private IChatMessageSender chatMessageSender = new IChatMessageSender() { /* * (non-Javadoc) @@ -159,7 +159,9 @@ public class XMPPChatManager implements IChatManager { * @see org.eclipse.ecf.presence.im.IChatManager#addChatMessageListener(org.eclipse.ecf.presence.im.IIMMessageListener) */ public void addMessageListener(IIMMessageListener listener) { - messageListeners.add(listener); + synchronized (messageListeners) { + messageListeners.add(listener); + } } /* @@ -177,11 +179,17 @@ public class XMPPChatManager implements IChatManager { * @see org.eclipse.ecf.presence.im.IChatManager#removeChatMessageListener(org.eclipse.ecf.presence.im.IIMMessageListener) */ public void removeMessageListener(IIMMessageListener listener) { - messageListeners.remove(listener); + synchronized (messageListeners) { + messageListeners.remove(listener); + } } private void fireMessageEvent(IIMMessageEvent event) { - for (Iterator i = messageListeners.iterator(); i.hasNext();) { + List toNotify = null; + synchronized (messageListeners) { + toNotify = new ArrayList(messageListeners); + } + for (Iterator i = toNotify.iterator(); i.hasNext();) { IIMMessageListener l = (IIMMessageListener) i.next(); l.handleMessageEvent(event); } @@ -219,7 +227,9 @@ public class XMPPChatManager implements IChatManager { } public void disconnect() { - messageListeners.clear(); + synchronized (messageListeners) { + messageListeners.clear(); + } } /* (non-Javadoc) |