diff --git a/docs/src/reference/asciidoc/images/sm-repository-simplesubmachine.png b/docs/src/reference/asciidoc/images/sm-repository-simplesubmachine.png new file mode 100644 index 00000000..f0b35196 Binary files /dev/null and b/docs/src/reference/asciidoc/images/sm-repository-simplesubmachine.png differ diff --git a/docs/src/reference/asciidoc/sm.adoc b/docs/src/reference/asciidoc/sm.adoc index 4e85a684..04733440 100644 --- a/docs/src/reference/asciidoc/sm.adoc +++ b/docs/src/reference/asciidoc/sm.adoc @@ -2167,6 +2167,9 @@ configs. [[image-sm-repository-simplemachine]] image::images/sm-repository-simplemachine.png[scaledwidth="100%", title="SimpleMachine"] +[[image-sm-repository-simplesubmachine]] +image::images/sm-repository-simplesubmachine.png[scaledwidth="100%", title="SimpleSubMachine"] + [[sm-repository-jpa]] === JPA Actual _Repository_ implementations for a _JPA_ are @@ -2184,6 +2187,14 @@ below. This is equivalent to machine shown in include::samples/DocsJpaRepositorySampleTests1.java[tags=snippetA] ---- +This is equivalent to machine shown in +<>. + +[source,java,indent=0] +---- +include::samples/DocsJpaRepositorySampleTests1.java[tags=snippetB] +---- + Complete example can be found from sample <>. This example is also showing how repository can be pre-populated from existing _json_ file having a @@ -2206,6 +2217,14 @@ below. This is equivalent to machine shown in include::samples/DocsRedisRepositorySampleTests1.java[tags=snippetA] ---- +This is equivalent to machine shown in +<>. + +[source,java,indent=0] +---- +include::samples/DocsRedisRepositorySampleTests1.java[tags=snippetB] +---- + [[sm-repository-mongodb]] === MongoDB Actual _Repository_ implementations for a _MongoDB_ are @@ -2223,3 +2242,11 @@ below. This is equivalent to machine shown in include::samples/DocsMongoDbRepositorySampleTests1.java[tags=snippetA] ---- +This is equivalent to machine shown in +<>. + +[source,java,indent=0] +---- +include::samples/DocsMongoDbRepositorySampleTests1.java[tags=snippetB] +---- + diff --git a/spring-statemachine-data/jpa/src/test/java/org/springframework/statemachine/data/jpa/docs/DocsJpaRepositorySampleTests1.java b/spring-statemachine-data/jpa/src/test/java/org/springframework/statemachine/data/jpa/docs/DocsJpaRepositorySampleTests1.java index 9f4a78b1..8ace69a5 100644 --- a/spring-statemachine-data/jpa/src/test/java/org/springframework/statemachine/data/jpa/docs/DocsJpaRepositorySampleTests1.java +++ b/spring-statemachine-data/jpa/src/test/java/org/springframework/statemachine/data/jpa/docs/DocsJpaRepositorySampleTests1.java @@ -48,4 +48,39 @@ public class DocsJpaRepositorySampleTests1 { } // end::snippetA[] } + + public static class Config2 { +// tag::snippetB[] + @Autowired + StateRepository stateRepository; + + @Autowired + TransitionRepository transitionRepository; + + void addConfig() { + 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); + } +// end::snippetB[] + } } diff --git a/spring-statemachine-data/mongodb/src/test/java/org/springframework/statemachine/data/mongodb/docs/DocsMongoDbRepositorySampleTests1.java b/spring-statemachine-data/mongodb/src/test/java/org/springframework/statemachine/data/mongodb/docs/DocsMongoDbRepositorySampleTests1.java index d8ce4e78..905e045d 100644 --- a/spring-statemachine-data/mongodb/src/test/java/org/springframework/statemachine/data/mongodb/docs/DocsMongoDbRepositorySampleTests1.java +++ b/spring-statemachine-data/mongodb/src/test/java/org/springframework/statemachine/data/mongodb/docs/DocsMongoDbRepositorySampleTests1.java @@ -48,4 +48,39 @@ public class DocsMongoDbRepositorySampleTests1 { } // end::snippetA[] } + + public static class Config2 { +// tag::snippetB[] + @Autowired + StateRepository stateRepository; + + @Autowired + TransitionRepository transitionRepository; + + void addConfig() { + 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); + } +// end::snippetB[] + } } diff --git a/spring-statemachine-data/redis/src/test/java/org/springframework/statemachine/data/redis/docs/DocsRedisRepositorySampleTests1.java b/spring-statemachine-data/redis/src/test/java/org/springframework/statemachine/data/redis/docs/DocsRedisRepositorySampleTests1.java index cecd2176..5b3b6f01 100644 --- a/spring-statemachine-data/redis/src/test/java/org/springframework/statemachine/data/redis/docs/DocsRedisRepositorySampleTests1.java +++ b/spring-statemachine-data/redis/src/test/java/org/springframework/statemachine/data/redis/docs/DocsRedisRepositorySampleTests1.java @@ -49,4 +49,31 @@ public class DocsRedisRepositorySampleTests1 { } // end::snippetA[] } + + public static class Config2 { + // tag::snippetB[] + @Autowired + StateRepository stateRepository; + + @Autowired + TransitionRepository transitionRepository; + + void addConfig() { + RedisRepositoryState stateS1 = new RedisRepositoryState("S1", true); + RedisRepositoryState stateS2 = new RedisRepositoryState("S2"); + RedisRepositoryState stateS3 = new RedisRepositoryState("S3"); + + stateRepository.save(stateS1); + stateRepository.save(stateS2); + stateRepository.save(stateS3); + + + RedisRepositoryTransition transitionS1ToS2 = new RedisRepositoryTransition(stateS1, stateS2, "E1"); + RedisRepositoryTransition transitionS2ToS3 = new RedisRepositoryTransition(stateS2, stateS3, "E2"); + + transitionRepository.save(transitionS1ToS2); + transitionRepository.save(transitionS2ToS3); + } + // end::snippetB[] + } }