Author: tfmorris
Date: 2008-11-10 11:56:38-0800
New Revision: 16007

Modified:
   trunk/src/argouml-app/src/org/argouml/notation/NotationProvider.java

Log:
Check for and log attempted duplicate event listener registrations

Modified: trunk/src/argouml-app/src/org/argouml/notation/NotationProvider.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/notation/NotationProvider.java?view=diff&rev=16007&p1=trunk/src/argouml-app/src/org/argouml/notation/NotationProvider.java&p2=trunk/src/argouml-app/src/org/argouml/notation/NotationProvider.java&r1=16006&r2=16007
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/notation/NotationProvider.java        
(original)
+++ trunk/src/argouml-app/src/org/argouml/notation/NotationProvider.java        
2008-11-10 11:56:38-0800
@@ -222,8 +222,14 @@
             LOG.warn("Encountered deleted object during delete of " + element);
             return;
         }
-        listeners.add(new Object[] {element, property});
-        Model.getPump().addModelEventListener(listener, element, property);
+        Object[] entry = new Object[] {element, property};
+        if (!listeners.contains(entry)) {
+            listeners.add(entry);
+            Model.getPump().addModelEventListener(listener, element, property);
+        } else {
+            LOG.debug("Attempted duplicate registration of event listener"
+                    + " - Element: " + element + " Listener: " + listener);
+        }
     }
 
     /*
@@ -243,8 +249,14 @@
             LOG.warn("Encountered deleted object during delete of " + element);
             return;
         }
-        listeners.add(new Object[] {element, property});
-        Model.getPump().addModelEventListener(listener, element, property);
+        Object[] entry = new Object[] {element, property};
+        if (!listeners.contains(entry)) {
+            listeners.add(entry);
+            Model.getPump().addModelEventListener(listener, element, property);
+        } else {
+            LOG.debug("Attempted duplicate registration of event listener"
+                    + " - Element: " + element + " Listener: " + listener);
+        }
     }
     
     /*

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to