Author: bobtarling
Date: 2011-03-25 10:11:22-0700
New Revision: 19137
Added:
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MessageSortEUMLImpl.java
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MessageSortMDRImpl.java
trunk/src/argouml-core-model/src/org/argouml/model/MessageSort.java
Modified:
trunk/src/argouml-app/tests/org/argouml/model/MockModelImplementation.java
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MDRModelImplementation.java
trunk/src/argouml-core-model/src/org/argouml/model/Model.java
trunk/src/argouml-core-model/src/org/argouml/model/ModelImplementation.java
Log:
First movement toward UML2 sequence diagrams
Modified: trunk/src/argouml-app/tests/org/argouml/model/MockModelImplementation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/model/MockModelImplementation.java?view=diff&pathrev=19137&r1=19136&r2=19137
==============================================================================
--- trunk/src/argouml-app/tests/org/argouml/model/MockModelImplementation.java (original)
+++ trunk/src/argouml-app/tests/org/argouml/model/MockModelImplementation.java 2011-03-25 10:11:22-0700
@@ -187,6 +187,11 @@
* Control object.
*/
private MockControl controlMT;
+
+ /**
+ * Control object.
+ */
+ private MockControl controlMS;
/**
* Control object.
@@ -578,6 +583,13 @@
}
/*
+ * @see org.argouml.model.ModelImplementation#getMessageSort()
+ */
+ public MessageSort getMessageSort() {
+ return (MessageSort) controlMS.getMock();
+ }
+
+ /*
* @see org.argouml.model.ModelImplementation#getMetaTypes()
*/
public MetaTypes getMetaTypes() {
Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java?view=diff&pathrev=19137&r1=19136&r2=19137
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java (original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java 2011-03-25 10:11:22-0700
@@ -41,6 +41,7 @@
import java.awt.Point;
import java.awt.Rectangle;
import java.beans.PropertyVetoException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -153,31 +154,39 @@
@Override
protected Object[] getUmlActions() {
if (actions == null) {
+ List actionList = new ArrayList();
+ actionList.add(new RadioAction(new ActionAddClassifierRole()));
+ getMessageActions(actionList);
+ actionList.add(new RadioAction(new ActionSetMode(
+ ModeBroomMessages.class,
+ "button.broom-messages")));
actions = new Object[8];
int i = 0;
- actions[i++] = new RadioAction(new ActionAddClassifierRole());
- actions[i++] = new RadioAction(new ActionSetAddMessageMode(
- Model.getMetaTypes().getCallAction(),
- "button.new-callaction"));
- actions[i++] = new RadioAction(new ActionSetAddMessageMode(
- Model.getMetaTypes().getSendAction(),
- "button.new-sendaction"));
- actions[i++] = new RadioAction(new ActionSetAddMessageMode(
- Model.getMetaTypes().getReturnAction(),
- "button.new-returnaction"));
- actions[i++] = new RadioAction(new ActionSetAddMessageMode(
- Model.getMetaTypes().getCreateAction(),
- "button.new-createaction"));
- actions[i++] = new RadioAction(new ActionSetAddMessageMode(
- Model.getMetaTypes().getDestroyAction(),
- "button.new-destroyaction"));
- actions[i++] = new RadioAction(new ActionSetMode(
- ModeBroomMessages.class,
- "button.broom-messages"));
+ actions = actionList.toArray();
+
}
return actions;
}
+ private List getMessageActions(List actions) {
+ actions.add(new RadioAction(new ActionSetAddMessageMode(
+ Model.getMessageSort().getSynchCall(),
+ "button.new-callaction")));
+ actions.add(new RadioAction(new ActionSetAddMessageMode(
+ Model.getMessageSort().getASynchCall(),
+ "button.new-sendaction")));
+ actions.add(new RadioAction(new ActionSetAddMessageMode(
+ Model.getMessageSort().getReply(),
+ "button.new-returnaction")));
+ actions.add(new RadioAction(new ActionSetAddMessageMode(
+ Model.getMessageSort().getCreateMessage(),
+ "button.new-createaction")));
+ actions.add(new RadioAction(new ActionSetAddMessageMode(
+ Model.getMessageSort().getDeleteMessage(),
+ "button.new-destroyaction")));
+ return actions;
+ }
+
/**
* Get the localized label name for the diagram
* @return The localized label name for the diagram
Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java?view=diff&pathrev=19137&r1=19136&r2=19137
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java (original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/EUMLModelImplementation.java 2011-03-25 10:11:22-0700
@@ -31,6 +31,7 @@
import org.apache.log4j.Logger;
import org.argouml.model.DiagramInterchangeModel;
+import org.argouml.model.MessageSort;
import org.argouml.model.ModelImplementation;
import org.argouml.model.UmlException;
import org.eclipse.emf.common.command.BasicCommandStack;
@@ -119,6 +120,8 @@
private FacadeEUMLImpl theFacade;
+ private MessageSort theMessageSort;
+
private MetaTypesEUMLImpl theMetaTypes;
private ModelEventPumpEUMLImpl theModelEventPump;
@@ -456,6 +459,13 @@
return theOrderingKind;
}
+ public MessageSort getMessageSort() {
+ if (theMessageSort == null) {
+ theMessageSort = new MessageSortEUMLImpl();
+ }
+ return theMessageSort;
+ }
+
public PseudostateKindEUMLImpl getPseudostateKind() {
if (thePseudostateKind == null) {
thePseudostateKind = new PseudostateKindEUMLImpl();
Added: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MessageSortEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MessageSortEUMLImpl.java?view=markup&pathrev=19137
==============================================================================
--- (empty file)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MessageSortEUMLImpl.java 2011-03-25 10:11:22-0700
@@ -0,0 +1,43 @@
+// $Id: MessageSortEUMLImpl.java 18220 2010-04-08 20:37:15Z bobtarling $
+/*******************************************************************************
+ * Copyright (c) 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Bob Tarling
+ *******************************************************************************/
+
+package org.argouml.model.euml;
+
+import org.argouml.model.MessageSort;
+
+/**
+ * The implementation of the OrderingKindEUMLImpl.java for EUML2.
+ */
+class MessageSortEUMLImpl implements MessageSort {
+
+ public Object getASynchCall() {
+ return org.eclipse.uml2.uml.MessageSort.ASYNCH_CALL;
+ }
+
+ public Object getCreateMessage() {
+ return org.eclipse.uml2.uml.MessageSort.CREATE_MESSAGE;
+ }
+
+ public Object getDeleteMessage() {
+ return org.eclipse.uml2.uml.MessageSort.DELETE_MESSAGE;
+ }
+
+ public Object getReply() {
+ return org.eclipse.uml2.uml.MessageSort.REPLY;
+ }
+
+ public Object getSynchCall() {
+ return org.eclipse.uml2.uml.MessageSort.SYNCH_CALL;
+ }
+
+
+}
Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java?view=diff&pathrev=19137&r1=19136&r2=19137
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java (original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java 2011-03-25 10:11:22-0700
@@ -61,6 +61,7 @@
import org.eclipse.uml2.uml.Interaction;
import org.eclipse.uml2.uml.InteractionConstraint;
import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Lifeline;
import org.eclipse.uml2.uml.Message;
import org.eclipse.uml2.uml.Model;
import org.eclipse.uml2.uml.MultiplicityElement;
@@ -232,10 +233,7 @@
}
public Object getClassifierRole() {
- // TODO: In UML 2.0, ClassifierRole, AssociationRole, and
- // AssociationEndRole have been replaced by the internal
- // structure of the Collaboration
- return Classifier.class;
+ return Lifeline.class;
}
public Object getCollaboration() {
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MDRModelImplementation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MDRModelImplementation.java?view=diff&pathrev=19137&r1=19136&r2=19137
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MDRModelImplementation.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MDRModelImplementation.java 2011-03-25 10:11:22-0700
@@ -75,6 +75,7 @@
import org.argouml.model.ExtensionMechanismsFactory;
import org.argouml.model.ExtensionMechanismsHelper;
import org.argouml.model.Facade;
+import org.argouml.model.MessageSort;
import org.argouml.model.MetaTypes;
import org.argouml.model.ModelEventPump;
import org.argouml.model.ModelImplementation;
@@ -94,6 +95,7 @@
import org.argouml.model.VisibilityKind;
import org.argouml.model.XmiReader;
import org.argouml.model.XmiWriter;
+import org.argouml.model.MessageSort;
import org.netbeans.api.mdr.CreationFailedException;
import org.netbeans.api.mdr.MDRManager;
import org.netbeans.api.mdr.MDRepository;
@@ -121,6 +123,8 @@
private ActivityGraphsHelper theActivityGraphsHelper;
private CoreHelper theCoreHelper;
+
+ private MessageSort theMessageSort;
private MetaTypes theMetaTypes = new MetaTypesMDRImpl();
@@ -526,6 +530,7 @@
theDataTypesHelper = new DataTypesHelperMDRImpl(this);
theKindsObject = new KindsMDRImpl(this);
+ theMessageSort = new MessageSortMDRImpl();
theModelManagementFactory = new ModelManagementFactoryMDRImpl(this);
theExtensionMechanismsHelper =
new ExtensionMechanismsHelperMDRImpl(this);
@@ -837,6 +842,13 @@
return theKindsObject;
}
+ /*
+ * @see org.argouml.model.ModelImplementation#getMessageSort()
+ */
+ public MessageSort getMessageSort() {
+ return theMessageSort;
+ }
+
public VisibilityKind getVisibilityKind() {
return theKindsObject;
Added: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MessageSortMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MessageSortMDRImpl.java?view=markup&pathrev=19137
==============================================================================
--- (empty file)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MessageSortMDRImpl.java 2011-03-25 10:11:22-0700
@@ -0,0 +1,47 @@
+// $Id: MessageSortEUMLImpl.java 18220 2010-04-08 20:37:15Z bobtarling $
+/*******************************************************************************
+ * Copyright (c) 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Bob Tarling
+ *******************************************************************************/
+
+package org.argouml.model.mdr;
+
+import org.argouml.model.MessageSort;
+import org.argouml.model.NotImplementedException;
+import org.omg.uml.behavioralelements.commonbehavior.CallAction;
+import org.omg.uml.behavioralelements.commonbehavior.CreateAction;
+import org.omg.uml.behavioralelements.commonbehavior.DestroyAction;
+import org.omg.uml.behavioralelements.commonbehavior.ReturnAction;
+import org.omg.uml.behavioralelements.commonbehavior.SendAction;
+
+/**
+ * The implementation of the OrderingKindEUMLImpl.java for EUML2.
+ */
+class MessageSortMDRImpl implements MessageSort {
+
+ public Object getASynchCall() {
+ return SendAction.class;
+ }
+
+ public Object getCreateMessage() {
+ return CreateAction.class;
+ }
+
+ public Object getDeleteMessage() {
+ return DestroyAction.class;
+ }
+
+ public Object getReply() {
+ return ReturnAction.class;
+ }
+
+ public Object getSynchCall() {
+ return CallAction.class;
+ }
+}
Added: trunk/src/argouml-core-model/src/org/argouml/model/MessageSort.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/MessageSort.java?view=markup&pathrev=19137
==============================================================================
--- (empty file)
+++ trunk/src/argouml-core-model/src/org/argouml/model/MessageSort.java 2011-03-25 10:11:22-0700
@@ -0,0 +1,45 @@
+/* $Id: MessageKind.java 17747 2010-01-10 21:16:51Z linus $
+ *******************************************************************************
+ * Copyright (c) 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Bob Tarling
+ *******************************************************************************
+ */
+
+package org.argouml.model;
+
+/**
+ * The different AggregationKinds.
+ */
+public interface MessageSort {
+
+ /**
+ * @return Returns the SynchCall MessageSort
+ */
+ Object getSynchCall();
+
+ /**
+ * @return Returns the ASynchCall MessageSort
+ */
+ Object getASynchCall();
+
+ /**
+ * @return Returns the CreateMessage MessageSort
+ */
+ Object getCreateMessage();
+
+ /**
+ * @return Returns the DeleteMessage MessageSort
+ */
+ Object getDeleteMessage();
+
+ /**
+ * @return Returns the Reply MessageSort
+ */
+ Object getReply();
+}
Modified: trunk/src/argouml-core-model/src/org/argouml/model/Model.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/Model.java?view=diff&pathrev=19137&r1=19136&r2=19137
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/Model.java (original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/Model.java 2011-03-25 10:11:22-0700
@@ -363,6 +363,15 @@
}
/**
+ * Getter for the ConcurrencyKind object.
+ *
+ * @return The object implementing the interface.
+ */
+ public static MessageSort getMessageSort() {
+ return impl.getMessageSort();
+ }
+
+ /**
* Getter for the MetaTypes object.
*
* @return the MetaTypes object.
Modified: trunk/src/argouml-core-model/src/org/argouml/model/ModelImplementation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/ModelImplementation.java?view=diff&pathrev=19137&r1=19136&r2=19137
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/ModelImplementation.java (original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/ModelImplementation.java 2011-03-25 10:11:22-0700
@@ -208,7 +208,13 @@
*/
UseCasesHelper getUseCasesHelper();
-
+ /**
+ * Getter for MessageSort
+ *
+ * @return the MessageSort object.
+ */
+ MessageSort getMessageSort();
+
/**
* Getter for the MetaTypes object.
*
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2714192
To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.