diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/AbstractTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/AbstractTckTests.java index 34998096..95258b51 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/AbstractTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/AbstractTckTests.java @@ -86,4 +86,25 @@ public abstract class AbstractTckTests { * @return StateMachine for SimpleMachine */ protected abstract StateMachine getSimpleMachine() throws Exception; + + @Test + public void testSimpleSubMachine() throws Exception { + StateMachine stateMachine = getSimpleSubMachine(); + StateMachineTestPlan plan = + StateMachineTestPlanBuilder.builder() + .stateMachine(stateMachine) + .step().expectStates("S1").and() + .step().sendEvent("E1").expectStates("S2", "S21").and() + .step().sendEvent("E2").expectStates("S2", "S22").and() + .step().sendEvent("E3").expectStates("S3").and() + .build(); + plan.test(); + } + + /** + * Return state machine for {@link #testSimpleSubMachine()}. + * + * @return StateMachine for SimpleSubMachine + */ + protected abstract StateMachine getSimpleSubMachine() throws Exception; } diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationFactoryTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationFactoryTckTests.java index 965d028a..9eea6db1 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationFactoryTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationFactoryTckTests.java @@ -44,6 +44,13 @@ public class AnnotationFactoryTckTests extends AbstractTckTests { return getStateMachineFactoryFromContext().getStateMachine(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(SimpleSubMachineConfig.class); + context.refresh(); + return getStateMachineFactoryFromContext().getStateMachine(); + } + @Configuration @EnableStateMachineFactory static class SimpleMachineConfig extends StateMachineConfigurerAdapter { @@ -69,4 +76,39 @@ public class AnnotationFactoryTckTests extends AbstractTckTests { .event("E2"); } } + + @Configuration + @EnableStateMachineFactory + static class SimpleSubMachineConfig extends StateMachineConfigurerAdapter { + + @Override + public void configure(StateMachineStateConfigurer states) throws Exception { + states + .withStates() + .initial("S1") + .state("S2") + .state("S3") + .and() + .withStates() + .parent("S2") + .initial("S21") + .state("S22"); + } + + @Override + public void configure(StateMachineTransitionConfigurer transitions) throws Exception { + transitions + .withExternal() + .source("S1").target("S2") + .event("E1") + .and() + .withExternal() + .source("S21").target("S22") + .event("E2") + .and() + .withExternal() + .source("S2").target("S3") + .event("E3"); + } + } } diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationTckTests.java index 74bb4c4d..302948ed 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/AnnotationTckTests.java @@ -44,6 +44,13 @@ public class AnnotationTckTests extends AbstractTckTests { return getStateMachineFromContext(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(SimpleSubMachineConfig.class); + context.refresh(); + return getStateMachineFromContext(); + } + @Configuration @EnableStateMachine static class SimpleMachineConfig extends StateMachineConfigurerAdapter { @@ -69,4 +76,39 @@ public class AnnotationTckTests extends AbstractTckTests { .event("E2"); } } + + @Configuration + @EnableStateMachine + static class SimpleSubMachineConfig extends StateMachineConfigurerAdapter { + + @Override + public void configure(StateMachineStateConfigurer states) throws Exception { + states + .withStates() + .initial("S1") + .state("S2") + .state("S3") + .and() + .withStates() + .parent("S2") + .initial("S21") + .state("S22"); + } + + @Override + public void configure(StateMachineTransitionConfigurer transitions) throws Exception { + transitions + .withExternal() + .source("S1").target("S2") + .event("E1") + .and() + .withExternal() + .source("S21").target("S22") + .event("E2") + .and() + .withExternal() + .source("S2").target("S3") + .event("E3"); + } + } } diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/BuilderTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/BuilderTckTests.java index 5f4b93b5..e01c9084 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/BuilderTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/javaconfig/BuilderTckTests.java @@ -46,4 +46,32 @@ public class BuilderTckTests extends AbstractTckTests { .event("E2"); return builder.build(); } + + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + Builder builder = StateMachineBuilder.builder(); + builder.configureStates() + .withStates() + .initial("S1") + .state("S2") + .state("S3") + .and() + .withStates() + .parent("S2") + .initial("S21") + .state("S22"); + builder.configureTransitions() + .withExternal() + .source("S1").target("S2") + .event("E1") + .and() + .withExternal() + .source("S21").target("S22") + .event("E2") + .and() + .withExternal() + .source("S2").target("S3") + .event("E3"); + return builder.build(); + } } diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaJsonTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaJsonTckTests.java index 16995734..e91f88d6 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaJsonTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaJsonTckTests.java @@ -57,6 +57,13 @@ public class JpaJsonTckTests extends AbstractTckTests { return getStateMachineFactoryFromContext().getStateMachine(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(TestConfig.class, SimpleSubMachineConfig.class, StateMachineFactoryConfig.class); + context.refresh(); + return getStateMachineFactoryFromContext().getStateMachine(); + } + @Configuration public static class SimpleMachineConfig { @@ -68,6 +75,17 @@ public class JpaJsonTckTests extends AbstractTckTests { } } + @Configuration + public static class SimpleSubMachineConfig { + + @Bean + public StateMachineJackson2RepositoryPopulatorFactoryBean jackson2RepositoryPopulatorFactoryBean() { + StateMachineJackson2RepositoryPopulatorFactoryBean factoryBean = new StateMachineJackson2RepositoryPopulatorFactoryBean(); + factoryBean.setResources(new Resource[]{new ClassPathResource("org/springframework/statemachine/buildtests/tck/jpa/SimpleSubMachine.json")}); + return factoryBean; + } + } + @Configuration @EnableStateMachineFactory public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter { diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaManualTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaManualTckTests.java index 785f4728..871471e3 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaManualTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/jpa/JpaManualTckTests.java @@ -76,6 +76,40 @@ public class JpaManualTckTests extends AbstractTckTests { return getStateMachineFactoryFromContext().getStateMachine(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(TestConfig.class, StateMachineFactoryConfig.class); + context.refresh(); + + JpaStateRepository stateRepository = context.getBean(JpaStateRepository.class); + JpaTransitionRepository transitionRepository = context.getBean(JpaTransitionRepository.class); + + JpaRepositoryState stateS1 = new JpaRepositoryState("S1", true); + JpaRepositoryState stateS2 = new JpaRepositoryState("S2"); + JpaRepositoryState stateS3 = new JpaRepositoryState("S3"); + + JpaRepositoryState stateS21 = new JpaRepositoryState("S21", true); + stateS21.setParentState(stateS2); + JpaRepositoryState stateS22 = new JpaRepositoryState("S22"); + stateS22.setParentState(stateS2); + + stateRepository.save(stateS1); + stateRepository.save(stateS2); + stateRepository.save(stateS3); + stateRepository.save(stateS21); + stateRepository.save(stateS22); + + JpaRepositoryTransition transitionS1ToS2 = new JpaRepositoryTransition(stateS1, stateS2, "E1"); + JpaRepositoryTransition transitionS2ToS3 = new JpaRepositoryTransition(stateS21, stateS22, "E2"); + JpaRepositoryTransition transitionS21ToS22 = new JpaRepositoryTransition(stateS2, stateS3, "E3"); + + transitionRepository.save(transitionS1ToS2); + transitionRepository.save(transitionS2ToS3); + transitionRepository.save(transitionS21ToS22); + + return getStateMachineFactoryFromContext().getStateMachine(); + } + @Configuration @EnableStateMachineFactory public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter { diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbJsonTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbJsonTckTests.java index 0257d0ce..bee7c44d 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbJsonTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbJsonTckTests.java @@ -79,6 +79,13 @@ public class MongoDbJsonTckTests extends AbstractTckTests { return getStateMachineFactoryFromContext().getStateMachine(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(TestConfig.class, SimpleSubMachineConfig.class, StateMachineFactoryConfig.class); + context.refresh(); + return getStateMachineFactoryFromContext().getStateMachine(); + } + @Configuration public static class SimpleMachineConfig { @@ -90,6 +97,17 @@ public class MongoDbJsonTckTests extends AbstractTckTests { } } + @Configuration + public static class SimpleSubMachineConfig { + + @Bean + public StateMachineJackson2RepositoryPopulatorFactoryBean jackson2RepositoryPopulatorFactoryBean() { + StateMachineJackson2RepositoryPopulatorFactoryBean factoryBean = new StateMachineJackson2RepositoryPopulatorFactoryBean(); + factoryBean.setResources(new Resource[]{new ClassPathResource("org/springframework/statemachine/buildtests/tck/mongodb/SimpleSubMachine.json")}); + return factoryBean; + } + } + @Configuration @EnableStateMachineFactory public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter { diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbManualTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbManualTckTests.java index 780204a8..d4b7ee5e 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbManualTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/mongodb/MongoDbManualTckTests.java @@ -96,6 +96,40 @@ public class MongoDbManualTckTests extends AbstractTckTests { return getStateMachineFactoryFromContext().getStateMachine(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(TestConfig.class, StateMachineFactoryConfig.class); + context.refresh(); + + MongoDbStateRepository stateRepository = context.getBean(MongoDbStateRepository.class); + MongoDbTransitionRepository transitionRepository = context.getBean(MongoDbTransitionRepository.class); + + MongoDbRepositoryState stateS1 = new MongoDbRepositoryState("S1", true); + MongoDbRepositoryState stateS2 = new MongoDbRepositoryState("S2"); + MongoDbRepositoryState stateS3 = new MongoDbRepositoryState("S3"); + + MongoDbRepositoryState stateS21 = new MongoDbRepositoryState("S21", true); + stateS21.setParentState(stateS2); + MongoDbRepositoryState stateS22 = new MongoDbRepositoryState("S22"); + stateS22.setParentState(stateS2); + + stateRepository.save(stateS1); + stateRepository.save(stateS2); + stateRepository.save(stateS3); + stateRepository.save(stateS21); + stateRepository.save(stateS22); + + MongoDbRepositoryTransition transitionS1ToS2 = new MongoDbRepositoryTransition(stateS1, stateS2, "E1"); + MongoDbRepositoryTransition transitionS2ToS3 = new MongoDbRepositoryTransition(stateS21, stateS22, "E2"); + MongoDbRepositoryTransition transitionS21ToS22 = new MongoDbRepositoryTransition(stateS2, stateS3, "E3"); + + transitionRepository.save(transitionS1ToS2); + transitionRepository.save(transitionS2ToS3); + transitionRepository.save(transitionS21ToS22); + + return getStateMachineFactoryFromContext().getStateMachine(); + } + @Configuration @EnableStateMachineFactory public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter { diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisJsonTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisJsonTckTests.java index e104f54b..01726e20 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisJsonTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisJsonTckTests.java @@ -79,6 +79,13 @@ public class RedisJsonTckTests extends AbstractTckTests { return getStateMachineFactoryFromContext().getStateMachine(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(TestConfig.class, SimpleSubMachineConfig.class, StateMachineFactoryConfig.class); + context.refresh(); + return getStateMachineFactoryFromContext().getStateMachine(); + } + @Configuration public static class SimpleMachineConfig { @@ -90,6 +97,17 @@ public class RedisJsonTckTests extends AbstractTckTests { } } + @Configuration + public static class SimpleSubMachineConfig { + + @Bean + public StateMachineJackson2RepositoryPopulatorFactoryBean jackson2RepositoryPopulatorFactoryBean() { + StateMachineJackson2RepositoryPopulatorFactoryBean factoryBean = new StateMachineJackson2RepositoryPopulatorFactoryBean(); + factoryBean.setResources(new Resource[]{new ClassPathResource("org/springframework/statemachine/buildtests/tck/redis/SimpleSubMachine.json")}); + return factoryBean; + } + } + @Configuration @EnableStateMachineFactory public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter { diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisManualTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisManualTckTests.java index b7ac6db4..3289931c 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisManualTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/redis/RedisManualTckTests.java @@ -97,6 +97,40 @@ public class RedisManualTckTests extends AbstractTckTests { return getStateMachineFactoryFromContext().getStateMachine(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(TestConfig.class, StateMachineFactoryConfig.class); + context.refresh(); + + RedisStateRepository stateRepository = context.getBean(RedisStateRepository.class); + RedisTransitionRepository transitionRepository = context.getBean(RedisTransitionRepository.class); + + RedisRepositoryState stateS1 = new RedisRepositoryState("S1", true); + RedisRepositoryState stateS2 = new RedisRepositoryState("S2"); + RedisRepositoryState stateS3 = new RedisRepositoryState("S3"); + + RedisRepositoryState stateS21 = new RedisRepositoryState("S21", true); + stateS21.setParentState(stateS2); + RedisRepositoryState stateS22 = new RedisRepositoryState("S22"); + stateS22.setParentState(stateS2); + + stateRepository.save(stateS1); + stateRepository.save(stateS2); + stateRepository.save(stateS3); + stateRepository.save(stateS21); + stateRepository.save(stateS22); + + RedisRepositoryTransition transitionS1ToS2 = new RedisRepositoryTransition(stateS1, stateS2, "E1"); + RedisRepositoryTransition transitionS2ToS3 = new RedisRepositoryTransition(stateS21, stateS22, "E2"); + RedisRepositoryTransition transitionS21ToS22 = new RedisRepositoryTransition(stateS2, stateS3, "E3"); + + transitionRepository.save(transitionS1ToS2); + transitionRepository.save(transitionS2ToS3); + transitionRepository.save(transitionS21ToS22); + + return getStateMachineFactoryFromContext().getStateMachine(); + } + @Configuration @EnableStateMachineFactory public static class StateMachineFactoryConfig extends StateMachineConfigurerAdapter { diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/uml/UmlTckTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/uml/UmlTckTests.java index d41bc11c..4673e303 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/uml/UmlTckTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/tck/uml/UmlTckTests.java @@ -46,6 +46,13 @@ public class UmlTckTests extends AbstractTckTests { return getStateMachineFromContext(); } + @Override + protected StateMachine getSimpleSubMachine() throws Exception { + context.register(SimpleSubMachineConfig.class); + context.refresh(); + return getStateMachineFromContext(); + } + @Configuration @EnableStateMachine public static class SimpleMachineConfig extends StateMachineConfigurerAdapter { @@ -62,4 +69,21 @@ public class UmlTckTests extends AbstractTckTests { return new UmlStateMachineModelFactory("classpath:org/springframework/statemachine/buildtests/tck/uml/SimpleMachine.uml"); } } + + @Configuration + @EnableStateMachine + public static class SimpleSubMachineConfig extends StateMachineConfigurerAdapter { + + @Override + public void configure(StateMachineModelConfigurer model) throws Exception { + model + .withModel() + .factory(modelFactory()); + } + + @Bean + public StateMachineModelFactory modelFactory() { + return new UmlStateMachineModelFactory("classpath:org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.uml"); + } + } } diff --git a/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/jpa/SimpleSubMachine.json b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/jpa/SimpleSubMachine.json new file mode 100644 index 00000000..49e032e9 --- /dev/null +++ b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/jpa/SimpleSubMachine.json @@ -0,0 +1,52 @@ +[ + { + "@id": "1", + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", + "initial": true, + "state": "S1" + }, + { + "@id": "2", + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", + "initial": false, + "state": "S2" + }, + { + "@id": "3", + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", + "initial": true, + "parentState" : "2", + "state": "S21" + }, + { + "@id": "4", + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", + "initial": false, + "parentState" : "2", + "state": "S22" + }, + { + "@id": "5", + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", + "initial": false, + "state": "S3" + }, + { + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition", + "source": "1", + "target": "2", + "event": "E1" + }, + { + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition", + "source": "3", + "target": "4", + "event": "E2" + }, + { + "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition", + "source": "2", + "target": "5", + "event": "E3" + } +] diff --git a/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/mongodb/SimpleSubMachine.json b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/mongodb/SimpleSubMachine.json new file mode 100644 index 00000000..feea5ff6 --- /dev/null +++ b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/mongodb/SimpleSubMachine.json @@ -0,0 +1,52 @@ +[ + { + "@id": "1", + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", + "initial": true, + "state": "S1" + }, + { + "@id": "2", + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", + "initial": false, + "state": "S2" + }, + { + "@id": "3", + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", + "initial": true, + "parentState" : "2", + "state": "S21" + }, + { + "@id": "4", + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", + "initial": false, + "parentState" : "2", + "state": "S22" + }, + { + "@id": "5", + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", + "initial": false, + "state": "S3" + }, + { + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition", + "source": "1", + "target": "2", + "event": "E1" + }, + { + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition", + "source": "3", + "target": "4", + "event": "E2" + }, + { + "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition", + "source": "2", + "target": "5", + "event": "E3" + } +] diff --git a/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/redis/SimpleSubMachine.json b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/redis/SimpleSubMachine.json new file mode 100644 index 00000000..583514e0 --- /dev/null +++ b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/redis/SimpleSubMachine.json @@ -0,0 +1,52 @@ +[ + { + "@id": "1", + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", + "initial": true, + "state": "S1" + }, + { + "@id": "2", + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", + "initial": false, + "state": "S2" + }, + { + "@id": "3", + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", + "initial": true, + "parentState" : "2", + "state": "S21" + }, + { + "@id": "4", + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", + "initial": false, + "parentState" : "2", + "state": "S22" + }, + { + "@id": "5", + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", + "initial": false, + "state": "S3" + }, + { + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition", + "source": "1", + "target": "2", + "event": "E1" + }, + { + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition", + "source": "3", + "target": "4", + "event": "E2" + }, + { + "_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition", + "source": "2", + "target": "5", + "event": "E3" + } +] diff --git a/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.di b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.di new file mode 100644 index 00000000..bf9abab3 --- /dev/null +++ b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.di @@ -0,0 +1,2 @@ + + diff --git a/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.notation b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.notation new file mode 100644 index 00000000..2a37c37b --- /dev/null +++ b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.notation @@ -0,0 +1,199 @@ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.uml b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.uml new file mode 100644 index 00000000..0eb5b58d --- /dev/null +++ b/spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.uml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +