Author: linus
Date: 2010-04-14 13:44:25-0700
New Revision: 18261

Removed:
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryList.java
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryListModel.java
Modified:
   branches/BRANCH_0_30_x/   (props changed)
   branches/BRANCH_0_30_x/src/argouml-app/   (props changed)
   branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/profile/   (props 
changed)
   
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java

Log:
Merging rev 18206 from trunk for Issue: 6040.

Modified: 
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&pathrev=18261&r1=18260&r2=18261
==============================================================================
--- 
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
  (original)
+++ 
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
  2010-04-14 13:44:25-0700
@@ -549,27 +549,37 @@
         // specifies valid elements for an CallState to contain
         validContainmentMap.put(CallState.class, 
                 new Class<?>[] { 
+                    CallAction.class,
                     CallEvent.class, ChangeEvent.class, SignalEvent.class, 
TimeEvent.class
                 });
         
         // specifies valid elements for an SimpleState to contain
         validContainmentMap.put(SimpleState.class, 
                 new Class<?>[] { 
+                    CallAction.class, CreateAction.class, DestroyAction.class, 
ReturnAction.class, SendAction.class, TerminateAction.class, 
UninterpretedAction.class, ActionSequence.class,
                     CallEvent.class, ChangeEvent.class, SignalEvent.class, 
TimeEvent.class
                 });
         
         // specifies valid elements for an SubactivityState to contain
         validContainmentMap.put(SubactivityState.class, 
                 new Class<?>[] { 
+                    CallAction.class, CreateAction.class, DestroyAction.class, 
ReturnAction.class, SendAction.class, TerminateAction.class, 
UninterpretedAction.class, ActionSequence.class,
                     CallEvent.class, ChangeEvent.class, SignalEvent.class, 
TimeEvent.class
                 });
         
         // specifies valid elements for an ActionState to contain
         validContainmentMap.put(ActionState.class, 
                 new Class<?>[] { 
+                    CallAction.class, CreateAction.class, DestroyAction.class, 
ReturnAction.class, SendAction.class, TerminateAction.class, 
UninterpretedAction.class, ActionSequence.class,
                     CallEvent.class, ChangeEvent.class, SignalEvent.class, 
TimeEvent.class
                 });
         
+        // specifies valid elements for an ActionState to contain
+        validContainmentMap.put(CompositeState.class, 
+                new Class<?>[] { 
+                    CallAction.class, CreateAction.class, DestroyAction.class, 
ReturnAction.class, SendAction.class, TerminateAction.class, 
UninterpretedAction.class, ActionSequence.class
+                });
+        
     }
     
     public Object buildConnection(Object elementType, Object fromElement,
@@ -795,28 +805,28 @@
             element = Model.getStateMachinesFactory().buildGuard(container);
         } else if (elementType == metaTypes.getCreateAction()) {
             element = Model.getCommonBehaviorFactory().createCreateAction();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getCallAction()) {
             element = Model.getCommonBehaviorFactory().createCallAction();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getReturnAction()) {
             element = Model.getCommonBehaviorFactory().createReturnAction();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getDestroyAction()) {
             element = Model.getCommonBehaviorFactory().createDestroyAction();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getSendAction()) {
             element = Model.getCommonBehaviorFactory().createSendAction();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getTerminateAction()) {
             element = Model.getCommonBehaviorFactory().createTerminateAction();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getUninterpretedAction()) {
             element = 
Model.getCommonBehaviorFactory().createUninterpretedAction();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getActionSequence()) {
             element = Model.getCommonBehaviorFactory().createActionSequence();
-            ((Transition) container).setEffect((Action) element);
+            setNewAction(container, (Action) element);
         } else if (elementType == metaTypes.getCallEvent()) {
             element = Model.getStateMachinesFactory().createCallEvent();
             if (container instanceof Transition) {
@@ -861,6 +871,14 @@
         return element;
     }
     
+    private void setNewAction(Object container, Action action) {
+        if (container instanceof Transition) {
+            ((Transition) container).setEffect((Action) action);
+        } else {
+            ((State) container).setEntry((Action) action);
+        }
+    }
+    
     /**
      * Add a newly created event to a trigger
      * @param transition

Modified: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml?view=diff&pathrev=18261&r1=18260&r2=18261
==============================================================================
--- 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
       (original)
+++ 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
       2010-04-14 13:44:25-0700
@@ -2892,7 +2892,7 @@
   <panel name="CompositeState">
     <text name="name" type="Name" />
        <singlerow name="container" type="CompositeState" />    
-    <list name="entry" type="Action" />
+    <singlerow name="entry" 
type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence"
 />
     <list name="exit" type="Action" />
     <list name="doActivity" type="Action" label="label.do-activity" />
     <separator />
@@ -3032,7 +3032,7 @@
   <panel name="SimpleState">
     <text name="name" type="Name" />
     <singlerow name="container" type="CompositeState" />
-    <list name="entry" type="Action" />
+    <singlerow name="entry" 
type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence"
 />
     <list name="exit" type="Action" />
     <list name="doActivity" type="Action" label="label.do-activity" />
     <list name="deferrableEvent" 
type="org.omg.uml.behavioralelements.statemachines.CallEvent,org.omg.uml.behavioralelements.statemachines.ChangeEvent,org.omg.uml.behavioralelements.statemachines.SignalEvent,org.omg.uml.behavioralelements.statemachines.TimeEvent"
 label="label.deferrable" />
@@ -3071,7 +3071,7 @@
     <text name="name" type="Name" />
     <singlerow name="container" type="CompositeState" />
     <combo name="submachine" type="StateMachine" />
-    <list name="entry" type="Action" />
+    <singlerow name="entry" 
type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence"
 />
     <list name="exit" type="Action" />
     <list name="doActivity" type="Action" label="label.do-activity" />
     <separator />
@@ -3179,7 +3179,7 @@
   <panel name="FinalState">
     <text name="name" type="Name" />
     <singlerow name="container" type="CompositeState" />
-       <list name="entry" type="Action" />
+    <singlerow name="entry" 
type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence"
 />
     <list name="doActivity" type="Action" label="label.do-activity" />
     <separator />
     <list name="incoming" type="Transition" />
@@ -3630,7 +3630,7 @@
   <panel name="ActionState">
     <text name="name" type="Name" />
     <singlerow name="container" type="CompositeState" />
-    <list name="entry" type="Action" />
+    <singlerow name="entry" 
type="org.omg.uml.behavioralelements.commonbehavior.CallAction,org.omg.uml.behavioralelements.commonbehavior.CreateAction,org.omg.uml.behavioralelements.commonbehavior.DestroyAction,org.omg.uml.behavioralelements.commonbehavior.ReturnAction,org.omg.uml.behavioralelements.commonbehavior.SendAction,org.omg.uml.behavioralelements.commonbehavior.TerminateAction,org.omg.uml.behavioralelements.commonbehavior.UninterpretedAction,org.omg.uml.behavioralelements.commonbehavior.ActionSequence"
 />
     <list name="deferrableEvent" 
type="org.omg.uml.behavioralelements.statemachines.CallEvent,org.omg.uml.behavioralelements.statemachines.ChangeEvent,org.omg.uml.behavioralelements.statemachines.SignalEvent,org.omg.uml.behavioralelements.statemachines.TimeEvent"
 label="label.deferrable" />
     <separator />
     <list name="outgoing" type="Transition" />
@@ -3672,7 +3672,7 @@
   <panel name="CallState">
     <text name="name" type="Name" />
     <singlerow name="container" type="CompositeState" />
-    <list name="entry" type="Action" />
+    <singlerow name="entry" 
type="org.omg.uml.behavioralelements.commonbehavior.CallAction" />
     <list name="deferrableEvent" 
type="org.omg.uml.behavioralelements.statemachines.CallEvent,org.omg.uml.behavioralelements.statemachines.ChangeEvent,org.omg.uml.behavioralelements.statemachines.SignalEvent,org.omg.uml.behavioralelements.statemachines.TimeEvent"
 label="label.deferrable" />
     <separator />
     <list name="outgoing" type="Transition" />

Modified: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java?view=diff&pathrev=18261&r1=18260&r2=18261
==============================================================================
--- 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
    (original)
+++ 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
    2010-04-14 13:44:25-0700
@@ -88,6 +88,7 @@
         addGetterSetter("templateParameter", new 
TemplateParameterGetterSetter());
         addGetterSetter("reception", new ReceptionGetterSetter());
         addGetterSetter("deferrableEvent", new DeferrableEventGetterSetter());
+        addGetterSetter("entry", new EntryActionGetterSetter());
         
         // UML2 only
         addGetterSetter("ownedOperation", new FeatureGetterSetter());
@@ -1033,6 +1034,32 @@
         }
     }
     
+    private class EntryActionGetterSetter extends ListGetterSetter {
+        
+        public Collection getOptions(Object modelElement, String type) {
+               final ArrayList list = new ArrayList(1);
+               list.add(Model.getFacade().getEntry(modelElement));
+            return list;
+        }
+      
+        public Object get(Object modelElement, String type) {
+            // not needed
+            return null;
+        }
+      
+        public void set(Object element, Object x) {
+            // not needed
+        }
+
+        public boolean isValidElement(Object element, String type) {
+            return getOptions(element, type).contains(element);
+        }
+        
+        public Object getMetaType() {
+            return Model.getMetaTypes().getAction();
+        }
+    }
+    
     private class TemplateParameterGetterSetter extends ListGetterSetter {
         
         public Collection getOptions(Object modelElement, String type) {

Modified: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java?view=diff&pathrev=18261&r1=18260&r2=18261
==============================================================================
--- 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
   (original)
+++ 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
   2010-04-14 13:44:25-0700
@@ -101,10 +101,6 @@
             model = new UMLStateDoActivityListModel(modelElement);
             JList l = new UMLStateDoActivityList((UMLModelElementListModel) 
model);
             list = new OldScrollList(l);
-        } else if ("entry".equals(propName)) {
-            model = new UMLStateEntryListModel(modelElement);
-            JList l = new UMLStateEntryList((UMLModelElementListModel) model);
-            list = new OldScrollList(l);
         } else if ("exit".equals(propName)) {
             model = new UMLStateExitListModel(modelElement);
             JList l = new UMLStateExitList((UMLModelElementListModel) model);

Removed: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryList.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryList.java?view=markup&pathrev=18260

Removed: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryListModel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLStateEntryListModel.java?view=markup&pathrev=18260

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

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

Reply via email to