From b441bf558fa6841799da311b6d9558a9c1c65ca1 Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Sat, 19 Nov 2016 19:05:29 +0000 Subject: [PATCH] Update docs - Add more repository config docs. - Relates to #270 --- build.gradle | 2 + .../images/sm-repository-simplemachine.png | Bin 0 -> 9554 bytes docs/src/reference/asciidoc/sm.adoc | 29 +++++++++- .../docs/DocsJpaRepositorySampleTests1.java | 24 ++++---- .../DocsMongoDbRepositorySampleTests1.java | 51 +++++++++++++++++ .../docs/DocsRedisRepositorySampleTests1.java | 52 ++++++++++++++++++ 6 files changed, 144 insertions(+), 14 deletions(-) create mode 100644 docs/src/reference/asciidoc/images/sm-repository-simplemachine.png create mode 100644 spring-statemachine-data/mongodb/src/test/java/org/springframework/statemachine/data/mongodb/docs/DocsMongoDbRepositorySampleTests1.java create mode 100644 spring-statemachine-data/redis/src/test/java/org/springframework/statemachine/data/redis/docs/DocsRedisRepositorySampleTests1.java diff --git a/build.gradle b/build.gradle index de1c38e8..17386fdc 100644 --- a/build.gradle +++ b/build.gradle @@ -427,6 +427,8 @@ configure(rootProject) { from 'spring-statemachine-uml/src/test/java/org/springframework/statemachine/uml/docs' from 'spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/docs' from 'spring-statemachine-data/jpa/src/test/java/org/springframework/statemachine/data/jpa/docs' + from 'spring-statemachine-data/redis/src/test/java/org/springframework/statemachine/data/redis/docs' + from 'spring-statemachine-data/mongodb/src/test/java/org/springframework/statemachine/data/mongodb/docs' from 'spring-statemachine-samples/src/main/java/' from 'spring-statemachine-samples/washer/src/main/java/' from 'spring-statemachine-samples/tasks/src/main/java/' diff --git a/docs/src/reference/asciidoc/images/sm-repository-simplemachine.png b/docs/src/reference/asciidoc/images/sm-repository-simplemachine.png new file mode 100644 index 0000000000000000000000000000000000000000..8147c795fe98ee7783c60a62900d04c5958660ce GIT binary patch literal 9554 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 Gi~k4oL#W;W literal 0 HcmV?d00001 diff --git a/docs/src/reference/asciidoc/sm.adoc b/docs/src/reference/asciidoc/sm.adoc index dc3564d0..f3723d0e 100644 --- a/docs/src/reference/asciidoc/sm.adoc +++ b/docs/src/reference/asciidoc/sm.adoc @@ -2149,7 +2149,12 @@ what _Spring Data_ supports. Using a real _Repository_ related _Entity_ class comes into play when you manually try to write new states or transitions into a backed repository. -Actual out of a box implementations are documented in below sections. +Actual out of a box implementations are documented in below sections +where images below are uml equivalent statecharts of a repository +configs. + +[[image-sm-repository-simplemachine]] +image::images/sm-repository-simplemachine.png[scaledwidth="100%", title="SimpleMachine"] [[sm-repository-jpa]] === JPA @@ -2159,7 +2164,9 @@ and `JpaGuardRepository` which are backed by _Entity_ classes `JpaRepositoryState`, `JpaRepositoryTransition`, `JpaRepositoryAction` and `JpaRepositoryGuard` respectively. -Generic way to update states and transition manually is shown below. +Generic way to update states and transition manually for jpa is shown +below. This is equivalent to machine shown in +<>. [source,java,indent=0] ---- @@ -2179,6 +2186,15 @@ and `RedisGuardRepository` which are backed by _Entity_ classes `RedisRepositoryState`, `RedisRepositoryTransition`, `RedisRepositoryAction` and `RedisRepositoryGuard` respectively. +Generic way to update states and transition manually for redis is shown +below. This is equivalent to machine shown in +<>. + +[source,java,indent=0] +---- +include::samples/DocsRedisRepositorySampleTests1.java[tags=snippetA] +---- + [[sm-repository-mongodb]] === MongoDB Actual _Repository_ implementations for a _MongoDB_ are @@ -2187,3 +2203,12 @@ and `MongoDbGuardRepository` which are backed by _Entity_ classes `MongoDbRepositoryState`, `MongoDbRepositoryTransition`, `MongoDbRepositoryAction` and `MongoDbRepositoryGuard` respectively. +Generic way to update states and transition manually for redis is shown +below. This is equivalent to machine shown in +<>. + +[source,java,indent=0] +---- +include::samples/DocsMongoDbRepositorySampleTests1.java[tags=snippetA] +---- + 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 059f77fa..9f4a78b1 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 @@ -32,19 +32,19 @@ public class DocsJpaRepositorySampleTests1 { TransitionRepository transitionRepository; void addConfig() { - JpaRepositoryState state1 = new JpaRepositoryState("machine1", "S1", true); - JpaRepositoryState state2 = new JpaRepositoryState("machine2", "S2", false); - JpaRepositoryState state3 = new JpaRepositoryState("machine1", "S3", true); - JpaRepositoryState state4 = new JpaRepositoryState("machine2", "S4", false); - stateRepository.save(state1); - stateRepository.save(state2); - stateRepository.save(state3); - stateRepository.save(state4); + JpaRepositoryState stateS1 = new JpaRepositoryState("S1", true); + JpaRepositoryState stateS2 = new JpaRepositoryState("S2"); + JpaRepositoryState stateS3 = new JpaRepositoryState("S3"); - JpaRepositoryTransition transition1 = new JpaRepositoryTransition("machine1", state1, state2, "E1"); - JpaRepositoryTransition transition2 = new JpaRepositoryTransition("machine2", state3, state4, "E2"); - transitionRepository.save(transition1); - transitionRepository.save(transition2); + stateRepository.save(stateS1); + stateRepository.save(stateS2); + stateRepository.save(stateS3); + + JpaRepositoryTransition transitionS1ToS2 = new JpaRepositoryTransition(stateS1, stateS2, "E1"); + JpaRepositoryTransition transitionS2ToS3 = new JpaRepositoryTransition(stateS2, stateS3, "E2"); + + transitionRepository.save(transitionS1ToS2); + transitionRepository.save(transitionS2ToS3); } // end::snippetA[] } 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 new file mode 100644 index 00000000..d8ce4e78 --- /dev/null +++ b/spring-statemachine-data/mongodb/src/test/java/org/springframework/statemachine/data/mongodb/docs/DocsMongoDbRepositorySampleTests1.java @@ -0,0 +1,51 @@ +/* + * 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.data.mongodb.docs; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.statemachine.data.StateRepository; +import org.springframework.statemachine.data.TransitionRepository; +import org.springframework.statemachine.data.mongodb.MongoDbRepositoryState; +import org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition; + +public class DocsMongoDbRepositorySampleTests1 { + + public static class Config1 { +// tag::snippetA[] + @Autowired + StateRepository stateRepository; + + @Autowired + TransitionRepository transitionRepository; + + void addConfig() { + MongoDbRepositoryState stateS1 = new MongoDbRepositoryState("S1", true); + MongoDbRepositoryState stateS2 = new MongoDbRepositoryState("S2"); + MongoDbRepositoryState stateS3 = new MongoDbRepositoryState("S3"); + + stateRepository.save(stateS1); + stateRepository.save(stateS2); + stateRepository.save(stateS3); + + MongoDbRepositoryTransition transitionS1ToS2 = new MongoDbRepositoryTransition(stateS1, stateS2, "E1"); + MongoDbRepositoryTransition transitionS2ToS3 = new MongoDbRepositoryTransition(stateS2, stateS3, "E2"); + + transitionRepository.save(transitionS1ToS2); + transitionRepository.save(transitionS2ToS3); + } +// end::snippetA[] + } +} 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 new file mode 100644 index 00000000..cecd2176 --- /dev/null +++ b/spring-statemachine-data/redis/src/test/java/org/springframework/statemachine/data/redis/docs/DocsRedisRepositorySampleTests1.java @@ -0,0 +1,52 @@ +/* + * 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.data.redis.docs; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.statemachine.data.StateRepository; +import org.springframework.statemachine.data.TransitionRepository; +import org.springframework.statemachine.data.redis.RedisRepositoryState; +import org.springframework.statemachine.data.redis.RedisRepositoryTransition; + +public class DocsRedisRepositorySampleTests1 { + + public static class Config1 { +// tag::snippetA[] + @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::snippetA[] + } +}