diff options
author | skovalsky | 2015-03-30 12:04:48 +0000 |
---|---|---|
committer | Camille Letavernier | 2015-03-30 13:51:00 +0000 |
commit | 427a5d8ca43b66287bebcf3f6052dd9f6ab68b7b (patch) | |
tree | 22c5ffc48a8c2e05c00fbb06fbf961dd2a1255f1 | |
parent | 6ad5d5be4a0e68abb76febecb399cc206a5c74e5 (diff) | |
download | org.eclipse.papyrus-427a5d8ca43b66287bebcf3f6052dd9f6ab68b7b.tar.gz org.eclipse.papyrus-427a5d8ca43b66287bebcf3f6052dd9f6ab68b7b.tar.xz org.eclipse.papyrus-427a5d8ca43b66287bebcf3f6052dd9f6ab68b7b.zip |
Bug 463414 - [StateMachine Diagram] Entry and Exit point are not
properly created: kind is invalid
Change-Id: I19255d1e11434c87c2eee5e253458e0fd24c13f5
Signed-off-by: skovalsky <kovalsky@montages.com>
Reviewed-on: https://git.eclipse.org/r/44832
Tested-by: Hudson CI
Reviewed-by: Michael Golubev <golubev@montages.com>
Reviewed-by: Camille Letavernier <camille.letavernier@cea.fr>
3 files changed, 18 insertions, 2 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/helpers/advice/PseudostateKindInitializerAdvice.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/helpers/advice/PseudostateKindInitializerAdvice.java index e19e5973712..39750353094 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/helpers/advice/PseudostateKindInitializerAdvice.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/custom-src/org/eclipse/papyrus/uml/diagram/statemachine/custom/helpers/advice/PseudostateKindInitializerAdvice.java @@ -79,6 +79,12 @@ public class PseudostateKindInitializerAdvice extends AbstractEditHelperAdvice { if (UMLElementTypes.Pseudostate_15000.equals(type) || superTypes.contains(UMLElementTypes.Pseudostate_15000)) {
return PseudostateKind.TERMINATE_LITERAL;
}
+ if (UMLElementTypes.Pseudostate_16000.equals(type) || superTypes.contains(UMLElementTypes.Pseudostate_16000)) {
+ return PseudostateKind.ENTRY_POINT_LITERAL;
+ }
+ if (UMLElementTypes.Pseudostate_17000.equals(type) || superTypes.contains(UMLElementTypes.Pseudostate_17000)) {
+ return PseudostateKind.EXIT_POINT_LITERAL;
+ }
return null;
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/model/stateMachineDiagram.elementtypesconfigurations b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/model/stateMachineDiagram.elementtypesconfigurations index c194cf3019b..09133d46bc8 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/model/stateMachineDiagram.elementtypesconfigurations +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine/model/stateMachineDiagram.elementtypesconfigurations @@ -83,11 +83,11 @@ </elementTypeConfigurations>
<elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_whcvIMeDEeSwP_9Vn5UnWg" name="Pseudostate" identifier="org.eclipse.papyrus.uml.diagram.statemachine.Pseudostate_16000" hint="16000">
<iconEntry xmi:id="_whcvIceDEeSwP_9Vn5UnWg" iconPath="/icons/full/obj16/Pseudostate.gif" bundleId="org.eclipse.uml2.uml.edit"/>
- <specializedTypesID>org.eclipse.papyrus.uml.Pseudostate</specializedTypesID>
+ <specializedTypesID>org.eclipse.papyrus.uml.BasePseudostateType</specializedTypesID>
</elementTypeConfigurations>
<elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_whd9QMeDEeSwP_9Vn5UnWg" name="Pseudostate" identifier="org.eclipse.papyrus.uml.diagram.statemachine.Pseudostate_17000" hint="17000">
<iconEntry xmi:id="_whd9QceDEeSwP_9Vn5UnWg" iconPath="/icons/full/obj16/Pseudostate.gif" bundleId="org.eclipse.uml2.uml.edit"/>
- <specializedTypesID>org.eclipse.papyrus.uml.Pseudostate</specializedTypesID>
+ <specializedTypesID>org.eclipse.papyrus.uml.BasePseudostateType</specializedTypesID>
</elementTypeConfigurations>
<elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_whH_AMeDEeSwP_9Vn5UnWg" name="Region" identifier="org.eclipse.papyrus.uml.diagram.statemachine.Region_3000" hint="3000">
<iconEntry xmi:id="_whH_AceDEeSwP_9Vn5UnWg" iconPath="/icons/full/obj16/Region.gif" bundleId="org.eclipse.uml2.uml.edit"/>
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/src/org/eclipse/papyrus/uml/diagram/statemachine/tests/canonical/TestSemantic.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/src/org/eclipse/papyrus/uml/diagram/statemachine/tests/canonical/TestSemantic.java index 16e6978810b..b4632e4d575 100644 --- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/src/org/eclipse/papyrus/uml/diagram/statemachine/tests/canonical/TestSemantic.java +++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/src/org/eclipse/papyrus/uml/diagram/statemachine/tests/canonical/TestSemantic.java @@ -264,6 +264,16 @@ public class TestSemantic extends BaseTestCase { } @Test + public void testEntryPointJunctionKind() { + checkPseudostateKind(PseudostateEntryPointEditPart.VISUAL_ID, PseudostateKind.ENTRY_POINT_LITERAL, "EntryPoint"); + } + + @Test + public void testPseudostateExitPointKind() { + checkPseudostateKind(PseudostateExitPointEditPart.VISUAL_ID, PseudostateKind.EXIT_POINT_LITERAL, "ExitPoint"); + } + + @Test public void testPseudostateTerminateKind() { checkPseudostateKind(PseudostateTerminateEditPart.VISUAL_ID, PseudostateKind.TERMINATE_LITERAL, "Terminate"); } |