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