Author: penyaskito
Date: 2008-11-21 04:54:29-0800
New Revision: 16116

Modified:
   
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java

Log:
Fixed Issue 5190 - Activations are not updated when a message is deleted from 
the diagram

Modified: 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java?view=diff&rev=16116&p1=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java&p2=trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java&r1=16115&r2=16116
==============================================================================
--- 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java
   (original)
+++ 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java
   2008-11-21 04:54:29-0800
@@ -252,15 +252,23 @@
     public void removeFigEdge(FigEdge edge) {
         super.removeFigEdge(edge);
 
+        if (! (edge instanceof FigMessage)) {
+            return;
+        }
+        final FigMessage figMessage = (FigMessage) edge;
+
         // if the removed edge is a Create Message it will affect the position
         // of the ClassifierRole so it should be repositioned
-        if (edge instanceof FigMessage) {
-            final FigMessage figMessage = (FigMessage) edge;
-            if (equals(figMessage.getDestFigNode())
-                    && !equals(figMessage.getSourceFigNode())  
-                    && figMessage.isCreateAction()) {
-                relocate();
-            }
+        if (equals(figMessage.getDestFigNode())
+                && !equals(figMessage.getSourceFigNode())  
+                && figMessage.isCreateAction()) {
+            relocate();
+        }
+
+        // in any case we need to update the activations of this fig
+        ((FigClassifierRole)figMessage.getDestFigNode()).createActivations();
+        if (! figMessage.isSelfMessage()){
+            
((FigClassifierRole)figMessage.getSourceFigNode()).createActivations();
         }
     }
     

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

Reply via email to