Add tests
- Failed attempt to find failing tests for #216 but then we can't ever have enought tests so stashing ongoing work here.
This commit is contained in:
@@ -34,6 +34,7 @@ import org.springframework.statemachine.ObjectStateMachine;
|
||||
import org.springframework.statemachine.StateMachineSystemConstants;
|
||||
import org.springframework.statemachine.config.EnableStateMachine;
|
||||
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
|
||||
import org.springframework.statemachine.config.StateMachineConfigurerAdapter;
|
||||
import org.springframework.statemachine.config.builders.StateMachineStateConfigurer;
|
||||
import org.springframework.statemachine.config.builders.StateMachineTransitionConfigurer;
|
||||
|
||||
@@ -120,6 +121,18 @@ public class EndStateTests extends AbstractStateMachineTests {
|
||||
assertThat(machine.getState().getIds(), contains(TestStates.S1, TestStates.SF));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMultipleTransitionsToSameEndState() {
|
||||
context.register(Config5.class);
|
||||
context.refresh();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMultipleTransitionsToSameEndStateFromChoices() {
|
||||
context.register(Config6.class);
|
||||
context.refresh();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
static class Config1 extends EnumStateMachineConfigurerAdapter<TestStates, TestEvents> {
|
||||
@@ -347,4 +360,80 @@ public class EndStateTests extends AbstractStateMachineTests {
|
||||
return new SyncTaskExecutor();
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
static class Config5 extends EnumStateMachineConfigurerAdapter<TestStates, TestEvents> {
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineStateConfigurer<TestStates, TestEvents> states) throws Exception {
|
||||
states
|
||||
.withStates()
|
||||
.initial(TestStates.SI)
|
||||
.state(TestStates.S1)
|
||||
.state(TestStates.S2)
|
||||
.end(TestStates.SF);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineTransitionConfigurer<TestStates, TestEvents> transitions) throws Exception {
|
||||
transitions
|
||||
.withExternal()
|
||||
.source(TestStates.SI)
|
||||
.target(TestStates.S1)
|
||||
.event(TestEvents.E1)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TestStates.SI)
|
||||
.target(TestStates.S2)
|
||||
.event(TestEvents.E2)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TestStates.S1)
|
||||
.target(TestStates.SF)
|
||||
.event(TestEvents.E3)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TestStates.S2)
|
||||
.target(TestStates.SF)
|
||||
.event(TestEvents.E3);
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
static class Config6 extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineStateConfigurer<String, String> states) throws Exception {
|
||||
states
|
||||
.withStates()
|
||||
.initial("SI")
|
||||
.choice("JOIN1")
|
||||
.choice("JOIN2")
|
||||
.end("SF");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineTransitionConfigurer<String, String> transitions) throws Exception {
|
||||
transitions
|
||||
.withExternal()
|
||||
.source("SI")
|
||||
.target("JOIN1")
|
||||
.event("E1")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("SI")
|
||||
.target("JOIN2")
|
||||
.event("E2")
|
||||
.and()
|
||||
.withChoice()
|
||||
.source("JOIN1")
|
||||
.last("SF")
|
||||
.and()
|
||||
.withChoice()
|
||||
.source("JOIN2")
|
||||
.last("SF");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -566,6 +566,18 @@ public class UmlStateMachineModelFactoryTests extends AbstractUmlTests {
|
||||
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S1"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSimpleFlatMultipleToEnds() throws Exception {
|
||||
context.register(Config17.class);
|
||||
context.refresh();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSimpleFlatMultipleToEndsViachoices() throws Exception {
|
||||
context.register(Config18.class);
|
||||
context.refresh();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
public static class Config2 extends StateMachineConfigurerAdapter<String, String> {
|
||||
@@ -890,6 +902,40 @@ public class UmlStateMachineModelFactoryTests extends AbstractUmlTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
public static class Config17 extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineModelConfigurer<String, String> model) throws Exception {
|
||||
model
|
||||
.withModel()
|
||||
.factory(modelFactory());
|
||||
}
|
||||
|
||||
@Bean
|
||||
public StateMachineModelFactory<String, String> modelFactory() {
|
||||
return new UmlStateMachineModelFactory("classpath:org/springframework/statemachine/uml/simple-flat-multiple-to-end.uml");
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
public static class Config18 extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineModelConfigurer<String, String> model) throws Exception {
|
||||
model
|
||||
.withModel()
|
||||
.factory(modelFactory());
|
||||
}
|
||||
|
||||
@Bean
|
||||
public StateMachineModelFactory<String, String> modelFactory() {
|
||||
return new UmlStateMachineModelFactory("classpath:org/springframework/statemachine/uml/simple-flat-multiple-to-end-viachoices.uml");
|
||||
}
|
||||
}
|
||||
|
||||
public static class LatchAction implements Action<String, String> {
|
||||
CountDownLatch latch = new CountDownLatch(1);
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
|
||||
@@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_3Vk8YQ-8EeaqleSKKcvuHQ" type="PapyrusUMLStateMachineDiagram" name="StateMachine Diagram" measurementUnit="Pixel">
|
||||
<children xmi:type="notation:Shape" xmi:id="_3Vk8Yg-8EeaqleSKKcvuHQ" type="2000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_3Vk8Yw-8EeaqleSKKcvuHQ" type="2001">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Vk8ZA-8EeaqleSKKcvuHQ" width="700" height="23"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_3Vk8ZQ-8EeaqleSKKcvuHQ" type="2002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_3Vk8Zg-8EeaqleSKKcvuHQ" type="3000">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3Vk8Zw-8EeaqleSKKcvuHQ" source="RegionAnnotationKey">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3Vk8aA-8EeaqleSKKcvuHQ" key="RegionZoneKey" value=""/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_3Vk8aQ-8EeaqleSKKcvuHQ" type="3002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_5hO7oA-8EeaqleSKKcvuHQ" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5hO7og-8EeaqleSKKcvuHQ" type="6001"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5hO7ow-8EeaqleSKKcvuHQ" type="19003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_5hO7pA-8EeaqleSKKcvuHQ" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5hO7pQ-8EeaqleSKKcvuHQ" type="6002">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_5hO7pg-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="simple-flat-multiple-to-end-viachoices.uml#_5hNGcA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_5hO7oQ-8EeaqleSKKcvuHQ" x="163" y="65"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_7PhCYA-8EeaqleSKKcvuHQ" type="8000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7PhCYg-8EeaqleSKKcvuHQ" type="8001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_7PhCYw-8EeaqleSKKcvuHQ" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7PhCZA-8EeaqleSKKcvuHQ" type="8002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_7PhCZQ-8EeaqleSKKcvuHQ" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="simple-flat-multiple-to-end-viachoices.uml#_7PemIA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PhCYQ-8EeaqleSKKcvuHQ" x="48" y="76"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_9Z8SkA-8EeaqleSKKcvuHQ" type="11000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9Z8Skg-8EeaqleSKKcvuHQ" type="11001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_9Z8Skw-8EeaqleSKKcvuHQ" x="-1" y="-28"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9Z8SlA-8EeaqleSKKcvuHQ" type="11002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_9Z8SlQ-8EeaqleSKKcvuHQ" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="simple-flat-multiple-to-end-viachoices.uml#_9Z4oMA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Z8SkQ-8EeaqleSKKcvuHQ" x="301" y="43"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_--DwsA-8EeaqleSKKcvuHQ" type="11000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_--Dwsg-8EeaqleSKKcvuHQ" type="11001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_--Dwsw-8EeaqleSKKcvuHQ" x="-5" y="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_--EXwA-8EeaqleSKKcvuHQ" type="11002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_--EXwQ-8EeaqleSKKcvuHQ" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="simple-flat-multiple-to-end-viachoices.uml#_-9_fQA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_--DwsQ-8EeaqleSKKcvuHQ" x="301" y="112"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_DdHV8A-9EeaqleSKKcvuHQ" type="5000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_DdHV8g-9EeaqleSKKcvuHQ" type="5001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_DdHV8w-9EeaqleSKKcvuHQ" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_DdHV9A-9EeaqleSKKcvuHQ" type="5002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_DdHV9Q-9EeaqleSKKcvuHQ" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:FinalState" href="simple-flat-multiple-to-end-viachoices.uml#_DdCdcA-9EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_DdHV8Q-9EeaqleSKKcvuHQ" x="470" y="78"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Vk8ag-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Region" href="simple-flat-multiple-to-end-viachoices.uml#_3Vk8YA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Vk8aw-8EeaqleSKKcvuHQ" width="700" height="287"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Vk8bA-8EeaqleSKKcvuHQ" y="23" width="700" height="287"/>
|
||||
</children>
|
||||
<element xmi:type="uml:StateMachine" href="simple-flat-multiple-to-end-viachoices.uml#_3VkVUA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Vk8bQ-8EeaqleSKKcvuHQ" x="30" y="30" width="700" height="310"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:StringValueStyle" xmi:id="_3Vk8bg-8EeaqleSKKcvuHQ" name="diagram_compatibility_version" stringValue="1.1.0"/>
|
||||
<styles xmi:type="notation:DiagramStyle" xmi:id="_3Vk8bw-8EeaqleSKKcvuHQ"/>
|
||||
<styles xmi:type="style:PapyrusViewStyle" xmi:id="_3Vk8cA-8EeaqleSKKcvuHQ">
|
||||
<owner xmi:type="uml:Model" href="simple-flat-multiple-to-end-viachoices.uml#_3Vh5EA-8EeaqleSKKcvuHQ"/>
|
||||
</styles>
|
||||
<element xmi:type="uml:StateMachine" href="simple-flat-multiple-to-end-viachoices.uml#_3VkVUA-8EeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_82iqkA-8EeaqleSKKcvuHQ" type="7000" source="_7PhCYA-8EeaqleSKKcvuHQ" target="_5hO7oA-8EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_82iqkw-8EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_82iqlA-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_82iqlQ-8EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_82iqlg-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_82iqlw-8EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_82iqmA-8EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_82iqkQ-8EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end-viachoices.uml#_82eZIA-8EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_82iqkg-8EeaqleSKKcvuHQ" points="[8, -1, -103, 0]$[105, -3, -6, -2]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_82sbkA-8EeaqleSKKcvuHQ" id="(1.0,0.45)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_82sbkQ-8EeaqleSKKcvuHQ" id="(0.0,0.425531914893617)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_Eko-sA-9EeaqleSKKcvuHQ" type="7000" source="_5hO7oA-8EeaqleSKKcvuHQ" target="_9Z8SkA-8EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Eko-sw-9EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Eko-tA-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Eko-tQ-9EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Eko-tg-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Eko-tw-9EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Eko-uA-9EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_Eko-sQ-9EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end-viachoices.uml#_EkiRAA-9EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eko-sg-9EeaqleSKKcvuHQ" points="[40, 17, -108, 31]$[144, -15, -4, -1]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ek7SkA-9EeaqleSKKcvuHQ" id="(1.0,0.3404255319148936)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ek7SkQ-9EeaqleSKKcvuHQ" id="(0.0,0.5)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_FLxQIA-9EeaqleSKKcvuHQ" type="7000" source="_5hO7oA-8EeaqleSKKcvuHQ" target="_--DwsA-8EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_FLxQIw-9EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_FLxQJA-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_FLxQJQ-9EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_FLxQJg-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_FLxQJw-9EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_FLxQKA-9EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_FLxQIQ-9EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end-viachoices.uml#_FLp7YA-9EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FLxQIg-9EeaqleSKKcvuHQ" points="[40, 15, -106, -41]$[141, 55, -5, -1]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FMEyIA-9EeaqleSKKcvuHQ" id="(1.0,0.723404255319149)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FMEyIQ-9EeaqleSKKcvuHQ" id="(0.0,0.35)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_Fux2kA-9EeaqleSKKcvuHQ" type="7000" source="_9Z8SkA-8EeaqleSKKcvuHQ" target="_DdHV8A-9EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Fux2kw-9EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Fux2lA-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Fux2lQ-9EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Fux2lg-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Fux2lw-9EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Fux2mA-9EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_Fux2kQ-9EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end-viachoices.uml#_FurI4A-9EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Fux2kg-9EeaqleSKKcvuHQ" points="[17, 4, -132, -31]$[157, 35, 8, 0]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Fu-q4A-9EeaqleSKKcvuHQ" id="(1.0,0.7)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Fu-q4Q-9EeaqleSKKcvuHQ" id="(0.0,0.3)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_GNxfsA-9EeaqleSKKcvuHQ" type="7000" source="_--DwsA-8EeaqleSKKcvuHQ" target="_DdHV8A-9EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GNxfsw-9EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GNxftA-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GNxftQ-9EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GNxftg-9EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GNxftw-9EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GNxfuA-9EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_GNxfsQ-9EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end-viachoices.uml#_GNpj4A-9EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GNxfsg-9EeaqleSKKcvuHQ" points="[16, -5, -133, 29]$[151, -43, 2, -9]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GOBXUA-9EeaqleSKKcvuHQ" id="(1.0,0.05)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GOBXUQ-9EeaqleSKKcvuHQ" id="(0.0,0.4)"/>
|
||||
</edges>
|
||||
</notation:Diagram>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_3Vh5EA-8EeaqleSKKcvuHQ" name="RootElement">
|
||||
<packagedElement xmi:type="uml:StateMachine" xmi:id="_3VkVUA-8EeaqleSKKcvuHQ" name="StateMachine">
|
||||
<region xmi:type="uml:Region" xmi:id="_3Vk8YA-8EeaqleSKKcvuHQ" name="Region1">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_82eZIA-8EeaqleSKKcvuHQ" source="_7PemIA-8EeaqleSKKcvuHQ" target="_5hNGcA-8EeaqleSKKcvuHQ"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_EkiRAA-9EeaqleSKKcvuHQ" source="_5hNGcA-8EeaqleSKKcvuHQ" target="_9Z4oMA-8EeaqleSKKcvuHQ"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_FLp7YA-9EeaqleSKKcvuHQ" source="_5hNGcA-8EeaqleSKKcvuHQ" target="_-9_fQA-8EeaqleSKKcvuHQ"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_FurI4A-9EeaqleSKKcvuHQ" source="_9Z4oMA-8EeaqleSKKcvuHQ" target="_DdCdcA-9EeaqleSKKcvuHQ"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_GNpj4A-9EeaqleSKKcvuHQ" source="_-9_fQA-8EeaqleSKKcvuHQ" target="_DdCdcA-9EeaqleSKKcvuHQ"/>
|
||||
<subvertex xmi:type="uml:State" xmi:id="_5hNGcA-8EeaqleSKKcvuHQ" name="S1"/>
|
||||
<subvertex xmi:type="uml:Pseudostate" xmi:id="_7PemIA-8EeaqleSKKcvuHQ" name=""/>
|
||||
<subvertex xmi:type="uml:Pseudostate" xmi:id="_9Z4oMA-8EeaqleSKKcvuHQ" name="CHOICE1" kind="choice"/>
|
||||
<subvertex xmi:type="uml:Pseudostate" xmi:id="_-9_fQA-8EeaqleSKKcvuHQ" name="CHOICE2" kind="choice"/>
|
||||
<subvertex xmi:type="uml:FinalState" xmi:id="_DdCdcA-9EeaqleSKKcvuHQ" name="FINAL"/>
|
||||
</region>
|
||||
</packagedElement>
|
||||
</uml:Model>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_BmqAEQ-8EeaqleSKKcvuHQ" type="PapyrusUMLStateMachineDiagram" name="StateMachine Diagram" measurementUnit="Pixel">
|
||||
<children xmi:type="notation:Shape" xmi:id="_BmqAEg-8EeaqleSKKcvuHQ" type="2000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BmqAEw-8EeaqleSKKcvuHQ" type="2001">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmqAFA-8EeaqleSKKcvuHQ" width="700" height="23"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BmqAFQ-8EeaqleSKKcvuHQ" type="2002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_BmqAFg-8EeaqleSKKcvuHQ" type="3000">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BmqAFw-8EeaqleSKKcvuHQ" source="RegionAnnotationKey">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BmqAGA-8EeaqleSKKcvuHQ" key="RegionZoneKey" value=""/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BmqAGQ-8EeaqleSKKcvuHQ" type="3002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_QGREQA-8EeaqleSKKcvuHQ" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_QGREQg-8EeaqleSKKcvuHQ" type="6001">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rjmk8A-8EeaqleSKKcvuHQ" width="68"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_QGREQw-8EeaqleSKKcvuHQ" type="19003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_QGRERA-8EeaqleSKKcvuHQ" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_QGRERQ-8EeaqleSKKcvuHQ" type="6002">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGRERg-8EeaqleSKKcvuHQ" y="-1" width="68"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="simple-flat-multiple-to-end.uml#_QGOoAA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGREQQ-8EeaqleSKKcvuHQ" x="110" y="45" width="68"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_SHRSsA-8EeaqleSKKcvuHQ" type="8000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_SHRSsg-8EeaqleSKKcvuHQ" type="8001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_SHRSsw-8EeaqleSKKcvuHQ" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_SHRStA-8EeaqleSKKcvuHQ" type="8002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_SHRStQ-8EeaqleSKKcvuHQ" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="simple-flat-multiple-to-end.uml#_SHO2cA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_SHRSsQ-8EeaqleSKKcvuHQ" x="32" y="50"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_XSG_4A-8EeaqleSKKcvuHQ" type="5000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_XSG_4g-8EeaqleSKKcvuHQ" type="5001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_XSG_4w-8EeaqleSKKcvuHQ" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_XSG_5A-8EeaqleSKKcvuHQ" type="5002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_XSG_5Q-8EeaqleSKKcvuHQ" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:FinalState" href="simple-flat-multiple-to-end.uml#_XSDVgA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_XSG_4Q-8EeaqleSKKcvuHQ" x="324" y="38"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_YutgwA-8EeaqleSKKcvuHQ" type="5000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Yutgwg-8EeaqleSKKcvuHQ" type="5001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yutgww-8EeaqleSKKcvuHQ" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_YutgxA-8EeaqleSKKcvuHQ" type="5002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_YutgxQ-8EeaqleSKKcvuHQ" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:FinalState" href="simple-flat-multiple-to-end.uml#_YupPUA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_YutgwQ-8EeaqleSKKcvuHQ" x="324" y="92"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmqAGg-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Region" href="simple-flat-multiple-to-end.uml#_BmqAEA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmqAGw-8EeaqleSKKcvuHQ" width="700" height="287"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmqAHA-8EeaqleSKKcvuHQ" y="23" width="700" height="287"/>
|
||||
</children>
|
||||
<element xmi:type="uml:StateMachine" href="simple-flat-multiple-to-end.uml#_BmpZAA-8EeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmqAHQ-8EeaqleSKKcvuHQ" x="30" y="30" width="700" height="310"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:StringValueStyle" xmi:id="_BmqAHg-8EeaqleSKKcvuHQ" name="diagram_compatibility_version" stringValue="1.1.0"/>
|
||||
<styles xmi:type="notation:DiagramStyle" xmi:id="_BmqAHw-8EeaqleSKKcvuHQ"/>
|
||||
<styles xmi:type="style:PapyrusViewStyle" xmi:id="_BmqAIA-8EeaqleSKKcvuHQ">
|
||||
<owner xmi:type="uml:Model" href="simple-flat-multiple-to-end.uml#_Bmm8wA-8EeaqleSKKcvuHQ"/>
|
||||
</styles>
|
||||
<element xmi:type="uml:StateMachine" href="simple-flat-multiple-to-end.uml#_BmpZAA-8EeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_Uh0pkA-8EeaqleSKKcvuHQ" type="7000" source="_SHRSsA-8EeaqleSKKcvuHQ" target="_QGREQA-8EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Uh0pkw-8EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Uh0plA-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Uh0plQ-8EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Uh0plg-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Uh0plw-8EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Uh0pmA-8EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_Uh0pkQ-8EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end.uml#_Uhw_MA-8EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Uh0pkg-8EeaqleSKKcvuHQ" points="[8, 0, -73, 0]$[68, -6, -13, -6]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Uh9zgA-8EeaqleSKKcvuHQ" id="(1.0,0.45)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Uh-akA-8EeaqleSKKcvuHQ" id="(0.0,0.2978723404255319)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_btWcIA-8EeaqleSKKcvuHQ" type="7000" source="_QGREQA-8EeaqleSKKcvuHQ" target="_XSG_4A-8EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_btXDMA-8EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_btXDMQ-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_btXDMg-8EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_btXDMw-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_btXDNA-8EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_btXDNQ-8EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_btWcIQ-8EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end.uml#_btQVgA-8EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_btWcIg-8EeaqleSKKcvuHQ" points="[13, -2, -156, 15]$[170, -9, 1, 8]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_btmTwA-8EeaqleSKKcvuHQ" id="(1.0,0.3829787234042553)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_btmTwQ-8EeaqleSKKcvuHQ" id="(0.0,0.6)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_cvkuIA-8EeaqleSKKcvuHQ" type="7000" source="_QGREQA-8EeaqleSKKcvuHQ" target="_YutgwA-8EeaqleSKKcvuHQ">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_cvkuIw-8EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_cvkuJA-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_cvkuJQ-8EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_cvkuJg-8EeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_cvkuJw-8EeaqleSKKcvuHQ" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_cvkuKA-8EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_cvkuIQ-8EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="simple-flat-multiple-to-end.uml#_cvengA-8EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cvkuIg-8EeaqleSKKcvuHQ" points="[68, 18, -156, -39]$[219, 65, -5, 8]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cv2a8A-8EeaqleSKKcvuHQ" id="(1.0,0.7021276595744681)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cv2a8Q-8EeaqleSKKcvuHQ" id="(0.0,0.55)"/>
|
||||
</edges>
|
||||
</notation:Diagram>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_Bmm8wA-8EeaqleSKKcvuHQ" name="RootElement">
|
||||
<packagedElement xmi:type="uml:StateMachine" xmi:id="_BmpZAA-8EeaqleSKKcvuHQ" name="StateMachine">
|
||||
<region xmi:type="uml:Region" xmi:id="_BmqAEA-8EeaqleSKKcvuHQ" name="Region1">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_Uhw_MA-8EeaqleSKKcvuHQ" source="_SHO2cA-8EeaqleSKKcvuHQ" target="_QGOoAA-8EeaqleSKKcvuHQ"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_btQVgA-8EeaqleSKKcvuHQ" source="_QGOoAA-8EeaqleSKKcvuHQ" target="_XSDVgA-8EeaqleSKKcvuHQ"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_cvengA-8EeaqleSKKcvuHQ" source="_QGOoAA-8EeaqleSKKcvuHQ" target="_YupPUA-8EeaqleSKKcvuHQ"/>
|
||||
<subvertex xmi:type="uml:State" xmi:id="_QGOoAA-8EeaqleSKKcvuHQ" name="S1"/>
|
||||
<subvertex xmi:type="uml:Pseudostate" xmi:id="_SHO2cA-8EeaqleSKKcvuHQ" name=""/>
|
||||
<subvertex xmi:type="uml:FinalState" xmi:id="_XSDVgA-8EeaqleSKKcvuHQ" name="FINAL1"/>
|
||||
<subvertex xmi:type="uml:FinalState" xmi:id="_YupPUA-8EeaqleSKKcvuHQ" name="FINAL2"/>
|
||||
</region>
|
||||
</packagedElement>
|
||||
</uml:Model>
|
||||
Reference in New Issue
Block a user