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]].
