Add new tck test
- New ShowcaseMachine test - Remove old showcase uml tests - Relates to #278
This commit is contained in:
@@ -1,459 +0,0 @@
|
||||
/*
|
||||
* Copyright 2016 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.statemachine.buildtests;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.statemachine.StateContext;
|
||||
import org.springframework.statemachine.StateMachine;
|
||||
import org.springframework.statemachine.action.Action;
|
||||
import org.springframework.statemachine.config.EnableStateMachine;
|
||||
import org.springframework.statemachine.config.StateMachineConfigurerAdapter;
|
||||
import org.springframework.statemachine.config.builders.StateMachineModelConfigurer;
|
||||
import org.springframework.statemachine.config.model.StateMachineModelFactory;
|
||||
import org.springframework.statemachine.guard.Guard;
|
||||
import org.springframework.statemachine.test.StateMachineTestPlan;
|
||||
import org.springframework.statemachine.test.StateMachineTestPlanBuilder;
|
||||
import org.springframework.statemachine.uml.UmlStateMachineModelFactory;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public class ShowcaseUmlTests extends AbstractBuildTests {
|
||||
|
||||
@Test
|
||||
public void testInitialState() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testA() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("A")
|
||||
.expectStateChanged(0)
|
||||
.expectStateEntered(0)
|
||||
.expectStateExited(0)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testB() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("B")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(2)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCHKA() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectVariable("foo", 1)
|
||||
.expectTransition(1)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("K")
|
||||
.expectStateEntered(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("A")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(2)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testC() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCK() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("K")
|
||||
.expectStateEntered(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testD() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("D")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCD() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("D")
|
||||
.expectStateEntered(2)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testI() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("I")
|
||||
.expectStateEntered(1)
|
||||
.expectStates("S0", "S1", "S12").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testII() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("I")
|
||||
.expectStateEntered(1)
|
||||
.expectStateEntered(1)
|
||||
.expectStateExited(1)
|
||||
.expectStates("S0", "S1", "S12").and()
|
||||
.step()
|
||||
.sendEvent("I")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(3)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S2", "S21", "S212").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testH() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step()
|
||||
.expectStates("S0", "S1", "S11")
|
||||
.expectVariable("foo", 0).and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectTransition(1)
|
||||
.expectVariable("foo", 0)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCH() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step()
|
||||
.expectStates("S0", "S1", "S11")
|
||||
.expectVariable("foo", 0).and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectVariable("foo", 1)
|
||||
.expectTransition(1)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testACH() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("A")
|
||||
.expectStateChanged(0)
|
||||
.expectStateEntered(0)
|
||||
.expectStateExited(0)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectVariable("foo", 1)
|
||||
.expectTransition(1)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testE() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("E")
|
||||
.expectStateChanged(3)
|
||||
.expectStateEntered(4)
|
||||
.expectStateExited(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testF() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("F")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(3)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testG() throws Exception {
|
||||
context.register(Config1.class);
|
||||
context.refresh();
|
||||
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
|
||||
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("G")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(3)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
public static class Config1 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/buildtests/showcase.uml");
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Guard<String, String> exitGuard() {
|
||||
return (context) -> {
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo0Guard() {
|
||||
return new FooGuard(0);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo1Guard() {
|
||||
return new FooGuard(1);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooAction fooAction() {
|
||||
return new FooAction();
|
||||
}
|
||||
}
|
||||
|
||||
private static class FooAction implements Action<String, String> {
|
||||
|
||||
@Override
|
||||
public void execute(StateContext<String, String> context) {
|
||||
Map<Object, Object> variables = context.getExtendedState().getVariables();
|
||||
Integer foo = context.getExtendedState().get("foo", Integer.class);
|
||||
if (foo == null) {
|
||||
variables.put("foo", 0);
|
||||
} else if (foo == 0) {
|
||||
variables.put("foo", 1);
|
||||
} else if (foo == 1) {
|
||||
variables.put("foo", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class FooGuard implements Guard<String, String> {
|
||||
|
||||
private final int match;
|
||||
|
||||
public FooGuard(int match) {
|
||||
this.match = match;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean evaluate(StateContext<String, String> context) {
|
||||
Object foo = context.getExtendedState().getVariables().get("foo");
|
||||
return !(foo == null || !foo.equals(match));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AnnotationConfigApplicationContext buildContext() {
|
||||
return new AnnotationConfigApplicationContext();
|
||||
}
|
||||
}
|
||||
@@ -15,12 +15,19 @@
|
||||
*/
|
||||
package org.springframework.statemachine.buildtests.tck;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.statemachine.StateContext;
|
||||
import org.springframework.statemachine.StateMachine;
|
||||
import org.springframework.statemachine.action.Action;
|
||||
import org.springframework.statemachine.config.StateMachineFactory;
|
||||
import org.springframework.statemachine.guard.Guard;
|
||||
import org.springframework.statemachine.test.StateMachineTestPlan;
|
||||
import org.springframework.statemachine.test.StateMachineTestPlanBuilder;
|
||||
|
||||
@@ -107,4 +114,362 @@ public abstract class AbstractTckTests {
|
||||
* @return StateMachine for SimpleSubMachine
|
||||
*/
|
||||
protected abstract StateMachine<String, String> getSimpleSubMachine() throws Exception;
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineInitialState() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineA() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("A")
|
||||
.expectStateChanged(0)
|
||||
.expectStateEntered(0)
|
||||
.expectStateExited(0)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineB() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("B")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(2)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineCHKA() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectVariable("foo", 1)
|
||||
.expectTransition(1)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("K")
|
||||
.expectStateEntered(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("A")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(2)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineC() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineCK() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("K")
|
||||
.expectStateEntered(2)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineD() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("D")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineCD() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("D")
|
||||
.expectStateEntered(2)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineI() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("I")
|
||||
.expectStateEntered(1)
|
||||
.expectStates("S0", "S1", "S12").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineII() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("I")
|
||||
.expectStateEntered(1)
|
||||
.expectStateEntered(1)
|
||||
.expectStateExited(1)
|
||||
.expectStates("S0", "S1", "S12").and()
|
||||
.step()
|
||||
.sendEvent("I")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(3)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S2", "S21", "S212").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineH() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step()
|
||||
.expectStates("S0", "S1", "S11")
|
||||
.expectVariable("foo", 0).and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectTransition(1)
|
||||
.expectVariable("foo", 0)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineCH() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step()
|
||||
.expectStates("S0", "S1", "S11")
|
||||
.expectVariable("foo", 0).and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectVariable("foo", 1)
|
||||
.expectTransition(1)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineACH() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("A")
|
||||
.expectStateChanged(0)
|
||||
.expectStateEntered(0)
|
||||
.expectStateExited(0)
|
||||
.expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("C")
|
||||
.expectStateEntered(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.step()
|
||||
.sendEvent("H")
|
||||
.expectVariable("foo", 1)
|
||||
.expectTransition(1)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineE() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("E")
|
||||
.expectStateChanged(3)
|
||||
.expectStateEntered(4)
|
||||
.expectStateExited(3)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineF() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("F")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(3)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowcaseMachineG() throws Exception {
|
||||
StateMachine<String,String> stateMachine = getShowcaseMachine();
|
||||
StateMachineTestPlan<String, String> plan =
|
||||
StateMachineTestPlanBuilder.<String, String>builder()
|
||||
.stateMachine(stateMachine)
|
||||
.step().expectStates("S0", "S1", "S11").and()
|
||||
.step()
|
||||
.sendEvent("G")
|
||||
.expectStateChanged(2)
|
||||
.expectStateEntered(3)
|
||||
.expectStateExited(2)
|
||||
.expectStates("S0", "S2", "S21", "S211").and()
|
||||
.build();
|
||||
plan.test();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return state machine for showcase tests.
|
||||
*
|
||||
* @return StateMachine for ShowcaseMachine
|
||||
*/
|
||||
protected abstract StateMachine<String, String> getShowcaseMachine() throws Exception;
|
||||
|
||||
@Configuration
|
||||
protected static class ShowcaseMachineBeansConfig {
|
||||
|
||||
@Bean
|
||||
public FooGuard foo0Guard() {
|
||||
return new FooGuard(0);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo1Guard() {
|
||||
return new FooGuard(1);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooAction fooAction() {
|
||||
return new FooAction();
|
||||
}
|
||||
}
|
||||
|
||||
protected static class FooAction implements Action<String, String> {
|
||||
|
||||
public FooAction() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(StateContext<String, String> context) {
|
||||
Map<Object, Object> variables = context.getExtendedState().getVariables();
|
||||
Integer foo = context.getExtendedState().get("foo", Integer.class);
|
||||
if (foo == null) {
|
||||
variables.put("foo", 0);
|
||||
} else if (foo == 0) {
|
||||
variables.put("foo", 1);
|
||||
} else if (foo == 1) {
|
||||
variables.put("foo", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected static class FooGuard implements Guard<String, String> {
|
||||
|
||||
private final int match;
|
||||
|
||||
public FooGuard(int match) {
|
||||
this.match = match;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean evaluate(StateContext<String, String> context) {
|
||||
Object foo = context.getExtendedState().getVariables().get("foo");
|
||||
return !(foo == null || !foo.equals(match));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package org.springframework.statemachine.buildtests.tck.javaconfig;
|
||||
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.statemachine.StateMachine;
|
||||
import org.springframework.statemachine.buildtests.tck.AbstractTckTests;
|
||||
@@ -51,6 +52,13 @@ public class AnnotationFactoryTckTests extends AbstractTckTests {
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(ShowcaseMachineConfig.class);
|
||||
context.refresh();
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
static class SimpleMachineConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
@@ -111,4 +119,125 @@ public class AnnotationFactoryTckTests extends AbstractTckTests {
|
||||
.event("E3");
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
static class ShowcaseMachineConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
@Override
|
||||
public void configure(StateMachineStateConfigurer<String, String> states)
|
||||
throws Exception {
|
||||
states
|
||||
.withStates()
|
||||
.initial("S0", fooAction())
|
||||
.state("S0")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S0")
|
||||
.initial("S1")
|
||||
.state("S1")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S1")
|
||||
.initial("S11")
|
||||
.state("S11")
|
||||
.state("S12")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S0")
|
||||
.state("S2")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S2")
|
||||
.initial("S21")
|
||||
.state("S21")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S21")
|
||||
.initial("S211")
|
||||
.state("S211")
|
||||
.state("S212");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineTransitionConfigurer<String, String> transitions)
|
||||
throws Exception {
|
||||
transitions
|
||||
.withExternal()
|
||||
.source("S1").target("S1").event("A")
|
||||
.guard(foo1Guard())
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S11").event("B")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S21").target("S211").event("B")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S2").event("C")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S2").target("S1").event("K")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S0").event("D")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S21").event("D")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S0").target("S211").event("E")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S211").event("F")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S2").target("S11").event("F")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S11").target("S211").event("G")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S0").event("G")
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S0").event("H")
|
||||
.guard(foo0Guard())
|
||||
.action(fooAction())
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S2").event("H")
|
||||
.guard(foo1Guard())
|
||||
.action(fooAction())
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S1").event("H")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S11").target("S12").event("I")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S212").event("I")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S12").target("S212").event("I")
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S11").event("J");
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo0Guard() {
|
||||
return new FooGuard(0);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo1Guard() {
|
||||
return new FooGuard(1);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooAction fooAction() {
|
||||
return new FooAction();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package org.springframework.statemachine.buildtests.tck.javaconfig;
|
||||
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.statemachine.StateMachine;
|
||||
import org.springframework.statemachine.buildtests.tck.AbstractTckTests;
|
||||
@@ -51,6 +52,13 @@ public class AnnotationTckTests extends AbstractTckTests {
|
||||
return getStateMachineFromContext();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(ShowcaseMachineConfig.class);
|
||||
context.refresh();
|
||||
return getStateMachineFromContext();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
static class SimpleMachineConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
@@ -111,4 +119,125 @@ public class AnnotationTckTests extends AbstractTckTests {
|
||||
.event("E3");
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
static class ShowcaseMachineConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
@Override
|
||||
public void configure(StateMachineStateConfigurer<String, String> states)
|
||||
throws Exception {
|
||||
states
|
||||
.withStates()
|
||||
.initial("S0", fooAction())
|
||||
.state("S0")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S0")
|
||||
.initial("S1")
|
||||
.state("S1")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S1")
|
||||
.initial("S11")
|
||||
.state("S11")
|
||||
.state("S12")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S0")
|
||||
.state("S2")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S2")
|
||||
.initial("S21")
|
||||
.state("S21")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S21")
|
||||
.initial("S211")
|
||||
.state("S211")
|
||||
.state("S212");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(StateMachineTransitionConfigurer<String, String> transitions)
|
||||
throws Exception {
|
||||
transitions
|
||||
.withExternal()
|
||||
.source("S1").target("S1").event("A")
|
||||
.guard(foo1Guard())
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S11").event("B")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S21").target("S211").event("B")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S2").event("C")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S2").target("S1").event("K")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S0").event("D")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S21").event("D")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S0").target("S211").event("E")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S211").event("F")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S2").target("S11").event("F")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S11").target("S211").event("G")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S0").event("G")
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S0").event("H")
|
||||
.guard(foo0Guard())
|
||||
.action(fooAction())
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S2").event("H")
|
||||
.guard(foo1Guard())
|
||||
.action(fooAction())
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S1").event("H")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S11").target("S12").event("I")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S212").event("I")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S12").target("S212").event("I")
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S11").event("J");
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo0Guard() {
|
||||
return new FooGuard(0);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo1Guard() {
|
||||
return new FooGuard(1);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooAction fooAction() {
|
||||
return new FooAction();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,4 +74,105 @@ public class BuilderTckTests extends AbstractTckTests {
|
||||
.event("E3");
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
Builder<String, String> builder = StateMachineBuilder.builder();
|
||||
|
||||
builder.configureStates()
|
||||
.withStates()
|
||||
.initial("S0", new FooAction())
|
||||
.state("S0")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S0")
|
||||
.initial("S1")
|
||||
.state("S1")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S1")
|
||||
.initial("S11")
|
||||
.state("S11")
|
||||
.state("S12")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S0")
|
||||
.state("S2")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S2")
|
||||
.initial("S21")
|
||||
.state("S21")
|
||||
.and()
|
||||
.withStates()
|
||||
.parent("S21")
|
||||
.initial("S211")
|
||||
.state("S211")
|
||||
.state("S212");
|
||||
|
||||
builder.configureTransitions()
|
||||
.withExternal()
|
||||
.source("S1").target("S1").event("A")
|
||||
.guard(new FooGuard(1))
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S11").event("B")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S21").target("S211").event("B")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S2").event("C")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S2").target("S1").event("K")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S0").event("D")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S21").event("D")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S0").target("S211").event("E")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S1").target("S211").event("F")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S2").target("S11").event("F")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S11").target("S211").event("G")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S0").event("G")
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S0").event("H")
|
||||
.guard(new FooGuard(0))
|
||||
.action(new FooAction())
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S2").event("H")
|
||||
.guard(new FooGuard(1))
|
||||
.action(new FooAction())
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S1").event("H")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S11").target("S12").event("I")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S211").target("S212").event("I")
|
||||
.and()
|
||||
.withExternal()
|
||||
.source("S12").target("S212").event("I")
|
||||
.and()
|
||||
.withInternal()
|
||||
.source("S11").event("J");
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +64,13 @@ public class JpaJsonTckTests extends AbstractTckTests {
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(TestConfig.class, ShowcaseMachineBeansConfig.class, ShowcaseMachineConfig.class, StateMachineFactoryConfig.class);
|
||||
context.refresh();
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
public static class SimpleMachineConfig {
|
||||
|
||||
@@ -86,6 +93,17 @@ public class JpaJsonTckTests extends AbstractTckTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
public static class ShowcaseMachineConfig {
|
||||
|
||||
@Bean
|
||||
public StateMachineJackson2RepositoryPopulatorFactoryBean jackson2RepositoryPopulatorFactoryBean() {
|
||||
StateMachineJackson2RepositoryPopulatorFactoryBean factoryBean = new StateMachineJackson2RepositoryPopulatorFactoryBean();
|
||||
factoryBean.setResources(new Resource[]{new ClassPathResource("org/springframework/statemachine/buildtests/tck/jpa/ShowcaseMachine.json")});
|
||||
return factoryBean;
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
*/
|
||||
package org.springframework.statemachine.buildtests.tck.jpa;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.domain.EntityScan;
|
||||
@@ -33,10 +36,15 @@ import org.springframework.statemachine.data.RepositoryStateMachineModelFactory;
|
||||
import org.springframework.statemachine.data.RepositoryTransition;
|
||||
import org.springframework.statemachine.data.StateRepository;
|
||||
import org.springframework.statemachine.data.TransitionRepository;
|
||||
import org.springframework.statemachine.data.jpa.JpaActionRepository;
|
||||
import org.springframework.statemachine.data.jpa.JpaGuardRepository;
|
||||
import org.springframework.statemachine.data.jpa.JpaRepositoryAction;
|
||||
import org.springframework.statemachine.data.jpa.JpaRepositoryGuard;
|
||||
import org.springframework.statemachine.data.jpa.JpaRepositoryState;
|
||||
import org.springframework.statemachine.data.jpa.JpaRepositoryTransition;
|
||||
import org.springframework.statemachine.data.jpa.JpaStateRepository;
|
||||
import org.springframework.statemachine.data.jpa.JpaTransitionRepository;
|
||||
import org.springframework.statemachine.transition.TransitionKind;
|
||||
|
||||
/**
|
||||
* Tck tests for machine configs build manually agains repository interfaces.
|
||||
@@ -110,6 +118,110 @@ public class JpaManualTckTests extends AbstractTckTests {
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(ShowcaseMachineBeansConfig.class, TestConfig.class, StateMachineFactoryConfig.class);
|
||||
context.refresh();
|
||||
|
||||
JpaStateRepository stateRepository = context.getBean(JpaStateRepository.class);
|
||||
JpaTransitionRepository transitionRepository = context.getBean(JpaTransitionRepository.class);
|
||||
JpaActionRepository actionRepository = context.getBean(JpaActionRepository.class);
|
||||
JpaGuardRepository guardRepository = context.getBean(JpaGuardRepository.class);
|
||||
|
||||
JpaRepositoryGuard foo0Guard = new JpaRepositoryGuard();
|
||||
foo0Guard.setName("foo0Guard");
|
||||
|
||||
JpaRepositoryGuard foo1Guard = new JpaRepositoryGuard();
|
||||
foo1Guard.setName("foo1Guard");
|
||||
|
||||
JpaRepositoryAction fooAction = new JpaRepositoryAction();
|
||||
fooAction.setName("fooAction");
|
||||
|
||||
guardRepository.save(foo0Guard);
|
||||
guardRepository.save(foo1Guard);
|
||||
actionRepository.save(fooAction);
|
||||
|
||||
JpaRepositoryState stateS0 = new JpaRepositoryState("S0", true);
|
||||
stateS0.setInitialAction(fooAction);
|
||||
JpaRepositoryState stateS1 = new JpaRepositoryState("S1", true);
|
||||
stateS1.setParentState(stateS0);
|
||||
JpaRepositoryState stateS11 = new JpaRepositoryState("S11", true);
|
||||
stateS11.setParentState(stateS1);
|
||||
JpaRepositoryState stateS12 = new JpaRepositoryState("S12");
|
||||
stateS12.setParentState(stateS1);
|
||||
JpaRepositoryState stateS2 = new JpaRepositoryState("S2");
|
||||
stateS2.setParentState(stateS0);
|
||||
JpaRepositoryState stateS21 = new JpaRepositoryState("S21", true);
|
||||
stateS21.setParentState(stateS2);
|
||||
JpaRepositoryState stateS211 = new JpaRepositoryState("S211", true);
|
||||
stateS211.setParentState(stateS21);
|
||||
JpaRepositoryState stateS212 = new JpaRepositoryState("S212");
|
||||
stateS212.setParentState(stateS21);
|
||||
|
||||
stateRepository.save(stateS0);
|
||||
stateRepository.save(stateS1);
|
||||
stateRepository.save(stateS11);
|
||||
stateRepository.save(stateS12);
|
||||
stateRepository.save(stateS2);
|
||||
stateRepository.save(stateS21);
|
||||
stateRepository.save(stateS211);
|
||||
stateRepository.save(stateS212);
|
||||
|
||||
JpaRepositoryTransition transitionS1ToS1 = new JpaRepositoryTransition(stateS1, stateS1, "A");
|
||||
transitionS1ToS1.setGuard(foo1Guard);
|
||||
|
||||
JpaRepositoryTransition transitionS1ToS11 = new JpaRepositoryTransition(stateS1, stateS11, "B");
|
||||
JpaRepositoryTransition transitionS21ToS211 = new JpaRepositoryTransition(stateS21, stateS211, "B");
|
||||
JpaRepositoryTransition transitionS1ToS2 = new JpaRepositoryTransition(stateS1, stateS2, "C");
|
||||
JpaRepositoryTransition transitionS1ToS0 = new JpaRepositoryTransition(stateS1, stateS0, "D");
|
||||
JpaRepositoryTransition transitionS211ToS21 = new JpaRepositoryTransition(stateS211, stateS21, "D");
|
||||
JpaRepositoryTransition transitionS0ToS211 = new JpaRepositoryTransition(stateS0, stateS211, "E");
|
||||
JpaRepositoryTransition transitionS1ToS211 = new JpaRepositoryTransition(stateS1, stateS211, "F");
|
||||
JpaRepositoryTransition transitionS2ToS21 = new JpaRepositoryTransition(stateS2, stateS21, "F");
|
||||
JpaRepositoryTransition transitionS11ToS211 = new JpaRepositoryTransition(stateS11, stateS211, "G");
|
||||
|
||||
JpaRepositoryTransition transitionS0 = new JpaRepositoryTransition(stateS0, stateS0, "H");
|
||||
transitionS0.setKind(TransitionKind.INTERNAL);
|
||||
transitionS0.setGuard(foo0Guard);
|
||||
transitionS0.setActions(new HashSet<>(Arrays.asList(fooAction)));
|
||||
|
||||
JpaRepositoryTransition transitionS1 = new JpaRepositoryTransition(stateS1, stateS1, "H");
|
||||
transitionS1.setKind(TransitionKind.INTERNAL);
|
||||
|
||||
JpaRepositoryTransition transitionS2 = new JpaRepositoryTransition(stateS2, stateS2, "H");
|
||||
transitionS2.setKind(TransitionKind.INTERNAL);
|
||||
transitionS2.setGuard(foo1Guard);
|
||||
transitionS2.setActions(new HashSet<>(Arrays.asList(fooAction)));
|
||||
|
||||
JpaRepositoryTransition transitionS11ToS12 = new JpaRepositoryTransition(stateS11, stateS12, "I");
|
||||
JpaRepositoryTransition transitionS12ToS212 = new JpaRepositoryTransition(stateS12, stateS212, "I");
|
||||
JpaRepositoryTransition transitionS211ToS12 = new JpaRepositoryTransition(stateS211, stateS12, "I");
|
||||
|
||||
JpaRepositoryTransition transitionS11 = new JpaRepositoryTransition(stateS11, stateS11, "J");
|
||||
JpaRepositoryTransition transitionS2ToS1 = new JpaRepositoryTransition(stateS2, stateS1, "K");
|
||||
|
||||
transitionRepository.save(transitionS1ToS1);
|
||||
transitionRepository.save(transitionS1ToS11);
|
||||
transitionRepository.save(transitionS21ToS211);
|
||||
transitionRepository.save(transitionS1ToS2);
|
||||
transitionRepository.save(transitionS1ToS0);
|
||||
transitionRepository.save(transitionS211ToS21);
|
||||
transitionRepository.save(transitionS0ToS211);
|
||||
transitionRepository.save(transitionS1ToS211);
|
||||
transitionRepository.save(transitionS2ToS21);
|
||||
transitionRepository.save(transitionS11ToS211);
|
||||
transitionRepository.save(transitionS0);
|
||||
transitionRepository.save(transitionS1);
|
||||
transitionRepository.save(transitionS2);
|
||||
transitionRepository.save(transitionS11ToS12);
|
||||
transitionRepository.save(transitionS12ToS212);
|
||||
transitionRepository.save(transitionS211ToS12);
|
||||
transitionRepository.save(transitionS11);
|
||||
transitionRepository.save(transitionS2ToS1);
|
||||
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@@ -86,6 +86,13 @@ public class MongoDbJsonTckTests extends AbstractTckTests {
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(TestConfig.class, ShowcaseMachineBeansConfig.class, ShowcaseMachineConfig.class, StateMachineFactoryConfig.class);
|
||||
context.refresh();
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
public static class SimpleMachineConfig {
|
||||
|
||||
@@ -108,6 +115,17 @@ public class MongoDbJsonTckTests extends AbstractTckTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
public static class ShowcaseMachineConfig {
|
||||
|
||||
@Bean
|
||||
public StateMachineJackson2RepositoryPopulatorFactoryBean jackson2RepositoryPopulatorFactoryBean() {
|
||||
StateMachineJackson2RepositoryPopulatorFactoryBean factoryBean = new StateMachineJackson2RepositoryPopulatorFactoryBean();
|
||||
factoryBean.setResources(new Resource[]{new ClassPathResource("org/springframework/statemachine/buildtests/tck/mongodb/ShowcaseMachine.json")});
|
||||
return factoryBean;
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
*/
|
||||
package org.springframework.statemachine.buildtests.tck.mongodb;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
@@ -35,12 +38,15 @@ import org.springframework.statemachine.data.RepositoryStateMachineModelFactory;
|
||||
import org.springframework.statemachine.data.RepositoryTransition;
|
||||
import org.springframework.statemachine.data.StateRepository;
|
||||
import org.springframework.statemachine.data.TransitionRepository;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbActionRepository;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbGuardRepository;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbRepositoryAction;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbRepositoryGuard;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbRepositoryState;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbStateRepository;
|
||||
import org.springframework.statemachine.data.mongodb.MongoDbTransitionRepository;
|
||||
import org.springframework.statemachine.transition.TransitionKind;
|
||||
|
||||
/**
|
||||
* Tck tests for machine configs build manually agains repository interfaces.
|
||||
@@ -130,6 +136,110 @@ public class MongoDbManualTckTests extends AbstractTckTests {
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(ShowcaseMachineBeansConfig.class, TestConfig.class, StateMachineFactoryConfig.class);
|
||||
context.refresh();
|
||||
|
||||
MongoDbStateRepository stateRepository = context.getBean(MongoDbStateRepository.class);
|
||||
MongoDbTransitionRepository transitionRepository = context.getBean(MongoDbTransitionRepository.class);
|
||||
MongoDbActionRepository actionRepository = context.getBean(MongoDbActionRepository.class);
|
||||
MongoDbGuardRepository guardRepository = context.getBean(MongoDbGuardRepository.class);
|
||||
|
||||
MongoDbRepositoryGuard foo0Guard = new MongoDbRepositoryGuard();
|
||||
foo0Guard.setName("foo0Guard");
|
||||
|
||||
MongoDbRepositoryGuard foo1Guard = new MongoDbRepositoryGuard();
|
||||
foo1Guard.setName("foo1Guard");
|
||||
|
||||
MongoDbRepositoryAction fooAction = new MongoDbRepositoryAction();
|
||||
fooAction.setName("fooAction");
|
||||
|
||||
guardRepository.save(foo0Guard);
|
||||
guardRepository.save(foo1Guard);
|
||||
actionRepository.save(fooAction);
|
||||
|
||||
MongoDbRepositoryState stateS0 = new MongoDbRepositoryState("S0", true);
|
||||
stateS0.setInitialAction(fooAction);
|
||||
MongoDbRepositoryState stateS1 = new MongoDbRepositoryState("S1", true);
|
||||
stateS1.setParentState(stateS0);
|
||||
MongoDbRepositoryState stateS11 = new MongoDbRepositoryState("S11", true);
|
||||
stateS11.setParentState(stateS1);
|
||||
MongoDbRepositoryState stateS12 = new MongoDbRepositoryState("S12");
|
||||
stateS12.setParentState(stateS1);
|
||||
MongoDbRepositoryState stateS2 = new MongoDbRepositoryState("S2");
|
||||
stateS2.setParentState(stateS0);
|
||||
MongoDbRepositoryState stateS21 = new MongoDbRepositoryState("S21", true);
|
||||
stateS21.setParentState(stateS2);
|
||||
MongoDbRepositoryState stateS211 = new MongoDbRepositoryState("S211", true);
|
||||
stateS211.setParentState(stateS21);
|
||||
MongoDbRepositoryState stateS212 = new MongoDbRepositoryState("S212");
|
||||
stateS212.setParentState(stateS21);
|
||||
|
||||
stateRepository.save(stateS0);
|
||||
stateRepository.save(stateS1);
|
||||
stateRepository.save(stateS11);
|
||||
stateRepository.save(stateS12);
|
||||
stateRepository.save(stateS2);
|
||||
stateRepository.save(stateS21);
|
||||
stateRepository.save(stateS211);
|
||||
stateRepository.save(stateS212);
|
||||
|
||||
MongoDbRepositoryTransition transitionS1ToS1 = new MongoDbRepositoryTransition(stateS1, stateS1, "A");
|
||||
transitionS1ToS1.setGuard(foo1Guard);
|
||||
|
||||
MongoDbRepositoryTransition transitionS1ToS11 = new MongoDbRepositoryTransition(stateS1, stateS11, "B");
|
||||
MongoDbRepositoryTransition transitionS21ToS211 = new MongoDbRepositoryTransition(stateS21, stateS211, "B");
|
||||
MongoDbRepositoryTransition transitionS1ToS2 = new MongoDbRepositoryTransition(stateS1, stateS2, "C");
|
||||
MongoDbRepositoryTransition transitionS1ToS0 = new MongoDbRepositoryTransition(stateS1, stateS0, "D");
|
||||
MongoDbRepositoryTransition transitionS211ToS21 = new MongoDbRepositoryTransition(stateS211, stateS21, "D");
|
||||
MongoDbRepositoryTransition transitionS0ToS211 = new MongoDbRepositoryTransition(stateS0, stateS211, "E");
|
||||
MongoDbRepositoryTransition transitionS1ToS211 = new MongoDbRepositoryTransition(stateS1, stateS211, "F");
|
||||
MongoDbRepositoryTransition transitionS2ToS21 = new MongoDbRepositoryTransition(stateS2, stateS21, "F");
|
||||
MongoDbRepositoryTransition transitionS11ToS211 = new MongoDbRepositoryTransition(stateS11, stateS211, "G");
|
||||
|
||||
MongoDbRepositoryTransition transitionS0 = new MongoDbRepositoryTransition(stateS0, stateS0, "H");
|
||||
transitionS0.setKind(TransitionKind.INTERNAL);
|
||||
transitionS0.setGuard(foo0Guard);
|
||||
transitionS0.setActions(new HashSet<>(Arrays.asList(fooAction)));
|
||||
|
||||
MongoDbRepositoryTransition transitionS1 = new MongoDbRepositoryTransition(stateS1, stateS1, "H");
|
||||
transitionS1.setKind(TransitionKind.INTERNAL);
|
||||
|
||||
MongoDbRepositoryTransition transitionS2 = new MongoDbRepositoryTransition(stateS2, stateS2, "H");
|
||||
transitionS2.setKind(TransitionKind.INTERNAL);
|
||||
transitionS2.setGuard(foo1Guard);
|
||||
transitionS2.setActions(new HashSet<>(Arrays.asList(fooAction)));
|
||||
|
||||
MongoDbRepositoryTransition transitionS11ToS12 = new MongoDbRepositoryTransition(stateS11, stateS12, "I");
|
||||
MongoDbRepositoryTransition transitionS12ToS212 = new MongoDbRepositoryTransition(stateS12, stateS212, "I");
|
||||
MongoDbRepositoryTransition transitionS211ToS12 = new MongoDbRepositoryTransition(stateS211, stateS12, "I");
|
||||
|
||||
MongoDbRepositoryTransition transitionS11 = new MongoDbRepositoryTransition(stateS11, stateS11, "J");
|
||||
MongoDbRepositoryTransition transitionS2ToS1 = new MongoDbRepositoryTransition(stateS2, stateS1, "K");
|
||||
|
||||
transitionRepository.save(transitionS1ToS1);
|
||||
transitionRepository.save(transitionS1ToS11);
|
||||
transitionRepository.save(transitionS21ToS211);
|
||||
transitionRepository.save(transitionS1ToS2);
|
||||
transitionRepository.save(transitionS1ToS0);
|
||||
transitionRepository.save(transitionS211ToS21);
|
||||
transitionRepository.save(transitionS0ToS211);
|
||||
transitionRepository.save(transitionS1ToS211);
|
||||
transitionRepository.save(transitionS2ToS21);
|
||||
transitionRepository.save(transitionS11ToS211);
|
||||
transitionRepository.save(transitionS0);
|
||||
transitionRepository.save(transitionS1);
|
||||
transitionRepository.save(transitionS2);
|
||||
transitionRepository.save(transitionS11ToS12);
|
||||
transitionRepository.save(transitionS12ToS212);
|
||||
transitionRepository.save(transitionS211ToS12);
|
||||
transitionRepository.save(transitionS11);
|
||||
transitionRepository.save(transitionS2ToS1);
|
||||
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@@ -86,6 +86,13 @@ public class RedisJsonTckTests extends AbstractTckTests {
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(TestConfig.class, ShowcaseMachineBeansConfig.class, ShowcaseMachineConfig.class, StateMachineFactoryConfig.class);
|
||||
context.refresh();
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
public static class SimpleMachineConfig {
|
||||
|
||||
@@ -108,6 +115,17 @@ public class RedisJsonTckTests extends AbstractTckTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
public static class ShowcaseMachineConfig {
|
||||
|
||||
@Bean
|
||||
public StateMachineJackson2RepositoryPopulatorFactoryBean jackson2RepositoryPopulatorFactoryBean() {
|
||||
StateMachineJackson2RepositoryPopulatorFactoryBean factoryBean = new StateMachineJackson2RepositoryPopulatorFactoryBean();
|
||||
factoryBean.setResources(new Resource[]{new ClassPathResource("org/springframework/statemachine/buildtests/tck/redis/ShowcaseMachine.json")});
|
||||
return factoryBean;
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
*/
|
||||
package org.springframework.statemachine.buildtests.tck.redis;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
@@ -35,12 +38,15 @@ import org.springframework.statemachine.data.RepositoryStateMachineModelFactory;
|
||||
import org.springframework.statemachine.data.RepositoryTransition;
|
||||
import org.springframework.statemachine.data.StateRepository;
|
||||
import org.springframework.statemachine.data.TransitionRepository;
|
||||
import org.springframework.statemachine.data.redis.RedisActionRepository;
|
||||
import org.springframework.statemachine.data.redis.RedisGuardRepository;
|
||||
import org.springframework.statemachine.data.redis.RedisRepositoryAction;
|
||||
import org.springframework.statemachine.data.redis.RedisRepositoryGuard;
|
||||
import org.springframework.statemachine.data.redis.RedisRepositoryState;
|
||||
import org.springframework.statemachine.data.redis.RedisRepositoryTransition;
|
||||
import org.springframework.statemachine.data.redis.RedisStateRepository;
|
||||
import org.springframework.statemachine.data.redis.RedisTransitionRepository;
|
||||
import org.springframework.statemachine.transition.TransitionKind;
|
||||
|
||||
/**
|
||||
* Tck tests for machine configs build manually agains repository interfaces.
|
||||
@@ -131,6 +137,110 @@ public class RedisManualTckTests extends AbstractTckTests {
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(ShowcaseMachineBeansConfig.class, TestConfig.class, StateMachineFactoryConfig.class);
|
||||
context.refresh();
|
||||
|
||||
RedisStateRepository stateRepository = context.getBean(RedisStateRepository.class);
|
||||
RedisTransitionRepository transitionRepository = context.getBean(RedisTransitionRepository.class);
|
||||
RedisActionRepository actionRepository = context.getBean(RedisActionRepository.class);
|
||||
RedisGuardRepository guardRepository = context.getBean(RedisGuardRepository.class);
|
||||
|
||||
RedisRepositoryGuard foo0Guard = new RedisRepositoryGuard();
|
||||
foo0Guard.setName("foo0Guard");
|
||||
|
||||
RedisRepositoryGuard foo1Guard = new RedisRepositoryGuard();
|
||||
foo1Guard.setName("foo1Guard");
|
||||
|
||||
RedisRepositoryAction fooAction = new RedisRepositoryAction();
|
||||
fooAction.setName("fooAction");
|
||||
|
||||
guardRepository.save(foo0Guard);
|
||||
guardRepository.save(foo1Guard);
|
||||
actionRepository.save(fooAction);
|
||||
|
||||
RedisRepositoryState stateS0 = new RedisRepositoryState("S0", true);
|
||||
stateS0.setInitialAction(fooAction);
|
||||
RedisRepositoryState stateS1 = new RedisRepositoryState("S1", true);
|
||||
stateS1.setParentState(stateS0);
|
||||
RedisRepositoryState stateS11 = new RedisRepositoryState("S11", true);
|
||||
stateS11.setParentState(stateS1);
|
||||
RedisRepositoryState stateS12 = new RedisRepositoryState("S12");
|
||||
stateS12.setParentState(stateS1);
|
||||
RedisRepositoryState stateS2 = new RedisRepositoryState("S2");
|
||||
stateS2.setParentState(stateS0);
|
||||
RedisRepositoryState stateS21 = new RedisRepositoryState("S21", true);
|
||||
stateS21.setParentState(stateS2);
|
||||
RedisRepositoryState stateS211 = new RedisRepositoryState("S211", true);
|
||||
stateS211.setParentState(stateS21);
|
||||
RedisRepositoryState stateS212 = new RedisRepositoryState("S212");
|
||||
stateS212.setParentState(stateS21);
|
||||
|
||||
stateRepository.save(stateS0);
|
||||
stateRepository.save(stateS1);
|
||||
stateRepository.save(stateS11);
|
||||
stateRepository.save(stateS12);
|
||||
stateRepository.save(stateS2);
|
||||
stateRepository.save(stateS21);
|
||||
stateRepository.save(stateS211);
|
||||
stateRepository.save(stateS212);
|
||||
|
||||
RedisRepositoryTransition transitionS1ToS1 = new RedisRepositoryTransition(stateS1, stateS1, "A");
|
||||
transitionS1ToS1.setGuard(foo1Guard);
|
||||
|
||||
RedisRepositoryTransition transitionS1ToS11 = new RedisRepositoryTransition(stateS1, stateS11, "B");
|
||||
RedisRepositoryTransition transitionS21ToS211 = new RedisRepositoryTransition(stateS21, stateS211, "B");
|
||||
RedisRepositoryTransition transitionS1ToS2 = new RedisRepositoryTransition(stateS1, stateS2, "C");
|
||||
RedisRepositoryTransition transitionS1ToS0 = new RedisRepositoryTransition(stateS1, stateS0, "D");
|
||||
RedisRepositoryTransition transitionS211ToS21 = new RedisRepositoryTransition(stateS211, stateS21, "D");
|
||||
RedisRepositoryTransition transitionS0ToS211 = new RedisRepositoryTransition(stateS0, stateS211, "E");
|
||||
RedisRepositoryTransition transitionS1ToS211 = new RedisRepositoryTransition(stateS1, stateS211, "F");
|
||||
RedisRepositoryTransition transitionS2ToS21 = new RedisRepositoryTransition(stateS2, stateS21, "F");
|
||||
RedisRepositoryTransition transitionS11ToS211 = new RedisRepositoryTransition(stateS11, stateS211, "G");
|
||||
|
||||
RedisRepositoryTransition transitionS0 = new RedisRepositoryTransition(stateS0, stateS0, "H");
|
||||
transitionS0.setKind(TransitionKind.INTERNAL);
|
||||
transitionS0.setGuard(foo0Guard);
|
||||
transitionS0.setActions(new HashSet<>(Arrays.asList(fooAction)));
|
||||
|
||||
RedisRepositoryTransition transitionS1 = new RedisRepositoryTransition(stateS1, stateS1, "H");
|
||||
transitionS1.setKind(TransitionKind.INTERNAL);
|
||||
|
||||
RedisRepositoryTransition transitionS2 = new RedisRepositoryTransition(stateS2, stateS2, "H");
|
||||
transitionS2.setKind(TransitionKind.INTERNAL);
|
||||
transitionS2.setGuard(foo1Guard);
|
||||
transitionS2.setActions(new HashSet<>(Arrays.asList(fooAction)));
|
||||
|
||||
RedisRepositoryTransition transitionS11ToS12 = new RedisRepositoryTransition(stateS11, stateS12, "I");
|
||||
RedisRepositoryTransition transitionS12ToS212 = new RedisRepositoryTransition(stateS12, stateS212, "I");
|
||||
RedisRepositoryTransition transitionS211ToS12 = new RedisRepositoryTransition(stateS211, stateS12, "I");
|
||||
|
||||
RedisRepositoryTransition transitionS11 = new RedisRepositoryTransition(stateS11, stateS11, "J");
|
||||
RedisRepositoryTransition transitionS2ToS1 = new RedisRepositoryTransition(stateS2, stateS1, "K");
|
||||
|
||||
transitionRepository.save(transitionS1ToS1);
|
||||
transitionRepository.save(transitionS1ToS11);
|
||||
transitionRepository.save(transitionS21ToS211);
|
||||
transitionRepository.save(transitionS1ToS2);
|
||||
transitionRepository.save(transitionS1ToS0);
|
||||
transitionRepository.save(transitionS211ToS21);
|
||||
transitionRepository.save(transitionS0ToS211);
|
||||
transitionRepository.save(transitionS1ToS211);
|
||||
transitionRepository.save(transitionS2ToS21);
|
||||
transitionRepository.save(transitionS11ToS211);
|
||||
transitionRepository.save(transitionS0);
|
||||
transitionRepository.save(transitionS1);
|
||||
transitionRepository.save(transitionS2);
|
||||
transitionRepository.save(transitionS11ToS12);
|
||||
transitionRepository.save(transitionS12ToS212);
|
||||
transitionRepository.save(transitionS211ToS12);
|
||||
transitionRepository.save(transitionS11);
|
||||
transitionRepository.save(transitionS2ToS1);
|
||||
|
||||
return getStateMachineFactoryFromContext().getStateMachine();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachineFactory
|
||||
public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
|
||||
@@ -53,6 +53,13 @@ public class UmlTckTests extends AbstractTckTests {
|
||||
return getStateMachineFromContext();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected StateMachine<String, String> getShowcaseMachine() throws Exception {
|
||||
context.register(ShowcaseMachineConfig.class);
|
||||
context.refresh();
|
||||
return getStateMachineFromContext();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
public static class SimpleMachineConfig extends StateMachineConfigurerAdapter<String, String> {
|
||||
@@ -86,4 +93,36 @@ public class UmlTckTests extends AbstractTckTests {
|
||||
return new UmlStateMachineModelFactory("classpath:org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.uml");
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@EnableStateMachine
|
||||
public static class ShowcaseMachineConfig 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/buildtests/tck/uml/ShowcaseMachine.uml");
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo0Guard() {
|
||||
return new FooGuard(0);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooGuard foo1Guard() {
|
||||
return new FooGuard(1);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FooAction fooAction() {
|
||||
return new FooAction();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
[
|
||||
{
|
||||
"@id": "1",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryAction",
|
||||
"name": "fooAction"
|
||||
},
|
||||
{
|
||||
"@id": "2",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryGuard",
|
||||
"name": "foo0Guard"
|
||||
},
|
||||
{
|
||||
"@id": "3",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryGuard",
|
||||
"name": "foo1Guard"
|
||||
},
|
||||
{
|
||||
"@id": "4",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"initial": true,
|
||||
"initialAction": "1",
|
||||
"state": "S0"
|
||||
},
|
||||
{
|
||||
"@id": "5",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"parentState": "4",
|
||||
"initial": true,
|
||||
"state": "S1"
|
||||
},
|
||||
{
|
||||
"@id": "6",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"parentState": "5",
|
||||
"initial": true,
|
||||
"state": "S11"
|
||||
},
|
||||
{
|
||||
"@id": "7",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"parentState": "5",
|
||||
"state": "S12"
|
||||
},
|
||||
{
|
||||
"@id": "8",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"parentState": "4",
|
||||
"state": "S2"
|
||||
},
|
||||
{
|
||||
"@id": "9",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"parentState": "8",
|
||||
"initial": true,
|
||||
"state": "S21"
|
||||
},
|
||||
{
|
||||
"@id": "10",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"parentState": "9",
|
||||
"initial": true,
|
||||
"state": "S211"
|
||||
},
|
||||
{
|
||||
"@id": "11",
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState",
|
||||
"parentState": "9",
|
||||
"state": "S212"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "5",
|
||||
"event": "A",
|
||||
"guard": "3"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "6",
|
||||
"event": "B"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "9",
|
||||
"target": "10",
|
||||
"event": "B"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "8",
|
||||
"event": "C"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "4",
|
||||
"event": "D"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "10",
|
||||
"target": "9",
|
||||
"event": "D"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "4",
|
||||
"target": "10",
|
||||
"event": "E"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "10",
|
||||
"event": "F"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "9",
|
||||
"event": "F"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "10",
|
||||
"event": "G"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "4",
|
||||
"target": "4",
|
||||
"kind": "INTERNAL",
|
||||
"guard": "2",
|
||||
"actions": ["1"],
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "5",
|
||||
"kind": "INTERNAL",
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "8",
|
||||
"kind": "INTERNAL",
|
||||
"guard": "3",
|
||||
"actions": ["1"],
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "7",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "7",
|
||||
"target": "11",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "10",
|
||||
"target": "7",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "6",
|
||||
"event": "J"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "5",
|
||||
"event": "K"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,186 @@
|
||||
[
|
||||
{
|
||||
"@id": "1",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryAction",
|
||||
"name": "fooAction"
|
||||
},
|
||||
{
|
||||
"@id": "2",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryGuard",
|
||||
"name": "foo0Guard"
|
||||
},
|
||||
{
|
||||
"@id": "3",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryGuard",
|
||||
"name": "foo1Guard"
|
||||
},
|
||||
{
|
||||
"@id": "4",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"initial": true,
|
||||
"initialAction": "1",
|
||||
"state": "S0"
|
||||
},
|
||||
{
|
||||
"@id": "5",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"parentState": "4",
|
||||
"initial": true,
|
||||
"state": "S1"
|
||||
},
|
||||
{
|
||||
"@id": "6",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"parentState": "5",
|
||||
"initial": true,
|
||||
"state": "S11"
|
||||
},
|
||||
{
|
||||
"@id": "7",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"parentState": "5",
|
||||
"state": "S12"
|
||||
},
|
||||
{
|
||||
"@id": "8",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"parentState": "4",
|
||||
"state": "S2"
|
||||
},
|
||||
{
|
||||
"@id": "9",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"parentState": "8",
|
||||
"initial": true,
|
||||
"state": "S21"
|
||||
},
|
||||
{
|
||||
"@id": "10",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"parentState": "9",
|
||||
"initial": true,
|
||||
"state": "S211"
|
||||
},
|
||||
{
|
||||
"@id": "11",
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState",
|
||||
"parentState": "9",
|
||||
"state": "S212"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "5",
|
||||
"event": "A",
|
||||
"guard": "3"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "6",
|
||||
"event": "B"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "9",
|
||||
"target": "10",
|
||||
"event": "B"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "8",
|
||||
"event": "C"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "4",
|
||||
"event": "D"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "10",
|
||||
"target": "9",
|
||||
"event": "D"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "4",
|
||||
"target": "10",
|
||||
"event": "E"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "10",
|
||||
"event": "F"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "9",
|
||||
"event": "F"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "10",
|
||||
"event": "G"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "4",
|
||||
"target": "4",
|
||||
"kind": "INTERNAL",
|
||||
"guard": "2",
|
||||
"actions": ["1"],
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "5",
|
||||
"kind": "INTERNAL",
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "8",
|
||||
"kind": "INTERNAL",
|
||||
"guard": "3",
|
||||
"actions": ["1"],
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "7",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "7",
|
||||
"target": "11",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "10",
|
||||
"target": "7",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "6",
|
||||
"event": "J"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "5",
|
||||
"event": "K"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,186 @@
|
||||
[
|
||||
{
|
||||
"@id": "1",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryAction",
|
||||
"name": "fooAction"
|
||||
},
|
||||
{
|
||||
"@id": "2",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
|
||||
"name": "foo0Guard"
|
||||
},
|
||||
{
|
||||
"@id": "3",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
|
||||
"name": "foo1Guard"
|
||||
},
|
||||
{
|
||||
"@id": "4",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"initial": true,
|
||||
"initialAction": "1",
|
||||
"state": "S0"
|
||||
},
|
||||
{
|
||||
"@id": "5",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"parentState": "4",
|
||||
"initial": true,
|
||||
"state": "S1"
|
||||
},
|
||||
{
|
||||
"@id": "6",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"parentState": "5",
|
||||
"initial": true,
|
||||
"state": "S11"
|
||||
},
|
||||
{
|
||||
"@id": "7",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"parentState": "5",
|
||||
"state": "S12"
|
||||
},
|
||||
{
|
||||
"@id": "8",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"parentState": "4",
|
||||
"state": "S2"
|
||||
},
|
||||
{
|
||||
"@id": "9",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"parentState": "8",
|
||||
"initial": true,
|
||||
"state": "S21"
|
||||
},
|
||||
{
|
||||
"@id": "10",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"parentState": "9",
|
||||
"initial": true,
|
||||
"state": "S211"
|
||||
},
|
||||
{
|
||||
"@id": "11",
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
|
||||
"parentState": "9",
|
||||
"state": "S212"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "5",
|
||||
"event": "A",
|
||||
"guard": "3"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "6",
|
||||
"event": "B"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "9",
|
||||
"target": "10",
|
||||
"event": "B"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "8",
|
||||
"event": "C"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "4",
|
||||
"event": "D"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "10",
|
||||
"target": "9",
|
||||
"event": "D"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "4",
|
||||
"target": "10",
|
||||
"event": "E"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "10",
|
||||
"event": "F"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "9",
|
||||
"event": "F"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "10",
|
||||
"event": "G"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "4",
|
||||
"target": "4",
|
||||
"kind": "INTERNAL",
|
||||
"guard": "2",
|
||||
"actions": ["1"],
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "5",
|
||||
"target": "5",
|
||||
"kind": "INTERNAL",
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "8",
|
||||
"kind": "INTERNAL",
|
||||
"guard": "3",
|
||||
"actions": ["1"],
|
||||
"event": "H"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "7",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "7",
|
||||
"target": "11",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "10",
|
||||
"target": "7",
|
||||
"event": "I"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "6",
|
||||
"target": "6",
|
||||
"event": "J"
|
||||
},
|
||||
{
|
||||
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
|
||||
"source": "8",
|
||||
"target": "5",
|
||||
"event": "K"
|
||||
}
|
||||
]
|
||||
@@ -1,97 +1,88 @@
|
||||
<?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="_uXOeAQ7PEeaxyZlCCSfciw" type="PapyrusUMLStateMachineDiagram" name="StateMachine Diagram" measurementUnit="Pixel">
|
||||
<children xmi:type="notation:Shape" xmi:id="_uXOeAg7PEeaxyZlCCSfciw" type="2000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_uXOeAw7PEeaxyZlCCSfciw" type="2001">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeBA7PEeaxyZlCCSfciw" width="1204" height="23"/>
|
||||
<children xmi:type="notation:Shape" xmi:id="_uXOeAg7PEeaxyZlCCSfciw" type="StateMachine_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_uXOeAw7PEeaxyZlCCSfciw" type="StateMachine_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeBA7PEeaxyZlCCSfciw" width="1207" height="23"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_uXOeBQ7PEeaxyZlCCSfciw" type="2002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_uXOeBg7PEeaxyZlCCSfciw" type="3000">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIJ04LCLEeajqum4nY78QQ" type="StateMachine_RegionCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_uXOeBg7PEeaxyZlCCSfciw" type="Region_Shape">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uXOeBw7PEeaxyZlCCSfciw" source="RegionAnnotationKey">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uXOeCA7PEeaxyZlCCSfciw" key="RegionZoneKey" value=""/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_uXOeCQ7PEeaxyZlCCSfciw" type="3002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_BWOeoA7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BWPFsA7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BILqELCLEeajqum4nY78QQ" type="Region_SubvertexCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_BWOeoA7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BWPFsA7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ECkwIA7QEeaxyZlCCSfciw" width="1067" height="42"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BWPFsQ7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BWPFsQ7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_BWPFsg7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_BWPFsw7QEeaxyZlCCSfciw" type="6002">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K7xckA7QEeaxyZlCCSfciw" source="PapyrusCSSForceValue">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K7xckQ7QEeaxyZlCCSfciw" key="visible" value="true"/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:Shape" xmi:id="_K7zRwA7QEeaxyZlCCSfciw" type="3000">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIMRILCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_K7zRwA7QEeaxyZlCCSfciw" type="Region_Shape">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K7z40g7QEeaxyZlCCSfciw" source="RegionAnnotationKey">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K7z40w7QEeaxyZlCCSfciw" key="RegionZoneKey" value=""/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_K7z40A7QEeaxyZlCCSfciw" type="3002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_K70f4A7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_K70f4g7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BINfQLCLEeajqum4nY78QQ" type="Region_SubvertexCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_K70f4A7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_K70f4g7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y8gMYA7QEeaxyZlCCSfciw" width="336" height="42"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_K70f4w7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_K70f4w7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_K70f5A7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_K70f5Q7QEeaxyZlCCSfciw" type="6002">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eZD7sA7QEeaxyZlCCSfciw" source="PapyrusCSSForceValue">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eZD7sQ7QEeaxyZlCCSfciw" key="visible" value="true"/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:Shape" xmi:id="_eZEiwA7QEeaxyZlCCSfciw" type="3000">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIOGULCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_eZEiwA7QEeaxyZlCCSfciw" type="Region_Shape">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eZEixA7QEeaxyZlCCSfciw" source="RegionAnnotationKey">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eZEixQ7QEeaxyZlCCSfciw" key="RegionZoneKey" value=""/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_eZEiwg7QEeaxyZlCCSfciw" type="3002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_eZFJ0Q7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_eZFJ0w7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIOtYLCLEeajqum4nY78QQ" type="Region_SubvertexCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_eZFJ0Q7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_eZFJ0w7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_twTygA7QEeaxyZlCCSfciw" width="140"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_eZFJ1A7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_eZFJ1A7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_eZFJ1Q7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_eZFJ1g7QEeaxyZlCCSfciw" type="6002">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ab2LsA9tEeaqleSKKcvuHQ" source="PapyrusCSSForceValue">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ab2ywA9tEeaqleSKKcvuHQ" key="visible" value="true"/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIOtYbCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_eZFJ1w7QEeaxyZlCCSfciw" y="-1" width="140"/>
|
||||
</children>
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_gTTNQA7wEeaqleSKKcvuHQ" type="compartment_shape_display">
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_gTTNQQ7wEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gTTNQg7wEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_Ab1koA9tEeaqleSKKcvuHQ" type="680">
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_8uH8wA9sEeaqleSKKcvuHQ"/>
|
||||
<children xmi:type="notation:Shape" xmi:id="_Ab1koA9tEeaqleSKKcvuHQ" type="Transition_InternalTransitionLabel">
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_8uH8wA9sEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Ab1koQ9tEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_eZFJ0A7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_eZFJ0A7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_eZFJ0g7QEeaxyZlCCSfciw" x="106" y="41" width="140" height="149"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_gBocAA7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_gBocAg7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_gBocAA7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_gBocAg7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_vyMxwA7QEeaxyZlCCSfciw" width="140"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_gBocAw7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_gBocAw7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_gBocBA7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_gBocBQ7QEeaxyZlCCSfciw" type="6002">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIPUcLCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gBocBg7QEeaxyZlCCSfciw" y="-1" width="140"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_gBggMA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_gBggMA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gBocAQ7QEeaxyZlCCSfciw" x="106" y="319" width="140" height="83"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_rSTCgA7REeaxyZlCCSfciw" type="8000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_rSTCgg7REeaxyZlCCSfciw" type="8001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_rSTCgA7REeaxyZlCCSfciw" type="Pseudostate_InitialShape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_rSTCgg7REeaxyZlCCSfciw" type="Pseudostate_InitialFloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_rSTCgw7REeaxyZlCCSfciw" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_rSTChA7REeaxyZlCCSfciw" type="8002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_rSTChA7REeaxyZlCCSfciw" type="Pseudostate_InitialStereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_rSTChQ7REeaxyZlCCSfciw" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="showcase.uml#_rSEZAA7REeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_rSTCgQ7REeaxyZlCCSfciw" x="23" y="50"/>
|
||||
<element xmi:type="uml:Pseudostate" href="ShowcaseMachine.uml#_rSEZAA7REeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_rSTCgQ7REeaxyZlCCSfciw" x="24" y="57"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_eZEiww7QEeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Region" href="showcase.uml#_eZD7sg7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Region" href="ShowcaseMachine.uml#_eZD7sg7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_eZEiwQ7QEeaxyZlCCSfciw" width="336" height="493"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_K70f5g7QEeaxyZlCCSfciw" y="42" width="336" height="493"/>
|
||||
@@ -100,104 +91,98 @@
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_gTQJ8Q7wEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gTQJ8g7wEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_KieLgA9vEeaqleSKKcvuHQ" type="680">
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_H5UX8A9vEeaqleSKKcvuHQ"/>
|
||||
<children xmi:type="notation:Shape" xmi:id="_KieLgA9vEeaqleSKKcvuHQ" type="Transition_InternalTransitionLabel">
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_H5UX8A9vEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_KieLgQ9vEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_K7z41A7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_K7z41A7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_K70f4Q7QEeaxyZlCCSfciw" x="118" y="26" width="336" height="535"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_LkV4cA7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_LkV4cg7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_LkV4cA7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_LkV4cg7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zy5B0A7QEeaxyZlCCSfciw" width="447" height="42"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_LkV4cw7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_LkV4cw7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_LkV4dA7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_LkV4dQ7QEeaxyZlCCSfciw" type="6002">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h8g0UA7QEeaxyZlCCSfciw" source="PapyrusCSSForceValue">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_h8g0UQ7QEeaxyZlCCSfciw" key="visible" value="true"/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:Shape" xmi:id="_h8g0Uw7QEeaxyZlCCSfciw" type="3000">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIPUcbCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_h8g0Uw7QEeaxyZlCCSfciw" type="Region_Shape">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h8hbYg7QEeaxyZlCCSfciw" source="RegionAnnotationKey">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_h8hbYw7QEeaxyZlCCSfciw" key="RegionZoneKey" value=""/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_h8hbYA7QEeaxyZlCCSfciw" type="3002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_h8hbZQ7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_h8hbZw7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIP7gLCLEeajqum4nY78QQ" type="Region_SubvertexCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_h8hbZQ7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_h8hbZw7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_kRypoA7QEeaxyZlCCSfciw" width="313" height="23"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_h8hbaA7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_h8hbaA7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_h8hbaQ7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_h8iCcA7QEeaxyZlCCSfciw" type="6002">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ku2ZEA7QEeaxyZlCCSfciw" source="PapyrusCSSForceValue">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ku2ZEQ7QEeaxyZlCCSfciw" key="visible" value="true"/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:Shape" xmi:id="_ku3AIQ7QEeaxyZlCCSfciw" type="3000">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIP7gbCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_ku3AIQ7QEeaxyZlCCSfciw" type="Region_Shape">
|
||||
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ku3AJQ7QEeaxyZlCCSfciw" source="RegionAnnotationKey">
|
||||
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ku3AJg7QEeaxyZlCCSfciw" key="RegionZoneKey" value=""/>
|
||||
</eAnnotations>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ku3AIw7QEeaxyZlCCSfciw" type="3002">
|
||||
<children xmi:type="notation:Shape" xmi:id="_ku3nMQ7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ku3nMw7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIQikLCLEeajqum4nY78QQ" type="Region_SubvertexCompartment">
|
||||
<children xmi:type="notation:Shape" xmi:id="_ku3nMQ7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ku3nMw7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_vyMKsQ7QEeaxyZlCCSfciw" width="140"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ku3nNA7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ku3nNA7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ku3nNQ7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ku3nNg7QEeaxyZlCCSfciw" type="6002">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIRJoLCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ku3nNw7QEeaxyZlCCSfciw" y="-1" width="140"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_ku3nMA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_ku3nMA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ku3nMg7QEeaxyZlCCSfciw" x="102" y="36" width="140" height="200"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_mFe00A7QEeaxyZlCCSfciw" type="6000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_mFe00g7QEeaxyZlCCSfciw" type="6001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_mFe00A7QEeaxyZlCCSfciw" type="State_Shape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_mFe00g7QEeaxyZlCCSfciw" type="State_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_vyMKsA7QEeaxyZlCCSfciw" width="139"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_mFe00w7QEeaxyZlCCSfciw" type="19003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_mFe00w7QEeaxyZlCCSfciw" type="State_FloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_mFe01A7QEeaxyZlCCSfciw" x="40"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_mFe01Q7QEeaxyZlCCSfciw" type="6002">
|
||||
<children xmi:type="notation:BasicCompartment" xmi:id="_BIRJobCLEeajqum4nY78QQ" type="State_RegionCompartment">
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_mFe01g7QEeaxyZlCCSfciw" y="-1" width="139"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_mFUcwA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_mFUcwA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_mFe00Q7QEeaxyZlCCSfciw" x="103" y="303" width="139" height="83"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_ueSdYA7REeaxyZlCCSfciw" type="8000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ueSdYg7REeaxyZlCCSfciw" type="8001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_ueSdYA7REeaxyZlCCSfciw" type="Pseudostate_InitialShape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ueSdYg7REeaxyZlCCSfciw" type="Pseudostate_InitialFloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ueSdYw7REeaxyZlCCSfciw" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ueSdZA7REeaxyZlCCSfciw" type="8002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ueSdZA7REeaxyZlCCSfciw" type="Pseudostate_InitialStereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ueSdZQ7REeaxyZlCCSfciw" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="showcase.uml#_ueClwA7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Pseudostate" href="ShowcaseMachine.uml#_ueClwA7REeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ueSdYQ7REeaxyZlCCSfciw" x="22" y="49"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ku3AJA7QEeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Region" href="showcase.uml#_ku3AIA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Region" href="ShowcaseMachine.uml#_ku3AIA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ku3AIg7QEeaxyZlCCSfciw" width="313" height="398"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8iCcQ7QEeaxyZlCCSfciw" y="23" width="313" height="398"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_h8hbZA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_h8hbZA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8hbZg7QEeaxyZlCCSfciw" x="103" y="24" width="313" height="421"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_r7uaAA7REeaxyZlCCSfciw" type="8000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_r7uaAg7REeaxyZlCCSfciw" type="8001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_r7uaAA7REeaxyZlCCSfciw" type="Pseudostate_InitialShape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_r7uaAg7REeaxyZlCCSfciw" type="Pseudostate_InitialFloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_r7uaAw7REeaxyZlCCSfciw" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_r7uaBA7REeaxyZlCCSfciw" type="8002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_r7uaBA7REeaxyZlCCSfciw" type="Pseudostate_InitialStereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_r7uaBQ7REeaxyZlCCSfciw" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="showcase.uml#_r7fJcA7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Pseudostate" href="ShowcaseMachine.uml#_r7fJcA7REeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_r7uaAQ7REeaxyZlCCSfciw" x="23" y="58"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8hbYQ7QEeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Region" href="showcase.uml#_h8g0Ug7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Region" href="ShowcaseMachine.uml#_h8g0Ug7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8g0VA7QEeaxyZlCCSfciw" width="447" height="496"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_LkV4dg7QEeaxyZlCCSfciw" y="42" width="447" height="496"/>
|
||||
@@ -206,26 +191,26 @@
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_gTezcQ7wEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gTezcg7wEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_QGEW8A9vEeaqleSKKcvuHQ" type="680">
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_ONj9MA9vEeaqleSKKcvuHQ"/>
|
||||
<children xmi:type="notation:Shape" xmi:id="_QGEW8A9vEeaqleSKKcvuHQ" type="Transition_InternalTransitionLabel">
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_ONj9MA9vEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_QGEW8Q9vEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_LkOjsA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_LkOjsA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_LkV4cQ7QEeaxyZlCCSfciw" x="550" y="26" width="447" height="538"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_qhIEQA7REeaxyZlCCSfciw" type="8000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_qhIEQg7REeaxyZlCCSfciw" type="8001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_qhIEQA7REeaxyZlCCSfciw" type="Pseudostate_InitialShape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_qhIEQg7REeaxyZlCCSfciw" type="Pseudostate_InitialFloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_qhIEQw7REeaxyZlCCSfciw" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_qhIERA7REeaxyZlCCSfciw" type="8002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_qhIERA7REeaxyZlCCSfciw" type="Pseudostate_InitialStereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_qhIERQ7REeaxyZlCCSfciw" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="showcase.uml#_qg1wYA7REeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_qhIEQQ7REeaxyZlCCSfciw" x="23" y="69"/>
|
||||
<element xmi:type="uml:Pseudostate" href="ShowcaseMachine.uml#_qg1wYA7REeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_qhIEQQ7REeaxyZlCCSfciw" x="23" y="80"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_K7z40Q7QEeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Region" href="showcase.uml#_K7yDoA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Region" href="ShowcaseMachine.uml#_K7yDoA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_K7zRwQ7QEeaxyZlCCSfciw" width="1067" height="601"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWPFtA7QEeaxyZlCCSfciw" y="42" width="1067" height="601"/>
|
||||
@@ -234,355 +219,367 @@
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_gTNGoQ7wEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gTNGog7wEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_4khYMA9uEeaqleSKKcvuHQ" type="680">
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_2YuPAA9uEeaqleSKKcvuHQ"/>
|
||||
<children xmi:type="notation:Shape" xmi:id="_4khYMA9uEeaqleSKKcvuHQ" type="Transition_InternalTransitionLabel">
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_2YuPAA9uEeaqleSKKcvuHQ"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_4khYMQ9uEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<element xmi:type="uml:State" href="showcase.uml#_BWMCYA7QEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:State" href="ShowcaseMachine.uml#_BWMCYA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWOeoQ7QEeaxyZlCCSfciw" x="118" y="11" width="1067" height="643"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Shape" xmi:id="_JePuoA7QEeaxyZlCCSfciw" type="8000">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JePuog7QEeaxyZlCCSfciw" type="8001">
|
||||
<children xmi:type="notation:Shape" xmi:id="_JePuoA7QEeaxyZlCCSfciw" type="Pseudostate_InitialShape">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JePuog7QEeaxyZlCCSfciw" type="Pseudostate_InitialFloatingNameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JePuow7QEeaxyZlCCSfciw" x="25" y="3"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JePupA7QEeaxyZlCCSfciw" type="8002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JePupA7QEeaxyZlCCSfciw" type="Pseudostate_InitialStereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JePupQ7QEeaxyZlCCSfciw" x="25" y="-10"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Pseudostate" href="showcase.uml#_JeMEQA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_JePuoQ7QEeaxyZlCCSfciw" x="17" y="44"/>
|
||||
<element xmi:type="uml:Pseudostate" href="ShowcaseMachine.uml#_JeMEQA7QEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_JePuoQ7QEeaxyZlCCSfciw" x="17" y="68"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeCg7PEeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<element xmi:type="uml:Region" href="showcase.uml#_uXOeAA7PEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeCw7PEeaxyZlCCSfciw" width="1204" height="791"/>
|
||||
<element xmi:type="uml:Region" href="ShowcaseMachine.uml#_uXOeAA7PEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeCw7PEeaxyZlCCSfciw" width="1207" height="687"/>
|
||||
</children>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeDA7PEeaxyZlCCSfciw" y="23" width="1204" height="791"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeDA7PEeaxyZlCCSfciw" y="23" width="1207" height="687"/>
|
||||
</children>
|
||||
<element xmi:type="uml:StateMachine" href="showcase.uml#_uXNP4A7PEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeDQ7PEeaxyZlCCSfciw" x="30" y="30" width="1204" height="814"/>
|
||||
<element xmi:type="uml:StateMachine" href="ShowcaseMachine.uml#_uXNP4A7PEeaxyZlCCSfciw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXOeDQ7PEeaxyZlCCSfciw" x="30" y="30" width="1207" height="710"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:StringValueStyle" xmi:id="_uXOeDg7PEeaxyZlCCSfciw" name="diagram_compatibility_version" stringValue="1.1.0"/>
|
||||
<styles xmi:type="notation:StringValueStyle" xmi:id="_uXOeDg7PEeaxyZlCCSfciw" name="diagram_compatibility_version" stringValue="1.2.0"/>
|
||||
<styles xmi:type="notation:DiagramStyle" xmi:id="_uXOeDw7PEeaxyZlCCSfciw"/>
|
||||
<styles xmi:type="style:PapyrusViewStyle" xmi:id="_uXOeEA7PEeaxyZlCCSfciw">
|
||||
<owner xmi:type="uml:Model" href="showcase.uml#_uXKzoA7PEeaxyZlCCSfciw"/>
|
||||
<owner xmi:type="uml:Model" href="ShowcaseMachine.uml#_uXKzoA7PEeaxyZlCCSfciw"/>
|
||||
</styles>
|
||||
<element xmi:type="uml:StateMachine" href="showcase.uml#_uXNP4A7PEeaxyZlCCSfciw"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_4owGQA7REeaxyZlCCSfciw" type="7000" source="_JePuoA7QEeaxyZlCCSfciw" target="_BWOeoA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_4owGQw7REeaxyZlCCSfciw" type="7001">
|
||||
<element xmi:type="uml:StateMachine" href="ShowcaseMachine.uml#_uXNP4A7PEeaxyZlCCSfciw"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_4owGQA7REeaxyZlCCSfciw" type="Transition_Edge" source="_JePuoA7QEeaxyZlCCSfciw" target="_BWOeoA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_4owGQw7REeaxyZlCCSfciw" type="Transition_NameLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_bDkOALCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_4owGRA7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_4owtUA7REeaxyZlCCSfciw" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_4owtUA7REeaxyZlCCSfciw" type="Transition_GuardLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_bEFLYLCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_4owtUQ7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_4owtUg7REeaxyZlCCSfciw" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_4owtUw7REeaxyZlCCSfciw" y="60"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_4owtUg7REeaxyZlCCSfciw" type="Transition_StereotypeLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_bEpMELCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_4owtUw7REeaxyZlCCSfciw" y="59"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_4owGQQ7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_4ockQA7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_4ockQA7REeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4owGQg7REeaxyZlCCSfciw" points="[8, -1, -112, 0]$[91, -20, -29, -19]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4pjXgA7REeaxyZlCCSfciw" id="(1.0,0.45)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4pjXgQ7REeaxyZlCCSfciw" id="(0.0,0.056910569105691054)"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4pjXgA7REeaxyZlCCSfciw" id="(0.9,0.45)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4pjXgQ7REeaxyZlCCSfciw" id="(0.0,0.1026438569206843)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_5U4zgA7REeaxyZlCCSfciw" type="7000" source="_qhIEQA7REeaxyZlCCSfciw" target="_K70f4A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5U4zgw7REeaxyZlCCSfciw" type="7001">
|
||||
<edges xmi:type="notation:Connector" xmi:id="_5U4zgA7REeaxyZlCCSfciw" type="Transition_Edge" source="_qhIEQA7REeaxyZlCCSfciw" target="_K70f4A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5U4zgw7REeaxyZlCCSfciw" type="Transition_NameLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_exl-8LCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_5U4zhA7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5U4zhQ7REeaxyZlCCSfciw" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5U4zhQ7REeaxyZlCCSfciw" type="Transition_GuardLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_ex9LULCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_5U4zhg7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5U4zhw7REeaxyZlCCSfciw" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_5U4ziA7REeaxyZlCCSfciw" y="60"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_5U4zhw7REeaxyZlCCSfciw" type="Transition_StereotypeLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_eyWM4LCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_5U4ziA7REeaxyZlCCSfciw" x="1" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_5U4zgQ7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_5UnGsA7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_5UnGsA7REeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5U4zgg7REeaxyZlCCSfciw" points="[8, -1, -112, 0]$[85, -44, -35, -43]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5VnMQA7REeaxyZlCCSfciw" id="(1.0,0.45)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5VnMQQ7REeaxyZlCCSfciw" id="(0.0,0.12264150943396226)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5VnMQQ7REeaxyZlCCSfciw" id="(0.0,0.11775700934579439)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_6Q7lAA7REeaxyZlCCSfciw" type="7000" source="_rSTCgA7REeaxyZlCCSfciw" target="_eZFJ0Q7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_6Q7lAw7REeaxyZlCCSfciw" type="7001">
|
||||
<edges xmi:type="notation:Connector" xmi:id="_6Q7lAA7REeaxyZlCCSfciw" type="Transition_Edge" source="_rSTCgA7REeaxyZlCCSfciw" target="_eZFJ0Q7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_6Q7lAw7REeaxyZlCCSfciw" type="Transition_NameLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_hGWP0LCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_6Q7lBA7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_6Q7lBQ7REeaxyZlCCSfciw" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_6Q7lBQ7REeaxyZlCCSfciw" type="Transition_GuardLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_hGv4cLCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_6Q7lBg7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_6Q7lBw7REeaxyZlCCSfciw" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_6Q7lCA7REeaxyZlCCSfciw" y="60"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_6Q7lBw7REeaxyZlCCSfciw" type="Transition_StereotypeLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_hHKIILCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_6Q7lCA7REeaxyZlCCSfciw" x="2" y="57"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_6Q7lAQ7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_6QpRIA7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_6QpRIA7REeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6Q7lAg7REeaxyZlCCSfciw" points="[8, 0, -106, 0]$[89, -19, -25, -19]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6RvdUA7REeaxyZlCCSfciw" id="(1.0,0.45)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6RvdUQ7REeaxyZlCCSfciw" id="(0.0,0.21686746987951808)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6RvdUQ7REeaxyZlCCSfciw" id="(0.0,0.16778523489932887)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_7MxiMA7REeaxyZlCCSfciw" type="7000" source="_r7uaAA7REeaxyZlCCSfciw" target="_h8hbZQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7MxiMw7REeaxyZlCCSfciw" type="7001">
|
||||
<edges xmi:type="notation:Connector" xmi:id="_7MxiMA7REeaxyZlCCSfciw" type="Transition_Edge" source="_r7uaAA7REeaxyZlCCSfciw" target="_h8hbZQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7MxiMw7REeaxyZlCCSfciw" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_7MxiNA7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7MxiNQ7REeaxyZlCCSfciw" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7MxiNQ7REeaxyZlCCSfciw" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_7MxiNg7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7MxiNw7REeaxyZlCCSfciw" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_7MxiNw7REeaxyZlCCSfciw" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_7MxiOA7REeaxyZlCCSfciw" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_7MxiMQ7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_7Mf1YA7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_7Mf1YA7REeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7MxiMg7REeaxyZlCCSfciw" points="[8, -1, -92, 0]$[70, -38, -30, -37]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Npr8A7REeaxyZlCCSfciw" id="(1.0,0.5)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Npr8Q7REeaxyZlCCSfciw" id="(0.0,0.10451306413301663)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_8IKMYA7REeaxyZlCCSfciw" type="7000" source="_ueSdYA7REeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_8IKzcA7REeaxyZlCCSfciw" type="7001">
|
||||
<edges xmi:type="notation:Connector" xmi:id="_8IKMYA7REeaxyZlCCSfciw" type="Transition_Edge" source="_ueSdYA7REeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_8IKzcA7REeaxyZlCCSfciw" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_8IKzcQ7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_8IKzcg7REeaxyZlCCSfciw" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_8IKzcg7REeaxyZlCCSfciw" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_8IKzcw7REeaxyZlCCSfciw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_8IKzdA7REeaxyZlCCSfciw" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_8IKzdA7REeaxyZlCCSfciw" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_8IKzdQ7REeaxyZlCCSfciw" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_8IKMYQ7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_8H6UwA7REeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_8H6UwA7REeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8IKMYg7REeaxyZlCCSfciw" points="[8, -1, -78, 0]$[70, -7, -16, -6]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8I7BYA7REeaxyZlCCSfciw" id="(1.0,0.5)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8I7BYQ7REeaxyZlCCSfciw" id="(0.0,0.115)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_GgWIMA7SEeaxyZlCCSfciw" type="7000" source="_K70f4A7QEeaxyZlCCSfciw" target="_BWOeoA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GgWIMw7SEeaxyZlCCSfciw" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GgWINA7SEeaxyZlCCSfciw"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_GgWIMA7SEeaxyZlCCSfciw" type="Transition_Edge" source="_K70f4A7QEeaxyZlCCSfciw" target="_BWOeoA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GgWIMw7SEeaxyZlCCSfciw" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GgWINA7SEeaxyZlCCSfciw" x="3" y="12"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GgWINQ7SEeaxyZlCCSfciw" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GgWINQ7SEeaxyZlCCSfciw" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GgWINg7SEeaxyZlCCSfciw" x="2" y="15"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GgWINw7SEeaxyZlCCSfciw" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_GgWINw7SEeaxyZlCCSfciw" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GgWIOA7SEeaxyZlCCSfciw" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_GgWIMQ7SEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_Gf6qYA7SEeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GgWIMg7SEeaxyZlCCSfciw" points="[-10, -1, 113, 0]$[-128, -3, -5, -2]"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_Gf6qYA7SEeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GgWIMg7SEeaxyZlCCSfciw"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GheJkA7SEeaxyZlCCSfciw" id="(0.0,0.3813084112149533)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GheJkQ7SEeaxyZlCCSfciw" id="(0.0,0.42457231726283046)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GheJkQ7SEeaxyZlCCSfciw" id="(0.0,0.4230171073094868)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_vT8BEA7TEeaxyZlCCSfciw" type="7000" source="_K70f4A7QEeaxyZlCCSfciw" target="_K70f4A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_vT8oIA7TEeaxyZlCCSfciw" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_vT8oIQ7TEeaxyZlCCSfciw"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_vT8BEA7TEeaxyZlCCSfciw" type="Transition_Edge" source="_K70f4A7QEeaxyZlCCSfciw" target="_K70f4A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_vT8oIA7TEeaxyZlCCSfciw" type="Transition_NameLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_Wk0x0LCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_vT8oIQ7TEeaxyZlCCSfciw" y="15"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_vT8oIg7TEeaxyZlCCSfciw" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_vT8oIw7TEeaxyZlCCSfciw" x="77" y="-10"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_vT8oIg7TEeaxyZlCCSfciw" type="Transition_GuardLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_Wlb10LCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_vT8oIw7TEeaxyZlCCSfciw" x="75" y="-10"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_vT8oJA7TEeaxyZlCCSfciw" type="7003">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_vT8oJQ7TEeaxyZlCCSfciw" y="60"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_vT8oJA7TEeaxyZlCCSfciw" type="Transition_StereotypeLabel">
|
||||
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_WmCSwLCLEeajqum4nY78QQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_vT8oJQ7TEeaxyZlCCSfciw" x="1" y="58"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_vT8BEQ7TEeaxyZlCCSfciw"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_vTq7UA7TEeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vT8BEg7TEeaxyZlCCSfciw" points="[0, 0, 0, -99]$[-68, 16, -68, -83]$[-68, 99, -68, 0]$[0, 99, 0, 0]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vUrn8A7TEeaxyZlCCSfciw" id="(0.0,0.6768867924528302)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vUsPAA7TEeaxyZlCCSfciw" id="(0.0,0.910377358490566)"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_vTq7UA7TEeaxyZlCCSfciw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vT8BEg7TEeaxyZlCCSfciw" points="[268, 518, -643984, -643984]$[233, 518, -643984, -643984]$[233, 610, -643984, -643984]$[268, 610, -643984, -643984]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vUrn8A7TEeaxyZlCCSfciw" id="(0.0,0.7214953271028037)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vUsPAA7TEeaxyZlCCSfciw" id="(0.0,0.8934579439252337)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_y8IeQA9sEeaqleSKKcvuHQ" type="7000" source="_K70f4A7QEeaxyZlCCSfciw" target="_eZFJ0Q7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_y8JFUA9sEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_y8JFUQ9sEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_y8IeQA9sEeaqleSKKcvuHQ" type="Transition_Edge" source="_K70f4A7QEeaxyZlCCSfciw" target="_eZFJ0Q7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_y8JFUA9sEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_y8JFUQ9sEeaqleSKKcvuHQ" x="-8" y="-13"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_y8JFUg9sEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_y8JFUg9sEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_y8JFUw9sEeaqleSKKcvuHQ" x="-2" y="-12"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_y8JFVA9sEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_y8JFVA9sEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_y8JFVQ9sEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_y8IeQQ9sEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_y7xR4A9sEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y8IeQg9sEeaqleSKKcvuHQ" points="[-26, 0, -131, 3]$[80, -1, -25, 2]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y9JK4A9sEeaqleSKKcvuHQ" id="(0.0,0.3102803738317757)"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_y7xR4A9sEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y8IeQg9sEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y9JK4A9sEeaqleSKKcvuHQ" id="(0.0,0.308411214953271)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y9Jx8A9sEeaqleSKKcvuHQ" id="(0.0,0.5503355704697986)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_2geHsA9sEeaqleSKKcvuHQ" type="7000" source="_eZFJ0Q7QEeaxyZlCCSfciw" target="_gBocAA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_2geuwA9sEeaqleSKKcvuHQ" type="7001">
|
||||
<edges xmi:type="notation:Connector" xmi:id="_2geHsA9sEeaqleSKKcvuHQ" type="Transition_Edge" source="_eZFJ0Q7QEeaxyZlCCSfciw" target="_gBocAA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_2geuwA9sEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_2geuwQ9sEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_2geuwg9sEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_2geuwg9sEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_2geuww9sEeaqleSKKcvuHQ"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_2geuxA9sEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_2geuxA9sEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_2geuxQ9sEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_2geHsQ9sEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_2gKlsA9sEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_2gKlsA9sEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2geHsg9sEeaqleSKKcvuHQ" points="[0, 15, 0, -93]$[-3, 90, -3, -18]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2hYtsA9sEeaqleSKKcvuHQ" id="(0.4785714285714286,1.0)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2hYtsQ9sEeaqleSKKcvuHQ" id="(0.4785714285714286,0.0)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_EdeOEA9tEeaqleSKKcvuHQ" type="7000" source="_K70f4A7QEeaxyZlCCSfciw" target="_LkV4cA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Ede1IA9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Ede1IQ9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_EdeOEA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_K70f4A7QEeaxyZlCCSfciw" target="_LkV4cA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Ede1IA9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Ede1IQ9tEeaqleSKKcvuHQ" x="-3" y="-15"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Ede1Ig9tEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Ede1Ig9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Ede1Iw9tEeaqleSKKcvuHQ" x="-1" y="-18"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Ede1JA9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_Ede1JA9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_Ede1JQ9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_EdeOEQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_EdFzkA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EdeOEg9tEeaqleSKKcvuHQ" points="[7, 0, -118, -1]$[103, -18, -22, -19]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EebQUA9tEeaqleSKKcvuHQ" id="(1.0,0.1383177570093458)"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_EdFzkA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EdeOEg9tEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EebQUA9tEeaqleSKKcvuHQ" id="(1.0,0.13644859813084112)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EebQUQ9tEeaqleSKKcvuHQ" id="(0.0,0.13568773234200743)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_G_jJQA9tEeaqleSKKcvuHQ" type="7000" source="_LkV4cA7QEeaxyZlCCSfciw" target="_K70f4A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_G_jJQw9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_G_jJRA9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_G_jJQA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_LkV4cA7QEeaxyZlCCSfciw" target="_K70f4A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_G_jJQw9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_G_jJRA9tEeaqleSKKcvuHQ" x="2" y="16"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_G_jJRQ9tEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_G_jJRQ9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_G_jJRg9tEeaqleSKKcvuHQ" y="16"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_G_jJRw9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_G_jJRw9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_G_jJSA9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_G_jJQQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_G_Mj8A9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G_jJQg9tEeaqleSKKcvuHQ" points="[-2, 0, 116, 0]$[-98, -12, 20, -12]"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_G_Mj8A9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_G_jJQg9tEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HAinwA9tEeaqleSKKcvuHQ" id="(0.0,0.26579925650557623)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HAjO0A9tEeaqleSKKcvuHQ" id="(1.0,0.2672897196261682)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_WLnDwA9tEeaqleSKKcvuHQ" type="7000" source="_LkV4cA7QEeaxyZlCCSfciw" target="_eZFJ0Q7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_WLnq0A9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_WLnq0Q9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_WLnDwA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_LkV4cA7QEeaxyZlCCSfciw" target="_eZFJ0Q7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_WLnq0A9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_WLnq0Q9tEeaqleSKKcvuHQ" x="-43" y="13"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_WLnq0g9tEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_WLnq0g9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_WLnq0w9tEeaqleSKKcvuHQ" x="-45" y="13"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_WLnq1A9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_WLnq1A9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_WLnq1Q9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_WLnDwQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_WLUI0A9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WLnDwg9tEeaqleSKKcvuHQ" points="[-5, -1, 199, 0]$[-191, 4, 13, 5]"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_WLUI0A9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WLnDwg9tEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WMdYUA9tEeaqleSKKcvuHQ" id="(0.0,0.33643122676579923)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WMdYUQ9tEeaqleSKKcvuHQ" id="(1.0,0.6510067114093959)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WMdYUQ9tEeaqleSKKcvuHQ" id="(1.0,0.6577181208053692)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_bh0TcA9tEeaqleSKKcvuHQ" type="7000" source="_K70f4A7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_bh06gA9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_bh06gQ9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_bh0TcA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_K70f4A7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_bh06gA9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_bh06gQ9tEeaqleSKKcvuHQ" x="-107" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_bh06gg9tEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_bh06gg9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_bh06gw9tEeaqleSKKcvuHQ" x="-104" y="-13"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_bh06hA9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_bh06hA9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_bh06hQ9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_bh0TcQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_bhhYgA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh0Tcg9tEeaqleSKKcvuHQ" points="[15, -1, -347, 23]$[346, -8, -16, 16]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bitEQA9tEeaqleSKKcvuHQ" id="(1.0,0.497196261682243)"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_bhhYgA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bh0Tcg9tEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bitEQA9tEeaqleSKKcvuHQ" id="(1.0,0.502803738317757)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bitEQQ9tEeaqleSKKcvuHQ" id="(0.0,0.72)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_ifBWIA9tEeaqleSKKcvuHQ" type="7000" source="_eZFJ0Q7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ifBWIw9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ifBWJA9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_ifBWIA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_eZFJ0Q7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ifBWIw9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ifBWJA9tEeaqleSKKcvuHQ" x="-62" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ifBWJQ9tEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ifBWJQ9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ifB9MA9tEeaqleSKKcvuHQ" x="-59" y="-10"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ifB9MQ9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_ifB9MQ9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ifB9Mg9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_ifBWIQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_iepisA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ifBWIg9tEeaqleSKKcvuHQ" points="[12, 0, -391, 73]$[482, 41, 79, 114]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_if-YYA9tEeaqleSKKcvuHQ" id="(1.0,0.8590604026845637)"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_iepisA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ifBWIg9tEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_if-YYA9tEeaqleSKKcvuHQ" id="(1.0,0.8791946308724832)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_if-YYQ9tEeaqleSKKcvuHQ" id="(0.0,0.445)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_nUTqEA9tEeaqleSKKcvuHQ" type="7000" source="_h8hbZQ7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_nUTqEw9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_nUTqFA9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_nUTqEA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_h8hbZQ7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_nUTqEw9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_nUTqFA9tEeaqleSKKcvuHQ" x="-7" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_nUTqFQ9tEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_nUTqFQ9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_nUTqFg9tEeaqleSKKcvuHQ" x="-1" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_nUTqFw9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_nUTqFw9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_nUTqGA9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_nUTqEQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_nUBWMA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nUTqEg9tEeaqleSKKcvuHQ" points="[-3, 1, -107, 36]$[100, -33, -4, 2]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nVIwgA9tEeaqleSKKcvuHQ" id="(0.0,0.5795724465558195)"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_nUBWMA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nUTqEg9tEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nVIwgA9tEeaqleSKKcvuHQ" id="(0.0,0.5843230403800475)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nVIwgQ9tEeaqleSKKcvuHQ" id="(0.0,0.935)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_tl9OUA9tEeaqleSKKcvuHQ" type="7000" source="_ku3nMQ7QEeaxyZlCCSfciw" target="_mFe00A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_tl9OUw9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_tl9OVA9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_tl9OUA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_ku3nMQ7QEeaxyZlCCSfciw" target="_mFe00A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_tl9OUw9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_tl9OVA9tEeaqleSKKcvuHQ" x="-5" y="-7"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_tl9OVQ9tEeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_tl9OVg9tEeaqleSKKcvuHQ"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_tl9OVQ9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_tl9OVg9tEeaqleSKKcvuHQ" x="-4" y="-8"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_tl9OVw9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_tl9OVw9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_tl9OWA9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_tl9OUQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_tlmpAA9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_tlmpAA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tl9OUg9tEeaqleSKKcvuHQ" points="[-2, 14, 10, -82]$[-23, 84, -11, -12]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tm3NQA9tEeaqleSKKcvuHQ" id="(0.4714285714285714,1.0)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tm3NQQ9tEeaqleSKKcvuHQ" id="(0.4714285714285714,0.0)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_9dRsUA9tEeaqleSKKcvuHQ" type="7000" source="_ku3nMQ7QEeaxyZlCCSfciw" target="_BWOeoA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9dSTYA9tEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_9dSTYQ9tEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_9dRsUA9tEeaqleSKKcvuHQ" type="Transition_Edge" source="_ku3nMQ7QEeaxyZlCCSfciw" target="_BWOeoA7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9dSTYA9tEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_9dSTYQ9tEeaqleSKKcvuHQ" x="-57" y="-15"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9dSTYg9tEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9dSTYg9tEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_9dSTYw9tEeaqleSKKcvuHQ" x="53" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9dSTZA9tEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_9dSTZA9tEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_9dSTZQ9tEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_9dRsUQ9tEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_9c3coA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9dRsUg9tEeaqleSKKcvuHQ" points="[17, -1, -170, 0]$[189, -2, 2, -1]"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_9c3coA9tEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9dRsUg9tEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9eRx4A9tEeaqleSKKcvuHQ" id="(1.0,0.14)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9eRx4Q9tEeaqleSKKcvuHQ" id="(1.0,0.343701399688958)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_CRELcA9uEeaqleSKKcvuHQ" type="7000" source="_BWOeoA7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_CRELcw9uEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_CRELdA9uEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_CRELcA9uEeaqleSKKcvuHQ" type="Transition_Edge" source="_BWOeoA7QEeaxyZlCCSfciw" target="_ku3nMQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_CRELcw9uEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_CRELdA9uEeaqleSKKcvuHQ" x="52" y="15"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_CRELdQ9uEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_CRELdQ9uEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_CRELdg9uEeaqleSKKcvuHQ" x="-45" y="14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_CRELdw9uEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_CRELdw9uEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_CRELeA9uEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_CRELcQ9uEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_CQtmIA9uEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CRELcg9uEeaqleSKKcvuHQ" points="[15, 2, 187, 26]$[-157, -26, 15, -2]"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_CQtmIA9uEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CRELcg9uEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CSKXoA9uEeaqleSKKcvuHQ" id="(1.0,0.552099533437014)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CSK-sA9uEeaqleSKKcvuHQ" id="(1.0,0.805)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CSK-sA9uEeaqleSKKcvuHQ" id="(1.0,0.81)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_In2uYA9uEeaqleSKKcvuHQ" type="7000" source="_ku3nMQ7QEeaxyZlCCSfciw" target="_h8hbZQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_In2uYw9uEeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_In2uZA9uEeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_In2uYA9uEeaqleSKKcvuHQ" type="Transition_Edge" source="_ku3nMQ7QEeaxyZlCCSfciw" target="_h8hbZQ7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_In2uYw9uEeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_In2uZA9uEeaqleSKKcvuHQ" x="-6" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_In2uZQ9uEeaqleSKKcvuHQ" type="7002">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_In2uZQ9uEeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_In2uZg9uEeaqleSKKcvuHQ" x="-6" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_In2uZw9uEeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_In2uZw9uEeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_In2uaA9uEeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_In2uYQ9uEeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_InjzcA9uEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_In2uYg9uEeaqleSKKcvuHQ" points="[0, 0, -34, 1]$[34, -1, 0, 0]"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_InjzcA9uEeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_In2uYg9uEeaqleSKKcvuHQ"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IotC8A9uEeaqleSKKcvuHQ" id="(1.0,0.355)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IotC8Q9uEeaqleSKKcvuHQ" id="(1.0,0.30641330166270786)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IotC8Q9uEeaqleSKKcvuHQ" id="(1.0,0.3087885985748218)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_JB0CUA91EeaqleSKKcvuHQ" type="7000" source="_gBocAA7QEeaxyZlCCSfciw" target="_mFe00A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JB0pYA91EeaqleSKKcvuHQ" type="7001">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JB0pYQ91EeaqleSKKcvuHQ"/>
|
||||
<edges xmi:type="notation:Connector" xmi:id="_JB0CUA91EeaqleSKKcvuHQ" type="Transition_Edge" source="_gBocAA7QEeaxyZlCCSfciw" target="_mFe00A7QEeaxyZlCCSfciw">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JB0pYA91EeaqleSKKcvuHQ" type="Transition_NameLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JB0pYQ91EeaqleSKKcvuHQ" x="-61" y="-16"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JB0pYg91EeaqleSKKcvuHQ" type="7002">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JB0pYw91EeaqleSKKcvuHQ"/>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JB0pYg91EeaqleSKKcvuHQ" type="Transition_GuardLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JB0pYw91EeaqleSKKcvuHQ" x="-62" y="-14"/>
|
||||
</children>
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JB0pZA91EeaqleSKKcvuHQ" type="7003">
|
||||
<children xmi:type="notation:DecorationNode" xmi:id="_JB0pZA91EeaqleSKKcvuHQ" type="Transition_StereotypeLabel">
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JB0pZQ91EeaqleSKKcvuHQ" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_JB0CUQ91EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="showcase.uml#_JBi8kA91EeaqleSKKcvuHQ"/>
|
||||
<element xmi:type="uml:Transition" href="ShowcaseMachine.uml#_JBi8kA91EeaqleSKKcvuHQ"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JB0CUg91EeaqleSKKcvuHQ" points="[29, 0, -416, 0]$[421, -10, -24, -10]"/>
|
||||
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JCjpMA91EeaqleSKKcvuHQ" id="(1.0,0.6506024096385542)"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JCjpMQ91EeaqleSKKcvuHQ" id="(0.0,0.27710843373493976)"/>
|
||||
@@ -8,7 +8,7 @@
|
||||
<body>fooAction</body>
|
||||
</effect>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_vTq7UA7TEeaxyZlCCSfciw" guard="_BSJaoA72EeaqleSKKcvuHQ" source="_K7z41A7QEeaxyZlCCSfciw" target="_K7z41A7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_vTq7UA7TEeaxyZlCCSfciw" name="A" guard="_BSJaoA72EeaqleSKKcvuHQ" source="_K7z41A7QEeaxyZlCCSfciw" target="_K7z41A7QEeaxyZlCCSfciw">
|
||||
<ownedRule xmi:type="uml:Constraint" xmi:id="_BSJaoA72EeaqleSKKcvuHQ">
|
||||
<specification xmi:type="uml:OpaqueExpression" xmi:id="_BSJaoQ72EeaqleSKKcvuHQ" name="foo1Guard">
|
||||
<language>bean</language>
|
||||
@@ -17,7 +17,7 @@
|
||||
</ownedRule>
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_ABwpQA7UEeaxyZlCCSfciw" event="_SMW40A7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_CQtmIA9uEeaqleSKKcvuHQ" source="_BWMCYA7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_CQtmIA9uEeaqleSKKcvuHQ" name="E" source="_BWMCYA7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_DnaTUA9uEeaqleSKKcvuHQ" event="_bNY0cA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_2YuPAA9uEeaqleSKKcvuHQ" guard="_9kBYEA9uEeaqleSKKcvuHQ" kind="internal" source="_BWMCYA7QEeaxyZlCCSfciw" target="_BWMCYA7QEeaxyZlCCSfciw">
|
||||
@@ -36,22 +36,22 @@
|
||||
<subvertex xmi:type="uml:State" xmi:id="_BWMCYA7QEeaxyZlCCSfciw" name="S0">
|
||||
<region xmi:type="uml:Region" xmi:id="_K7yDoA7QEeaxyZlCCSfciw" name="Region1">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_5UnGsA7REeaxyZlCCSfciw" source="_qg1wYA7REeaxyZlCCSfciw" target="_K7z41A7QEeaxyZlCCSfciw"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_Gf6qYA7SEeaxyZlCCSfciw" source="_K7z41A7QEeaxyZlCCSfciw" target="_BWMCYA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_Gf6qYA7SEeaxyZlCCSfciw" name="D" source="_K7z41A7QEeaxyZlCCSfciw" target="_BWMCYA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_QC5cgA7SEeaxyZlCCSfciw" event="_Y9yJUA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_y7xR4A9sEeaqleSKKcvuHQ" source="_K7z41A7QEeaxyZlCCSfciw" target="_eZFJ0A7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_y7xR4A9sEeaqleSKKcvuHQ" name="B" source="_K7z41A7QEeaxyZlCCSfciw" target="_eZFJ0A7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_sXxSAA9vEeaqleSKKcvuHQ" event="_UYrmcA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_EdFzkA9tEeaqleSKKcvuHQ" source="_K7z41A7QEeaxyZlCCSfciw" target="_LkOjsA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_EdFzkA9tEeaqleSKKcvuHQ" name="C" source="_K7z41A7QEeaxyZlCCSfciw" target="_LkOjsA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_GHxMsA9tEeaqleSKKcvuHQ" event="_WsyXEA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_G_Mj8A9tEeaqleSKKcvuHQ" source="_LkOjsA7QEeaxyZlCCSfciw" target="_K7z41A7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_G_Mj8A9tEeaqleSKKcvuHQ" name="K" source="_LkOjsA7QEeaxyZlCCSfciw" target="_K7z41A7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_Jx2RwA9tEeaqleSKKcvuHQ" event="_qxhfoA7wEeaqleSKKcvuHQ"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_WLUI0A9tEeaqleSKKcvuHQ" source="_LkOjsA7QEeaxyZlCCSfciw" target="_eZFJ0A7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_WLUI0A9tEeaqleSKKcvuHQ" name="F" source="_LkOjsA7QEeaxyZlCCSfciw" target="_eZFJ0A7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_XwKmwA9tEeaqleSKKcvuHQ" event="_c-Eu8A7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_bhhYgA9tEeaqleSKKcvuHQ" source="_K7z41A7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_bhhYgA9tEeaqleSKKcvuHQ" name="F" source="_K7z41A7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_dRDccA9tEeaqleSKKcvuHQ" event="_c-Eu8A7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_H5UX8A9vEeaqleSKKcvuHQ" kind="internal" source="_K7z41A7QEeaxyZlCCSfciw" target="_K7z41A7QEeaxyZlCCSfciw">
|
||||
@@ -79,10 +79,10 @@
|
||||
<transition xmi:type="uml:Transition" xmi:id="_8uH8wA9sEeaqleSKKcvuHQ" kind="internal" source="_eZFJ0A7QEeaxyZlCCSfciw" target="_eZFJ0A7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="__2DXAA9sEeaqleSKKcvuHQ" event="_oHYNkA7wEeaqleSKKcvuHQ"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_iepisA9tEeaqleSKKcvuHQ" source="_eZFJ0A7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_iepisA9tEeaqleSKKcvuHQ" name="G" source="_eZFJ0A7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_kRNsgA9tEeaqleSKKcvuHQ" event="_ev8VMA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_JBi8kA91EeaqleSKKcvuHQ" source="_gBggMA7QEeaxyZlCCSfciw" target="_mFUcwA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_JBi8kA91EeaqleSKKcvuHQ" name="I" source="_gBggMA7QEeaxyZlCCSfciw" target="_mFUcwA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_KWn5IA91EeaqleSKKcvuHQ" event="_jSt80A7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<subvertex xmi:type="uml:State" xmi:id="_eZFJ0A7QEeaxyZlCCSfciw" name="S11"/>
|
||||
@@ -93,19 +93,19 @@
|
||||
<subvertex xmi:type="uml:State" xmi:id="_LkOjsA7QEeaxyZlCCSfciw" name="S2">
|
||||
<region xmi:type="uml:Region" xmi:id="_h8g0Ug7QEeaxyZlCCSfciw" name="Region1">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_7Mf1YA7REeaxyZlCCSfciw" source="_r7fJcA7REeaxyZlCCSfciw" target="_h8hbZA7QEeaxyZlCCSfciw"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_nUBWMA9tEeaqleSKKcvuHQ" source="_h8hbZA7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_nUBWMA9tEeaqleSKKcvuHQ" name="B" source="_h8hbZA7QEeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_sa-B4A9tEeaqleSKKcvuHQ" event="_UYrmcA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<subvertex xmi:type="uml:State" xmi:id="_h8hbZA7QEeaxyZlCCSfciw" name="S21">
|
||||
<region xmi:type="uml:Region" xmi:id="_ku3AIA7QEeaxyZlCCSfciw" name="Region1">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_8H6UwA7REeaxyZlCCSfciw" source="_ueClwA7REeaxyZlCCSfciw" target="_ku3nMA7QEeaxyZlCCSfciw"/>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_tlmpAA9tEeaqleSKKcvuHQ" source="_ku3nMA7QEeaxyZlCCSfciw" target="_mFUcwA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_tlmpAA9tEeaqleSKKcvuHQ" name="I" source="_ku3nMA7QEeaxyZlCCSfciw" target="_mFUcwA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_vC5GYA9tEeaqleSKKcvuHQ" event="_jSt80A7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_9c3coA9tEeaqleSKKcvuHQ" source="_ku3nMA7QEeaxyZlCCSfciw" target="_BWMCYA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_9c3coA9tEeaqleSKKcvuHQ" name="G" source="_ku3nMA7QEeaxyZlCCSfciw" target="_BWMCYA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_Aw2V4A9uEeaqleSKKcvuHQ" event="_ev8VMA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<transition xmi:type="uml:Transition" xmi:id="_InjzcA9uEeaqleSKKcvuHQ" source="_ku3nMA7QEeaxyZlCCSfciw" target="_h8hbZA7QEeaxyZlCCSfciw">
|
||||
<transition xmi:type="uml:Transition" xmi:id="_InjzcA9uEeaqleSKKcvuHQ" name="D" source="_ku3nMA7QEeaxyZlCCSfciw" target="_h8hbZA7QEeaxyZlCCSfciw">
|
||||
<trigger xmi:type="uml:Trigger" xmi:id="_QRDUYA9uEeaqleSKKcvuHQ" event="_Y9yJUA7REeaxyZlCCSfciw"/>
|
||||
</transition>
|
||||
<subvertex xmi:type="uml:State" xmi:id="_ku3nMA7QEeaxyZlCCSfciw" name="S211"/>
|
||||
Reference in New Issue
Block a user