Author: mvw
Date: 2011-10-30 07:46:53-0700
New Revision: 19770

Modified:
   
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigMessage.java

Log:
Fix for the part of issue 5990 that is a bug.
The part of issue 5990 that is a feature request is not fixed by this commit.
This change is to maintain a private attribute on the FigMessage to remember 
what kind of message is represented. This way, we do not need to query the 
model for this information, which is impossible during deletion of 
modelelements.
The use of an array of booleans is admittedly ugly, but I was looking for a 
quick and reliable solution.
I presumed that the Message never changes type.


Modified: 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigMessage.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigMessage.java?view=diff&pathrev=19770&r1=19769&r2=19770
==============================================================================
--- 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigMessage.java
 (original)
+++ 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/FigMessage.java
 2011-10-30 07:46:53-0700
@@ -1,6 +1,6 @@
 /* $Id$
  *****************************************************************************
- * Copyright (c) 2009 Contributors - see below
+ * Copyright (c) 2009-2011 Contributors - see below
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
  *
  * Contributors:
  *    bobtarling
+ *    Michiel van der Wulp
  *****************************************************************************
  *
  * Some portions of this file was previously release using the BSD License:
@@ -91,6 +92,7 @@
     private Object action = null;
     
     private SDNotationSettings notationSettings;
+    private boolean t[] = {false,false,false,false,false,false,false,false};
     
     /**
      * Construct a fig owned by the given UML element with the provided render
@@ -107,6 +109,12 @@
         if (action != null) {
             addElementListener(action, "isAsynchronous");
         }
+        t[1] = Model.getFacade().isASynchCallMessage(getOwner());
+        t[2] = Model.getFacade().isAASynchCallMessage(getOwner());
+        t[3] = Model.getFacade().isACreateMessage(getOwner());
+        t[4] = Model.getFacade().isADeleteMessage(getOwner());
+        t[5] = Model.getFacade().isAReplyMessage(getOwner());
+        t[6] = Model.getFacade().isAASynchSignalMessage(getOwner());
     }
     
     private void initialize() {
@@ -151,27 +159,27 @@
     }
     
     boolean isSynchCallMessage() {
-       return Model.getFacade().isASynchCallMessage(getOwner());
+       return t[1];
     }
 
     boolean isASynchCallMessage() {
-        return Model.getFacade().isAASynchCallMessage(getOwner());
+        return t[2];
     }
 
     boolean isCreateMessage() {
-       return Model.getFacade().isACreateMessage(getOwner());
+       return t[3];
     }
 
     boolean isDeleteMessage() {
-       return Model.getFacade().isADeleteMessage(getOwner());
+       return t[4];
     }
 
     boolean isReplyMessage() {
-       return Model.getFacade().isAReplyMessage(getOwner());
+       return t[5];
     }
 
     boolean isASynchSignalMessage() {
-        return Model.getFacade().isAASynchSignalMessage(getOwner());
+        return t[6];
     }
     
     /**

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

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

Reply via email to