svn commit: r19631 - trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java

[email protected] Sat, 6 Aug 2011 04:20:23 -0700 (PDT)
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2011-08-06 04:20:23-0700
New Revision: 19631

Modified:
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java

Log:
Don't send a second attribute change event on delete

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java?view=diff&pathrev=19631&r1=19630&r2=19631
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java	2011-08-06 04:20:23-0700
@@ -450,7 +450,7 @@
                             getListeners(
                                     newValue,
                                     propName)));
-                } else {
+                } else { // i.e. eventType == Notification.REMOVE
                     events.add(new EventAndListeners(
                             new AddAssociationEvent(
                                     oldValue,
@@ -460,14 +460,20 @@
                             getListeners(
                                     oldValue,
                                     propName)));
-                    events.add(new EventAndListeners(
-                            new AttributeChangeEvent(
-                                    oldValue,
-                                    propName,
-                                    notifier, null, null),
-                            getListeners(
-                                    oldValue,
-                                    propName)));
+// Bob says - I don't understand the purpose of sending an attribute change
+// event when a delete event has already happened. With this code in place
+// it causes the feedback loop mentioned in
+// http://argouml.tigris.org/issues/show_bug.cgi?id=6270
+// If this code must be re-introduced to solve some other issue then please give
+// a full explanation here of what this solves for us.
+//                    events.add(new EventAndListeners(
+//                            new AttributeChangeEvent(
+//                                    oldValue,
+//                                    propName,
+//                                    notifier, null, null),
+//                            getListeners(
+//                                    oldValue,
+//                                    propName)));
                 }
             }
         }

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2811417

To unsubscribe from this discussion, e-mail: [[email protected]].