svn commit: r16116 - trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/uml/diagram/sequence2/ui/FigClassifierRole.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
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();
}
}