Author: bobtarling
Date: 2011-03-26 04:46:00-0700
New Revision: 19140

Modified:
   trunk/src/argouml-app/src/org/argouml/notation/providers/MessageNotation.java
   
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ModeCreateMessage.java
   
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsHelperEUMLImpl.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MessageSortEUMLImpl.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlHelperEUMLImpl.java
   
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsHelperMDRImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
   
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MessageSortMDRImpl.java
   
trunk/src/argouml-core-model/src/org/argouml/model/AbstractCollaborationsHelperDecorator.java
   trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsHelper.java
   trunk/src/argouml-core-model/src/org/argouml/model/Facade.java
   trunk/src/argouml-core-model/src/org/argouml/model/MessageSort.java

Log:
First attempt at drawing messages in UML2

Modified: 
trunk/src/argouml-app/src/org/argouml/notation/providers/MessageNotation.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/notation/providers/MessageNotation.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/notation/providers/MessageNotation.java   
    (original)
+++ 
trunk/src/argouml-app/src/org/argouml/notation/providers/MessageNotation.java   
    2011-03-26 04:46:00-0700
@@ -65,33 +65,31 @@
 
     @Override
     public void initialiseListener(Object umlMessage) {
-        if (Model.getFacade().getUmlVersion().charAt(0) == '1') {
-            addElementListener(umlMessage,
-                    new String[] {"activator", "predecessor", "successor", 
-                        "sender", "receiver", "action", "name"});
-            Object action = Model.getFacade().getAction(umlMessage);
-            if (action != null) {
-                addElementListener(action,
-                        new String[] {"remove", "recurrence", "script", 
-                            "actualArgument", "signal", "operation"});
-                List args = Model.getFacade().getActualArguments(action);
-                for (Object argument : args) {
-                    addElementListener(argument,
-                            new String[] {"remove", "value"});
-                }
-                if (Model.getFacade().isACallAction(action)) {
-                    Object operation = Model.getFacade().getOperation(action);
-                    if (Model.getFacade().isAOperation(operation)) {
-                        addElementListener(operation,
-                                new String[] {"name"});
-                    }
+        addElementListener(umlMessage,
+                new String[] {"activator", "predecessor", "successor", 
+                    "sender", "receiver", "action", "name"});
+        Object action = Model.getFacade().getAction(umlMessage);
+        if (action != null) {
+            addElementListener(action,
+                    new String[] {"remove", "recurrence", "script", 
+                        "actualArgument", "signal", "operation"});
+            List args = Model.getFacade().getActualArguments(action);
+            for (Object argument : args) {
+                addElementListener(argument,
+                        new String[] {"remove", "value"});
+            }
+            if (Model.getFacade().isACallAction(action)) {
+                Object operation = Model.getFacade().getOperation(action);
+                if (Model.getFacade().isAOperation(operation)) {
+                    addElementListener(operation,
+                            new String[] {"name"});
                 }
-                if (Model.getFacade().isASendAction(action)) {
-                    Object signal = Model.getFacade().getSignal(action);
-                    if (Model.getFacade().isASignal(signal)) {
-                        addElementListener(signal,
-                                new String[] {"name"});
-                    }
+            }
+            if (Model.getFacade().isASendAction(action)) {
+                Object signal = Model.getFacade().getSignal(action);
+                if (Model.getFacade().isASignal(signal)) {
+                    addElementListener(signal,
+                            new String[] {"name"});
                 }
             }
         }

Modified: 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ModeCreateMessage.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ModeCreateMessage.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ModeCreateMessage.java
  (original)
+++ 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ModeCreateMessage.java
  2011-03-26 04:46:00-0700
@@ -119,10 +119,9 @@
             
             // create the return message modelelement with the interaction
             // and the collaboration
-            final Object returnMessage = gm.connect(
+            final Object returnMessage = gm.connectMessage(
                     returnMessageSource,
                     returnMessageDest, 
-                    Model.getMetaTypes().getMessage(),
                     Model.getMetaTypes().getReturnAction());
             
             // Correct the activator value

Modified: 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
  (original)
+++ 
trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
  2011-03-26 04:46:00-0700
@@ -337,7 +337,7 @@
         Mode mode = modeManager.top();
         Hashtable args = mode.getArgs();
         Object actionType = args.get("action");
-        return connect(fromPort, toPort, edgeType, actionType);
+        return connectMessage(fromPort, toPort, actionType);
     }
     
     /**
@@ -350,34 +350,45 @@
      * @see org.tigris.gef.graph.MutableGraphModel#connect(
      *          Object, Object, Class)
      */
-    public Object connect(Object fromPort, Object toPort, Object edgeType, 
-               Object actionType) {
+    public Object connectMessage(Object fromPort, Object toPort, Object 
messageSort) {
+        // TODO: Lets move this behind the model interface
+        if (Model.getFacade().getUmlVersion().charAt(0) == '1') {
+            return createMessage1(fromPort, toPort, messageSort);
+        } else {
+            return createMessage2(fromPort, toPort, messageSort);
+        }
+    }
+
+    private Object createMessage1(Object fromPort, Object toPort, Object 
messageSort) {
         Object edge = null;
         Object action = null;
-        if (Model.getMetaTypes().getCallAction().equals(actionType)) {
+        if (Model.getMessageSort().getSynchCall().equals(messageSort)) {
             action = Model.getCommonBehaviorFactory().createCallAction();
             Model.getCommonBehaviorHelper().setAsynchronous(action, false);
-        } else if (Model.getMetaTypes().getCreateAction()
-                .equals(actionType)) {
+        } else if (Model.getMessageSort().getASynchCall().equals(messageSort)) 
{
+            action = Model.getCommonBehaviorFactory().createCallAction();
+            Model.getCommonBehaviorHelper().setAsynchronous(action, true);
+        } else if (Model.getMessageSort().getCreateMessage()
+                .equals(messageSort)) {
             action = Model.getCommonBehaviorFactory().createCreateAction();
             Model.getCommonBehaviorHelper().setAsynchronous(action, false);
-        } else if (Model.getMetaTypes().getReturnAction()
-                .equals(actionType)) {
+        } else if (Model.getMessageSort().getReply()
+                .equals(messageSort)) {
             action = Model.getCommonBehaviorFactory().createReturnAction();
             Model.getCommonBehaviorHelper().setAsynchronous(action, true);
-        } else if (Model.getMetaTypes().getDestroyAction()
-                .equals(actionType)) {
+        } else if (Model.getMessageSort().getDeleteMessage()
+                .equals(messageSort)) {
             action = Model.getCommonBehaviorFactory().createDestroyAction();
             Model.getCommonBehaviorHelper().setAsynchronous(action, false);
-        } else if (Model.getMetaTypes().getSendAction()
-                .equals(actionType)) {
+        } else if (Model.getMessageSort().getASynchSignal()
+                .equals(messageSort)) {
             action = Model.getCommonBehaviorFactory().createSendAction();
             Model.getCommonBehaviorHelper().setAsynchronous(action, true);
         } else if (Model.getMetaTypes().getTerminateAction()
-                .equals(actionType)) {
+                .equals(messageSort)) {
             // not implemented yet
         }
-        if (fromPort != null && toPort != null && action != null) {
+        if (fromPort != null && toPort != null) {
             Object associationRole =
                 Model.getCollaborationsHelper().getAssociationRole(
                     fromPort,
@@ -387,7 +398,7 @@
                     Model.getCollaborationsFactory().buildAssociationRole(
                             fromPort, toPort);
             }
-
+    
             Object message =
                 Model.getCollaborationsFactory().buildMessage(
                     getInteraction(),
@@ -400,7 +411,7 @@
                 .setSender(message, fromPort);
             Model.getCommonBehaviorHelper()
                 .setReceiver(message, toPort);
-
+    
             addEdge(message);
             edge = message;
         }
@@ -408,8 +419,27 @@
             LOG.debug("Incorrect edge");
         }
         return edge;
-
+    
+    }
+    
+    private Object createMessage2(Object fromPort, Object toPort, Object 
messageSort) {
+        if (fromPort != null && toPort != null) {
+    
+            Object message =
+                Model.getCollaborationsFactory().buildMessage(
+                    fromPort,
+                    toPort);
+            Model.getCollaborationsHelper().setMessageSort(message, 
messageSort);
+    
+            addEdge(message);
+            return message;
+        }
+        LOG.debug("Incorrect edge");
+        return null;
+    
     }
+
+    
     
     /*
      * @see org.tigris.gef.graph.MutableGraphModel#addEdge(java.lang.Object)

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java
     (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java
     2011-03-26 04:46:00-0700
@@ -16,9 +16,12 @@
 import org.eclipse.uml2.uml.Classifier;
 import org.eclipse.uml2.uml.Collaboration;
 import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Gate;
 import org.eclipse.uml2.uml.Interaction;
 import org.eclipse.uml2.uml.Lifeline;
 import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageEnd;
+import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
 import org.eclipse.uml2.uml.UMLFactory;
 
 /**
@@ -109,9 +112,24 @@
         return interaction;
     }
 
-    public Message buildMessage(Object acollab, Object arole) {
-        // TODO: Auto-generated method stub
-        return createMessage();
+    public Message buildMessage(Object from, Object to) {
+        
+        Lifeline l1 = (Lifeline) from;
+        Lifeline l2 = (Lifeline) to;
+
+        Message message = UMLFactory.eINSTANCE.createMessage();
+        
+        MessageOccurrenceSpecification receive = 
+            UMLFactory.eINSTANCE.createMessageOccurrenceSpecification();
+        MessageOccurrenceSpecification send = 
+            UMLFactory.eINSTANCE.createMessageOccurrenceSpecification();
+        
+        message.setReceiveEvent(receive);
+        message.setSendEvent(send);
+        
+        l1.getCoveredBys().add(send);
+        l2.getCoveredBys().add(receive);
+        return message;
     }
 
     public Object createAssociationEndRole() {

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsHelperEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsHelperEUMLImpl.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsHelperEUMLImpl.java
      (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsHelperEUMLImpl.java
      2011-03-26 04:46:00-0700
@@ -14,6 +14,8 @@
 import java.util.Collection;
 
 import org.argouml.model.CollaborationsHelper;
+import org.eclipse.uml2.uml.Message;
+import org.eclipse.uml2.uml.MessageSort;
 
 /**
  * Eclipse UML2 implementation of CollaborationsHelper.
@@ -149,9 +151,8 @@
         
     }
 
-    public void setAction(Object handle, Object action) {
-        // TODO: Auto-generated method stub
-        
+    public void setAction(Object message, Object action) {
+        setMessageSort(message, action);
     }
 
     public void setActivator(Object ames, Object anactivator) {
@@ -173,6 +174,12 @@
         // TODO: Auto-generated method stub
         
     }
+    
+    public void setMessageSort(Object message, Object messageSort) {
+        MessageSort ms = (MessageSort) messageSort;
+        Message m = (Message) message;
+        m.setMessageSort(ms);
+    }
 
     public void setPredecessors(Object handle, Collection predecessors) {
         // TODO: Auto-generated method stub

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
    (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
    2011-03-26 04:46:00-0700
@@ -77,8 +77,11 @@
     }
 
     public Object getAction(Object handle) {
+        if (handle instanceof Message) {
+            // In UML a message could have an Action. In UML2 it never does.
+            return null;
+        }
         throw new NotYetImplementedException();
-
     }
 
     public Object getActionSequence(Object handle) {
@@ -878,6 +881,11 @@
         throw new NotYetImplementedException();
     }
 
+    public Object getMessageSort(Object handle) {
+        Message message = (Message) handle;
+        return message.getMessageSort();
+    }
+
     public Collection getMethods(Object handle) {
         if (handle instanceof BehavioralFeature) {
             return ((BehavioralFeature)handle).getMethods();
@@ -1201,7 +1209,10 @@
     }
 
     public Object getReceiver(Object handle) {
-        throw new NotYetImplementedException();
+        Message message = (Message) handle;
+        MessageOccurrenceSpecification mos =
+            (MessageOccurrenceSpecification) message.getReceiveEvent();
+        return mos.getCovereds().get(0);
     }
 
     public Collection getReceptions(Object handle) {
@@ -1262,7 +1273,10 @@
     }
 
     public Object getSender(Object handle) {
-        throw new NotYetImplementedException();
+        Message message = (Message) handle;
+        MessageOccurrenceSpecification mos =
+            (MessageOccurrenceSpecification) message.getSendEvent();
+        return mos.getCovereds().get(0);
     }
 
     public Collection getSentMessages(Object handle) {
@@ -2255,7 +2269,12 @@
     }
 
     public boolean isAsynchronous(Object handle) {
-        return !((CallAction) handle).isSynchronous();
+        if (handle == MessageSort.ASYNCH_CALL_LITERAL) return true;
+        if (handle == MessageSort.ASYNCH_SIGNAL_LITERAL) return true;
+        if (handle instanceof CallAction) {
+            return !((CallAction) handle).isSynchronous();
+        }
+        return false;
     }
 
     public boolean isComposite(Object handle) {

Modified: 
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=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MessageSortEUMLImpl.java
       (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MessageSortEUMLImpl.java
       2011-03-26 04:46:00-0700
@@ -20,23 +20,27 @@
 class MessageSortEUMLImpl implements MessageSort {
 
     public Object getASynchCall() {
-        return org.eclipse.uml2.uml.MessageSort.ASYNCH_CALL;
+        return org.eclipse.uml2.uml.MessageSort.ASYNCH_CALL_LITERAL;
     }
 
     public Object getCreateMessage() {
-        return org.eclipse.uml2.uml.MessageSort.CREATE_MESSAGE;
+        return org.eclipse.uml2.uml.MessageSort.CREATE_MESSAGE_LITERAL;
     }
 
     public Object getDeleteMessage() {
-        return org.eclipse.uml2.uml.MessageSort.DELETE_MESSAGE;
+        return org.eclipse.uml2.uml.MessageSort.DELETE_MESSAGE_LITERAL;
     }
 
     public Object getReply() {
-        return org.eclipse.uml2.uml.MessageSort.REPLY;
+        return org.eclipse.uml2.uml.MessageSort.REPLY_LITERAL;
     }
 
     public Object getSynchCall() {
-        return org.eclipse.uml2.uml.MessageSort.SYNCH_CALL;
+        return org.eclipse.uml2.uml.MessageSort.SYNCH_CALL_LITERAL;
+    }
+
+    public Object getASynchSignal() {
+        return org.eclipse.uml2.uml.MessageSort.ASYNCH_SIGNAL_LITERAL;
     }
 
 

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java
    (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ModelEventPumpEUMLImpl.java
    2011-03-26 04:46:00-0700
@@ -181,7 +181,8 @@
         if (!(modelElement instanceof EObject)) {
             throw new IllegalArgumentException(
                     "The modelelement must be instance " //$NON-NLS-1$
-                            + "of EObject."); //$NON-NLS-1$
+                            + "of EObject. We got " //$NON-NLS-1$
+                            + modelElement);
         }
         registerListener(
                 modelElement, listener, propertyNames, registerForElements);

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlHelperEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlHelperEUMLImpl.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlHelperEUMLImpl.java
 (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlHelperEUMLImpl.java
 2011-03-26 04:46:00-0700
@@ -28,6 +28,7 @@
 import org.eclipse.uml2.uml.Extend;
 import org.eclipse.uml2.uml.ExtensionPoint;
 import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Message;
 import org.eclipse.uml2.uml.Operation;
 import org.eclipse.uml2.uml.Parameter;
 import org.eclipse.uml2.uml.ParameterSet;
@@ -84,8 +85,12 @@
         } else if (relationship instanceof Property) {
             // TODO: We expect an association end here - check more carefully? 
- tfm
             return modelImpl.getCoreHelper().getSource(relationship);
+        } else if (relationship instanceof Message) {
+            return modelImpl.getFacade().getSender(relationship);
         }
-        throw new IllegalArgumentException();
+        throw new IllegalArgumentException(
+                "Getting source of this object is not implemented" 
//$NON-NLS-1$
+                + relationship);
     }
 
     /*
@@ -104,8 +109,12 @@
         } else if (relationship instanceof Property) {
             // TODO: We expect an association end here - check more carefully? 
- tfm
             return modelImpl.getCoreHelper().getDestination(relationship);
+        } else if (relationship instanceof Message) {
+            return modelImpl.getFacade().getReceiver(relationship);
         }
-        throw new IllegalArgumentException();
+        throw new IllegalArgumentException(
+                "Getting destination of this object is not implemented" 
//$NON-NLS-1$
+                + relationship);
     }
 
    /*

Modified: 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsHelperMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsHelperMDRImpl.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsHelperMDRImpl.java
 (original)
+++ 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsHelperMDRImpl.java
 2011-03-26 04:46:00-0700
@@ -871,7 +871,10 @@
         throw new IllegalArgumentException("predecessor: " + handle
                 + " or messages: " + messages);
     }
-
+    
+    public void setMessageSort(Object message, Object messageSort) {
+        setAction(message, messageSort);
+    }
 
     public void setPredecessors(Object handle, Collection predecessors) {
         if (handle instanceof Message) {

Modified: 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java   
    (original)
+++ 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java   
    2011-03-26 04:46:00-0700
@@ -2036,6 +2036,15 @@
         return illegalArgumentCollection(handle);
     }
 
+    /**
+     * @see org.argouml.model.Facade#getMessageSort(java.lang.Object)
+     */
+    public Object getMessageSort(Object handle) {
+        return getAction(handle);
+    }
+    
+    
+    
     public Collection getSuccessors(Object handle) {
         try {
             if (handle instanceof Message) {

Modified: 
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=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MessageSortMDRImpl.java
  (original)
+++ 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MessageSortMDRImpl.java
  2011-03-26 04:46:00-0700
@@ -26,7 +26,7 @@
 class MessageSortMDRImpl implements MessageSort {
 
     public Object getASynchCall() {
-        return SendAction.class;
+        return CallAction.class;
     }
 
     public Object getCreateMessage() {
@@ -44,4 +44,8 @@
     public Object getSynchCall() {
         return CallAction.class;
     }
+    
+    public Object getASynchSignal() {
+        return SendAction.class;
+    }
 }

Modified: 
trunk/src/argouml-core-model/src/org/argouml/model/AbstractCollaborationsHelperDecorator.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/AbstractCollaborationsHelperDecorator.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model/src/org/argouml/model/AbstractCollaborationsHelperDecorator.java
       (original)
+++ 
trunk/src/argouml-core-model/src/org/argouml/model/AbstractCollaborationsHelperDecorator.java
       2011-03-26 04:46:00-0700
@@ -186,6 +186,10 @@
         impl.setContext(handle, col);
     }
 
+    public void setMessageSort(Object handle, Object messageSort) {
+        impl.setAction(handle, messageSort);
+    }
+
     public void setSuccessors(Object handle, Collection messages) {
         impl.setSuccessors(handle, messages);
     }

Modified: 
trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsHelper.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsHelper.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- 
trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsHelper.java    
    (original)
+++ 
trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsHelper.java    
    2011-03-26 04:46:00-0700
@@ -307,6 +307,14 @@
     void setAction(Object handle, Object action);
 
     /**
+     * Sets the MessageSort to a message.
+     *
+     * @param message is the Message
+     * @param messageSort is the MessageSort
+     */
+    void setMessageSort(Object message, Object messageSort);
+
+    /**
      * Set the context of an interaction.
      *
      * @param interaction The interaction.

Modified: trunk/src/argouml-core-model/src/org/argouml/model/Facade.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/Facade.java?view=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/Facade.java      
(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/Facade.java      
2011-03-26 04:46:00-0700
@@ -1946,6 +1946,14 @@
     Collection getMessages(Object handle);
 
     /**
+     * Return the MessageSort of the Message
+     * 
+     * @param handle the message
+     * @return the MessageSort
+     */
+    Object getMessageSort(Object handle);
+
+    /**
      * Return the Messages which are successors to the given Message.
      *
      * @param handle the message

Modified: 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=diff&pathrev=19140&r1=19139&r2=19140
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/MessageSort.java 
(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/MessageSort.java 
2011-03-26 04:46:00-0700
@@ -42,4 +42,9 @@
      * @return Returns the Reply MessageSort
      */
     Object getReply();
+    
+    /**
+     * @return Returns the ASynchSignal MessageSort
+     */
+    Object getASynchSignal();    
 }

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

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

Reply via email to