Author: bobtarling
Date: 2010-03-24 07:11:56-0700
New Revision: 18146

Modified:
   
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java

Log:
First commit with drop down button for creating guards, triggers and effects

Modified: 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&pathrev=18146&r1=18145&r2=18146
==============================================================================
--- 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
   (original)
+++ 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
   2010-03-24 07:11:56-0700
@@ -93,11 +93,14 @@
 import org.omg.uml.behavioralelements.commonbehavior.TerminateAction;
 import org.omg.uml.behavioralelements.commonbehavior.UmlException;
 import org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction;
+import org.omg.uml.behavioralelements.statemachines.CallEvent;
+import org.omg.uml.behavioralelements.statemachines.ChangeEvent;
 import org.omg.uml.behavioralelements.statemachines.CompositeState;
 import org.omg.uml.behavioralelements.statemachines.Event;
 import org.omg.uml.behavioralelements.statemachines.FinalState;
 import org.omg.uml.behavioralelements.statemachines.Guard;
 import org.omg.uml.behavioralelements.statemachines.Pseudostate;
+import org.omg.uml.behavioralelements.statemachines.SignalEvent;
 import org.omg.uml.behavioralelements.statemachines.SimpleState;
 import org.omg.uml.behavioralelements.statemachines.State;
 import org.omg.uml.behavioralelements.statemachines.StateMachine;
@@ -105,6 +108,7 @@
 import org.omg.uml.behavioralelements.statemachines.StubState;
 import org.omg.uml.behavioralelements.statemachines.SubmachineState;
 import org.omg.uml.behavioralelements.statemachines.SynchState;
+import org.omg.uml.behavioralelements.statemachines.TimeEvent;
 import org.omg.uml.behavioralelements.statemachines.Transition;
 import org.omg.uml.behavioralelements.usecases.Actor;
 import org.omg.uml.behavioralelements.usecases.Extend;
@@ -495,8 +499,17 @@
                 new Class<?>[] { 
                     Argument.class
                 });
-    }
         
+        // specifies valid elements for an AssociationRole to contain
+        validContainmentMap.put(Transition.class, 
+                new Class<?>[] { 
+                    Guard.class,
+                    CallAction.class, ReturnAction.class,
+                    CreateAction.class, DestroyAction.class, SendAction.class, 
TerminateAction.class, UninterpretedAction.class, ActionSequence.class,
+                    CallEvent.class, ChangeEvent.class, SignalEvent.class, 
TimeEvent.class
+                });
+    }
+    
     public Object buildConnection(Object elementType, Object fromElement,
             Object fromStyle, Object toElement, Object toStyle,
             Object unidirectional, Object namespace)
@@ -716,6 +729,44 @@
         } else if (elementType == metaTypes.getArgument()) {
             element = Model.getCommonBehaviorFactory().createArgument();
             Model.getCommonBehaviorHelper().addActualArgument(container, 
element);
+        } else if (elementType == metaTypes.getGuard()) {
+            element = Model.getStateMachinesFactory().buildGuard(container);
+        } else if (elementType == metaTypes.getCreateAction()) {
+            element = Model.getCommonBehaviorFactory().createCreateAction();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getCallAction()) {
+            element = Model.getCommonBehaviorFactory().createCallAction();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getReturnAction()) {
+            element = Model.getCommonBehaviorFactory().createReturnAction();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getDestroyAction()) {
+            element = Model.getCommonBehaviorFactory().createDestroyAction();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getSendAction()) {
+            element = Model.getCommonBehaviorFactory().createSendAction();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getTerminateAction()) {
+            element = Model.getCommonBehaviorFactory().createTerminateAction();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getUninterpretedAction()) {
+            element = 
Model.getCommonBehaviorFactory().createUninterpretedAction();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getActionSequence()) {
+            element = Model.getCommonBehaviorFactory().createActionSequence();
+            ((Transition) container).setEffect((Action) element);
+        } else if (elementType == metaTypes.getCallEvent()) {
+            element = Model.getStateMachinesFactory().createCallEvent();
+            ((Transition) container).setTrigger((Event) element);
+        } else if (elementType == metaTypes.getChangeEvent()) {
+            element = Model.getStateMachinesFactory().createChangeEvent();
+            ((Transition) container).setTrigger((Event) element);
+        } else if (elementType == metaTypes.getSignalEvent()) {
+            element = Model.getStateMachinesFactory().createSignalEvent();
+            ((Transition) container).setTrigger((Event) element);
+        } else if (elementType == metaTypes.getTimeEvent()) {
+            element = Model.getStateMachinesFactory().createTimeEvent();
+            ((Transition) container).setTrigger((Event) element);
         } else {
             // build all other elements using existing buildNode
             element = buildNode(elementType);

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

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

Reply via email to