You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by mj...@apache.org on 2009/08/18 08:48:41 UTC

svn commit: r805291 - /mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java

Author: mjakl
Date: Tue Aug 18 06:48:41 2009
New Revision: 805291

URL: http://svn.apache.org/viewvc?rev=805291&view=rev
Log:
Prevent that a pubsub event listener is added more than one times.

Modified:
    mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java

Modified: mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java?rev=805291&r1=805290&r2=805291&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java (original)
+++ mina/sandbox/vysper/trunk/demo/pubsub/client/src/main/java/org/apache/vysper/demo/pubsub/client/PubsubClientModel.java Tue Aug 18 06:48:41 2009
@@ -34,6 +34,7 @@
 import org.jivesoftware.smackx.pubsub.Affiliation;
 import org.jivesoftware.smackx.pubsub.PubSubManager;
 import org.jivesoftware.smackx.pubsub.Subscription;
+import org.jivesoftware.smackx.pubsub.Node;
 
 public class PubsubClientModel {
     private Map<String, DefaultListModel> nodeMessages = new TreeMap<String, DefaultListModel>();
@@ -140,7 +141,9 @@
             tableModel.bulkAddRow(n);
             
             try {
-                pubsubMgr.getNode(n.getNode()).addItemEventListener(pel); // TODO maybe we add one listener more than one times?
+                Node node = pubsubMgr.getNode(n.getNode());
+                node.removeItemEventListener(pel); // remove the listener in cases we already know the node
+                node.addItemEventListener(pel); // add the listener for events
             } catch (XMPPException e) {
                 e.printStackTrace();
             }