├── .github ├── labels-manage.yml ├── labels-rename.yml ├── release-files-spec.json ├── rlnotes.mustache └── workflows │ ├── central-sync-close.yml │ ├── central-sync-create.yml │ ├── central-sync-release.yml │ ├── ci.yml │ ├── issue-handler.yml │ ├── label-manage.yml │ ├── label-rename.yml │ ├── mongodb.yml │ ├── pr.yml │ ├── redis.yml │ ├── release-ga.yml │ ├── release-milestone.yml │ ├── smoke.yml │ └── stale-issues.yml ├── .gitignore ├── CODE_OF_CONDUCT.adoc ├── CONTRIBUTING.md ├── README.adoc ├── build.gradle ├── docs └── src │ ├── api │ ├── overview.html │ └── stylesheet.css │ ├── info │ ├── changelog.txt │ ├── license.txt │ ├── notice.txt │ └── readme.txt │ ├── reference │ └── asciidoc │ │ ├── Guardfile │ │ ├── appendix-concepts.adoc │ │ ├── appendix-distributedpaper.adoc │ │ ├── appendix-reactormigration-communicating.adoc │ │ ├── appendix-reactormigration-examples.adoc │ │ ├── appendix-reactormigration-threading.adoc │ │ ├── appendix-reactormigration.adoc │ │ ├── appendix-support.adoc │ │ ├── appendix.adoc │ │ ├── faq.adoc │ │ ├── getting-started.adoc │ │ ├── images │ │ ├── model-deployer.png │ │ ├── papyrus-gs-1.png │ │ ├── papyrus-gs-10.png │ │ ├── papyrus-gs-11.png │ │ ├── papyrus-gs-12.png │ │ ├── papyrus-gs-13.png │ │ ├── papyrus-gs-14.png │ │ ├── papyrus-gs-15.png │ │ ├── papyrus-gs-16.png │ │ ├── papyrus-gs-17.png │ │ ├── papyrus-gs-18.png │ │ ├── papyrus-gs-19.png │ │ ├── papyrus-gs-2.png │ │ ├── papyrus-gs-20.png │ │ ├── papyrus-gs-21.png │ │ ├── papyrus-gs-22.png │ │ ├── papyrus-gs-3.png │ │ ├── papyrus-gs-4.png │ │ ├── papyrus-gs-5.png │ │ ├── papyrus-gs-6.png │ │ ├── papyrus-gs-7.png │ │ ├── papyrus-gs-8.png │ │ ├── papyrus-gs-9.png │ │ ├── simple-machine.png │ │ ├── sm-datajpa-1.png │ │ ├── sm-datajpa-2.png │ │ ├── sm-datajpa-3.png │ │ ├── sm-datajpamultipersist-1.png │ │ ├── sm-datajpamultipersist-2.png │ │ ├── sm-datajpamultipersist-3.png │ │ ├── sm-datajpapersist-1.png │ │ ├── sm-datajpapersist-2.png │ │ ├── sm-datajpapersist-3.png │ │ ├── sm-deploy-1.png │ │ ├── sm-dist-n1-1.png │ │ ├── sm-dist-n1-4.png │ │ ├── sm-dist-n2-2.png │ │ ├── sm-dist-n3-3.png │ │ ├── sm-eventservice-1.png │ │ ├── sm-eventservice-2.png │ │ ├── sm-eventservice-3.png │ │ ├── sm-eventservice-4.png │ │ ├── sm-monitoring-1.png │ │ ├── sm-monitoring-2.png │ │ ├── sm-ordershipping-1.png │ │ ├── sm-ordershipping-2.png │ │ ├── sm-ordershipping-3.png │ │ ├── sm-ordershipping-4.png │ │ ├── sm-repository-showcasemachine.png │ │ ├── sm-repository-simplemachine.png │ │ ├── sm-repository-simplesubmachine.png │ │ ├── sm-scope-1.png │ │ ├── sm-tech-isolated-events-with-variable.png │ │ ├── sm-tech-isolated-events.png │ │ ├── sm-tech-parallel-events.png │ │ ├── sm-tech-partition-half-1.png │ │ ├── sm-tech-partition-half-2.png │ │ ├── sm-tech-stop-start.png │ │ ├── statechart0.png │ │ ├── statechart1.png │ │ ├── statechart10.png │ │ ├── statechart11.png │ │ ├── statechart12.png │ │ ├── statechart13.png │ │ ├── statechart14.png │ │ ├── statechart2.png │ │ ├── statechart3.png │ │ ├── statechart4.png │ │ ├── statechart5.png │ │ ├── statechart6.png │ │ ├── statechart7.png │ │ ├── statechart8.png │ │ └── statechart9.png │ │ ├── index-docinfo.xml │ │ ├── index.adoc │ │ ├── introduction.adoc │ │ ├── preface.adoc │ │ ├── recipes.adoc │ │ ├── samples │ │ ├── .gitignore │ │ └── simple-machine.uml │ │ ├── sm-accessor.adoc │ │ ├── sm-actions-reactive.adoc │ │ ├── sm-actions.adoc │ │ ├── sm-boot.adoc │ │ ├── sm-config.adoc │ │ ├── sm-context.adoc │ │ ├── sm-deferevents.adoc │ │ ├── sm-distributed.adoc │ │ ├── sm-error-handling.adoc │ │ ├── sm-examples-cdplayer.adoc │ │ ├── sm-examples-datajpa.adoc │ │ ├── sm-examples-datajpamultipersist.adoc │ │ ├── sm-examples-datajpapersist.adoc │ │ ├── sm-examples-datapersist.adoc │ │ ├── sm-examples-deploy.adoc │ │ ├── sm-examples-eventservice.adoc │ │ ├── sm-examples-monitoring.adoc │ │ ├── sm-examples-ordershipping.adoc │ │ ├── sm-examples-persist.adoc │ │ ├── sm-examples-scope.adoc │ │ ├── sm-examples-security.adoc │ │ ├── sm-examples-showcase.adoc │ │ ├── sm-examples-tasks.adoc │ │ ├── sm-examples-turnstile.adoc │ │ ├── sm-examples-turnstilereactive.adoc │ │ ├── sm-examples-washer.adoc │ │ ├── sm-examples-web.adoc │ │ ├── sm-examples-zookeeper.adoc │ │ ├── sm-examples.adoc │ │ ├── sm-extendedstate.adoc │ │ ├── sm-factories.adoc │ │ ├── sm-guards-reactive.adoc │ │ ├── sm-guards.adoc │ │ ├── sm-interceptor.adoc │ │ ├── sm-listeners.adoc │ │ ├── sm-machineid.adoc │ │ ├── sm-monitoring.adoc │ │ ├── sm-papyrus.adoc │ │ ├── sm-persist.adoc │ │ ├── sm-repository.adoc │ │ ├── sm-scopes.adoc │ │ ├── sm-security.adoc │ │ ├── sm-service.adoc │ │ ├── sm-statecontext.adoc │ │ ├── sm-test.adoc │ │ ├── sm-triggers.adoc │ │ ├── sm.adoc │ │ └── whatsnew.adoc │ └── statecharts │ ├── statechart0.txt │ ├── statechart4.txt │ ├── statechart7.txt │ ├── statechart8.txt │ └── statechart9.txt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jepsen └── spring-statemachine-jepsen │ ├── .gitignore │ ├── README.md │ ├── project.clj │ ├── src │ └── spring_statemachine_jepsen │ │ ├── checker.clj │ │ └── core.clj │ └── test │ └── spring_statemachine_jepsen │ └── core_test.clj ├── publish-maven.gradle ├── settings.gradle ├── spring-statemachine-autoconfigure └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── springframework │ │ │ └── statemachine │ │ │ └── boot │ │ │ ├── StateMachineProperties.java │ │ │ ├── actuate │ │ │ ├── InMemoryStateMachineTraceRepository.java │ │ │ ├── StateMachineTrace.java │ │ │ ├── StateMachineTraceEndpoint.java │ │ │ └── StateMachineTraceRepository.java │ │ │ ├── autoconfigure │ │ │ ├── StateMachineAutoConfiguration.java │ │ │ ├── StateMachineJpaRepositoriesAutoConfiguration.java │ │ │ ├── StateMachineMongoDbRepositoriesAutoConfiguration.java │ │ │ └── StateMachineRedisRepositoriesAutoConfiguration.java │ │ │ └── support │ │ │ └── BootStateMachineMonitor.java │ └── resources │ │ └── META-INF │ │ └── spring.factories │ └── test │ └── java │ └── org │ └── springframework │ └── statemachine │ └── boot │ ├── StateMachineAutoConfigurationTests.java │ ├── StateMachineJpaRepositoriesAutoConfigurationTests.java │ ├── StateMachineMongoDbRepositoriesAutoConfigurationTests.java │ ├── StateMachineRedisRepositoriesAutoConfigurationTests.java │ ├── TestAutoConfigurationPackage.java │ ├── TestAutoConfigurationPackageRegistrar.java │ └── TestUtils.java ├── spring-statemachine-bom └── spring-statemachine-bom.txt ├── spring-statemachine-build-tests └── src │ └── test │ ├── java │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── buildtests │ │ ├── AbstractBuildTests.java │ │ ├── ChoiceExitTests.java │ │ ├── EndSmokeTests.java │ │ ├── ForkJoinEntryExitTests.java │ │ ├── Gh737Tests.java │ │ ├── LinkedPseudoStatesTests.java │ │ ├── LinkedRegionsTests.java │ │ ├── RedisPersistTests.java │ │ ├── StateMachineBlockHoundIntegration.java │ │ ├── TimerSmokeTests.java │ │ ├── WaitErrorConceptTests.java │ │ └── tck │ │ ├── AbstractTckTests.java │ │ ├── javaconfig │ │ ├── AnnotationFactoryTckTests.java │ │ ├── AnnotationTckTests.java │ │ └── BuilderTckTests.java │ │ ├── jpa │ │ ├── JpaJsonTckTests.java │ │ └── JpaManualTckTests.java │ │ ├── mongodb │ │ ├── EnabledOnMongoDb.java │ │ ├── EnabledOnMongoDbCondition.java │ │ ├── MongoDbJsonTckTests.java │ │ └── MongoDbManualTckTests.java │ │ ├── redis │ │ ├── EnabledOnRedis.java │ │ ├── EnabledOnRedisCondition.java │ │ ├── RedisJsonTckTests.java │ │ └── RedisManualTckTests.java │ │ └── uml │ │ └── UmlTckTests.java │ └── resources │ ├── META-INF │ └── services │ │ └── reactor.blockhound.integration.BlockHoundIntegration │ └── org │ └── springframework │ └── statemachine │ └── buildtests │ ├── choice-exit.di │ ├── choice-exit.notation │ ├── choice-exit.uml │ ├── end-smoke.di │ ├── end-smoke.notation │ ├── end-smoke.uml │ ├── forkjoin-entryexit.di │ ├── forkjoin-entryexit.notation │ ├── forkjoin-entryexit.uml │ ├── forkjoin-entryexit2.di │ ├── forkjoin-entryexit2.notation │ ├── forkjoin-entryexit2.uml │ ├── linked-pseudostates.di │ ├── linked-pseudostates.notation │ ├── linked-pseudostates.uml │ ├── linked-regions.di │ ├── linked-regions.notation │ ├── linked-regions.uml │ ├── tck │ ├── jpa │ │ ├── ShowcaseMachine.json │ │ ├── SimpleMachine.json │ │ └── SimpleSubMachine.json │ ├── mongodb │ │ ├── ShowcaseMachine.json │ │ ├── SimpleMachine.json │ │ └── SimpleSubMachine.json │ ├── redis │ │ ├── ShowcaseMachine.json │ │ ├── SimpleMachine.json │ │ └── SimpleSubMachine.json │ └── uml │ │ ├── ShowcaseMachine.di │ │ ├── ShowcaseMachine.notation │ │ ├── ShowcaseMachine.uml │ │ ├── SimpleMachine.di │ │ ├── SimpleMachine.notation │ │ ├── SimpleMachine.uml │ │ ├── SimpleSubMachine.di │ │ ├── SimpleSubMachine.notation │ │ └── SimpleSubMachine.uml │ ├── wait-error-1.di │ ├── wait-error-1.notation │ └── wait-error-1.uml ├── spring-statemachine-cluster └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── cluster │ │ └── LeaderZookeeperStateMachineEnsemble.java │ └── test │ └── java │ └── org │ └── springframework │ └── statemachine │ └── cluster │ ├── AbstractZookeeperTests.java │ └── LeaderZookeeperStateMachineEnsembleTests.java ├── spring-statemachine-core └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── statemachine │ │ ├── ExtendedState.java │ │ ├── ObjectStateMachine.java │ │ ├── StateContext.java │ │ ├── StateMachine.java │ │ ├── StateMachineContext.java │ │ ├── StateMachineContextRepository.java │ │ ├── StateMachineEventResult.java │ │ ├── StateMachineException.java │ │ ├── StateMachineMessageHeaders.java │ │ ├── StateMachinePersist.java │ │ ├── StateMachineSystemConstants.java │ │ ├── access │ │ ├── ReactiveStateMachineAccess.java │ │ ├── StateMachineAccess.java │ │ └── StateMachineAccessor.java │ │ ├── action │ │ ├── Action.java │ │ ├── ActionListener.java │ │ ├── Actions.java │ │ ├── CompositeActionListener.java │ │ ├── DistributedLeaderAction.java │ │ ├── ReactiveAction.java │ │ ├── SpelExpressionAction.java │ │ └── StateDoActionPolicy.java │ │ ├── annotation │ │ ├── EventHeader.java │ │ ├── EventHeaders.java │ │ ├── ExtendedStateVariable.java │ │ ├── OnEventNotAccepted.java │ │ ├── OnExtendedStateChanged.java │ │ ├── OnStateChanged.java │ │ ├── OnStateEntry.java │ │ ├── OnStateExit.java │ │ ├── OnStateMachineError.java │ │ ├── OnStateMachineStart.java │ │ ├── OnStateMachineStop.java │ │ ├── OnTransition.java │ │ ├── OnTransitionEnd.java │ │ ├── OnTransitionStart.java │ │ └── WithStateMachine.java │ │ ├── config │ │ ├── AbstractStateMachineConfigurerAdapter.java │ │ ├── AbstractStateMachineFactory.java │ │ ├── EnableStateMachine.java │ │ ├── EnableStateMachineFactory.java │ │ ├── EnableWithStateMachine.java │ │ ├── EnumStateMachineConfigurerAdapter.java │ │ ├── ObjectStateMachineFactory.java │ │ ├── StateMachineBuilder.java │ │ ├── StateMachineConfig.java │ │ ├── StateMachineConfigurerAdapter.java │ │ ├── StateMachineFactory.java │ │ ├── builders │ │ │ ├── ModelData.java │ │ │ ├── StateMachineConfigBuilder.java │ │ │ ├── StateMachineConfigurationBuilder.java │ │ │ ├── StateMachineConfigurationConfigurer.java │ │ │ ├── StateMachineConfigurer.java │ │ │ ├── StateMachineModelBuilder.java │ │ │ ├── StateMachineModelConfigurer.java │ │ │ ├── StateMachineSecurityConfigurer.java │ │ │ ├── StateMachineStateBuilder.java │ │ │ ├── StateMachineStateConfigurer.java │ │ │ ├── StateMachineTransitionBuilder.java │ │ │ └── StateMachineTransitionConfigurer.java │ │ ├── common │ │ │ └── annotation │ │ │ │ ├── AbstractAnnotationBuilder.java │ │ │ │ ├── AbstractAnnotationConfiguration.java │ │ │ │ ├── AbstractConfiguredAnnotationBuilder.java │ │ │ │ ├── AbstractImportingAnnotationConfiguration.java │ │ │ │ ├── AnnotationBuilder.java │ │ │ │ ├── AnnotationConfigurer.java │ │ │ │ ├── AnnotationConfigurerAdapter.java │ │ │ │ ├── AnnotationConfigurerBuilder.java │ │ │ │ ├── EnableAnnotationConfiguration.java │ │ │ │ ├── ObjectPostProcessor.java │ │ │ │ ├── configuration │ │ │ │ ├── AutowireBeanFactoryObjectPostProcessor.java │ │ │ │ └── ObjectPostProcessorConfiguration.java │ │ │ │ └── configurers │ │ │ │ ├── DefaultPropertiesConfigurer.java │ │ │ │ ├── DefaultResourceConfigurer.java │ │ │ │ ├── PropertiesConfigurer.java │ │ │ │ ├── PropertiesConfigurerAware.java │ │ │ │ ├── ResourceConfigurer.java │ │ │ │ └── ResourceConfigurerAware.java │ │ ├── configuration │ │ │ ├── StateMachineAnnotationPostProcessorConfiguration.java │ │ │ ├── StateMachineCommonConfiguration.java │ │ │ ├── StateMachineConfiguration.java │ │ │ ├── StateMachineConfigurationImportSelector.java │ │ │ ├── StateMachineFactoryConfiguration.java │ │ │ └── StateMachineHandlerApplicationListener.java │ │ ├── configurers │ │ │ ├── AbstractTransitionConfigurer.java │ │ │ ├── ChoiceTransitionConfigurer.java │ │ │ ├── ConfigurationConfigurer.java │ │ │ ├── DefaultChoiceTransitionConfigurer.java │ │ │ ├── DefaultConfigurationConfigurer.java │ │ │ ├── DefaultDistributedStateMachineConfigurer.java │ │ │ ├── DefaultEntryTransitionConfigurer.java │ │ │ ├── DefaultExitTransitionConfigurer.java │ │ │ ├── DefaultExternalTransitionConfigurer.java │ │ │ ├── DefaultForkTransitionConfigurer.java │ │ │ ├── DefaultHistoryTransitionConfigurer.java │ │ │ ├── DefaultInternalTransitionConfigurer.java │ │ │ ├── DefaultJoinTransitionConfigurer.java │ │ │ ├── DefaultJunctionTransitionConfigurer.java │ │ │ ├── DefaultLocalTransitionConfigurer.java │ │ │ ├── DefaultModelConfigurer.java │ │ │ ├── DefaultMonitoringConfigurer.java │ │ │ ├── DefaultPersistenceConfigurer.java │ │ │ ├── DefaultSecurityConfigurer.java │ │ │ ├── DefaultStateConfigurer.java │ │ │ ├── DefaultVerifierConfigurer.java │ │ │ ├── DistributedStateMachineConfigurer.java │ │ │ ├── EntryTransitionConfigurer.java │ │ │ ├── ExitTransitionConfigurer.java │ │ │ ├── ExternalTransitionConfigurer.java │ │ │ ├── ForkTransitionConfigurer.java │ │ │ ├── HistoryTransitionConfigurer.java │ │ │ ├── InternalTransitionConfigurer.java │ │ │ ├── JoinTransitionConfigurer.java │ │ │ ├── JunctionTransitionConfigurer.java │ │ │ ├── LocalTransitionConfigurer.java │ │ │ ├── ModelConfigurer.java │ │ │ ├── MonitoringConfigurer.java │ │ │ ├── PersistenceConfigurer.java │ │ │ ├── SecurityConfigurer.java │ │ │ ├── StateConfigurer.java │ │ │ ├── TransitionConfigurer.java │ │ │ └── VerifierConfigurer.java │ │ └── model │ │ │ ├── AbstractStateMachineModelFactory.java │ │ │ ├── ChoiceData.java │ │ │ ├── ConfigurationData.java │ │ │ ├── DefaultStateMachineComponentResolver.java │ │ │ ├── DefaultStateMachineModel.java │ │ │ ├── EntryData.java │ │ │ ├── ExitData.java │ │ │ ├── HistoryData.java │ │ │ ├── JunctionData.java │ │ │ ├── MalformedConfigurationException.java │ │ │ ├── StateData.java │ │ │ ├── StateMachineComponentResolver.java │ │ │ ├── StateMachineModel.java │ │ │ ├── StateMachineModelFactory.java │ │ │ ├── StatesData.java │ │ │ ├── TransitionData.java │ │ │ ├── TransitionsData.java │ │ │ └── verifier │ │ │ ├── BaseStructureVerifier.java │ │ │ ├── CompositeStateMachineModelVerifier.java │ │ │ ├── DefaultStateMachineModelVerifier.java │ │ │ └── StateMachineModelVerifier.java │ │ ├── ensemble │ │ ├── CompositeEnsembleListener.java │ │ ├── DistributedStateMachine.java │ │ ├── EnsembleListener.java │ │ ├── EnsembleListenerAdapter.java │ │ ├── StateMachineEnsemble.java │ │ ├── StateMachineEnsembleException.java │ │ └── StateMachineEnsembleObjectSupport.java │ │ ├── event │ │ ├── DefaultStateMachineEventPublisher.java │ │ ├── LoggingListener.java │ │ ├── OnEventNotAcceptedEvent.java │ │ ├── OnExtendedStateChanged.java │ │ ├── OnStateChangedEvent.java │ │ ├── OnStateEntryEvent.java │ │ ├── OnStateExitEvent.java │ │ ├── OnStateMachineError.java │ │ ├── OnStateMachineStart.java │ │ ├── OnStateMachineStop.java │ │ ├── OnTransitionEndEvent.java │ │ ├── OnTransitionEvent.java │ │ ├── OnTransitionStartEvent.java │ │ ├── StateMachineEvent.java │ │ ├── StateMachineEventPublisher.java │ │ ├── StateMachineEventPublisherConfiguration.java │ │ └── TransitionEvent.java │ │ ├── guard │ │ ├── Guard.java │ │ ├── Guards.java │ │ ├── ReactiveGuard.java │ │ └── SpelExpressionGuard.java │ │ ├── listener │ │ ├── AbstractCompositeListener.java │ │ ├── CompositeStateMachineListener.java │ │ ├── OrderedComposite.java │ │ ├── StateMachineListener.java │ │ └── StateMachineListenerAdapter.java │ │ ├── monitor │ │ ├── AbstractStateMachineMonitor.java │ │ ├── CompositeStateMachineMonitor.java │ │ └── StateMachineMonitor.java │ │ ├── persist │ │ ├── AbstractPersistingStateMachineInterceptor.java │ │ ├── AbstractStateMachinePersister.java │ │ ├── DefaultStateMachinePersister.java │ │ ├── RepositoryStateMachinePersist.java │ │ ├── StateMachinePersister.java │ │ └── StateMachineRuntimePersister.java │ │ ├── processor │ │ ├── MethodAnnotationPostProcessor.java │ │ ├── MethodInvokingStateMachineRuntimeProcessor.java │ │ ├── StateMachineActivatorAnnotationPostProcessor.java │ │ ├── StateMachineAnnotationPostProcessor.java │ │ ├── StateMachineHandler.java │ │ ├── StateMachineHandlerCallHelper.java │ │ ├── StateMachineMethodInvokerHelper.java │ │ ├── StateMachineRuntime.java │ │ └── StateMachineRuntimeProcessor.java │ │ ├── region │ │ ├── Region.java │ │ └── RegionExecutionPolicy.java │ │ ├── security │ │ ├── DefaultEventSecurityExpressionHandler.java │ │ ├── DefaultTransitionSecurityExpressionHandler.java │ │ ├── EventExpressionConfigAttribute.java │ │ ├── EventExpressionVoter.java │ │ ├── EventSecurityExpressionRoot.java │ │ ├── EventVoter.java │ │ ├── SecurityRule.java │ │ ├── StateMachineSecurityInterceptor.java │ │ ├── TransitionExpressionConfigAttribute.java │ │ ├── TransitionExpressionVoter.java │ │ ├── TransitionSecurityExpressionRoot.java │ │ └── TransitionVoter.java │ │ ├── service │ │ ├── DefaultStateMachineService.java │ │ ├── StateMachineSerialisationService.java │ │ └── StateMachineService.java │ │ ├── state │ │ ├── AbstractPseudoState.java │ │ ├── AbstractSimpleState.java │ │ ├── AbstractState.java │ │ ├── ChoicePseudoState.java │ │ ├── CompositePseudoStateListener.java │ │ ├── CompositeStateListener.java │ │ ├── DefaultPseudoState.java │ │ ├── DefaultPseudoStateContext.java │ │ ├── EntryPseudoState.java │ │ ├── EnumState.java │ │ ├── ExitPseudoState.java │ │ ├── ForkPseudoState.java │ │ ├── HistoryPseudoState.java │ │ ├── JoinPseudoState.java │ │ ├── JunctionPseudoState.java │ │ ├── ObjectState.java │ │ ├── PseudoState.java │ │ ├── PseudoStateContext.java │ │ ├── PseudoStateKind.java │ │ ├── PseudoStateListener.java │ │ ├── RegionState.java │ │ ├── State.java │ │ ├── StateHolder.java │ │ ├── StateListener.java │ │ ├── StateListenerAdapter.java │ │ └── StateMachineState.java │ │ ├── support │ │ ├── AbstractCompositeItems.java │ │ ├── AbstractExpressionEvaluator.java │ │ ├── AbstractStateMachine.java │ │ ├── AnnotatedMethodFilter.java │ │ ├── BeanFactoryTypeConverter.java │ │ ├── DefaultExtendedState.java │ │ ├── DefaultStateContext.java │ │ ├── DefaultStateMachineContext.java │ │ ├── ExpressionUtils.java │ │ ├── FixedMethodFilter.java │ │ ├── LifecycleObjectSupport.java │ │ ├── ObservableMap.java │ │ ├── OrderedCompositeItem.java │ │ ├── ReactiveLifecycleManager.java │ │ ├── ReactiveStateMachineExecutor.java │ │ ├── StateContextExpressionMethods.java │ │ ├── StateMachineContextUtils.java │ │ ├── StateMachineExecutor.java │ │ ├── StateMachineInterceptor.java │ │ ├── StateMachineInterceptorAdapter.java │ │ ├── StateMachineInterceptorList.java │ │ ├── StateMachineObjectSupport.java │ │ ├── StateMachineReactiveLifecycle.java │ │ ├── StateMachineUtils.java │ │ ├── TransitionComparator.java │ │ ├── UniqueMethodFilter.java │ │ └── tree │ │ │ ├── AbstractIterator.java │ │ │ ├── Tree.java │ │ │ └── TreeTraverser.java │ │ ├── transition │ │ ├── AbstractExternalTransition.java │ │ ├── AbstractInternalTransition.java │ │ ├── AbstractLocalTransition.java │ │ ├── AbstractTransition.java │ │ ├── DefaultExternalTransition.java │ │ ├── DefaultInternalTransition.java │ │ ├── DefaultLocalTransition.java │ │ ├── InitialTransition.java │ │ ├── Transition.java │ │ ├── TransitionConflictPolicy.java │ │ └── TransitionKind.java │ │ └── trigger │ │ ├── CompositeTriggerListener.java │ │ ├── DefaultTriggerContext.java │ │ ├── EventTrigger.java │ │ ├── TimerTrigger.java │ │ ├── Trigger.java │ │ ├── TriggerContext.java │ │ └── TriggerListener.java │ └── test │ ├── java │ └── org │ │ └── springframework │ │ └── statemachine │ │ ├── AbstractStateMachineTests.java │ │ ├── EnumStateMachineTests.java │ │ ├── EventDeferTests.java │ │ ├── EventHeaderTests.java │ │ ├── ReactiveTests.java │ │ ├── RegionMachineTests.java │ │ ├── RelayTests.java │ │ ├── StateContextTests.java │ │ ├── StateMachineBlockHoundIntegration.java │ │ ├── StateMachineErrorTests.java │ │ ├── StateMachineFactoryTests.java │ │ ├── StateMachineResetTests.java │ │ ├── StateMachineTests.java │ │ ├── SubStateMachineTests.java │ │ ├── TestUtils.java │ │ ├── access │ │ └── StateMachineAccessTests.java │ │ ├── action │ │ ├── ActionAndTimerTests.java │ │ ├── ActionErrorTests.java │ │ ├── ActionTests.java │ │ ├── DistributedLeaderActionTests.java │ │ ├── ReactiveAction2Tests.java │ │ ├── ReactiveActionTests.java │ │ ├── SpelExpressionActionTests.java │ │ └── StateDoActivityActionTests.java │ │ ├── annotation │ │ ├── AnnoStates.java │ │ ├── AnnoStatesOnTransition.java │ │ ├── ClassAnnotationTests.java │ │ ├── MethodAnnotationTests.java │ │ ├── MethodAnnotationWithBuilderTests.java │ │ ├── MethodAnnotationWithDefaultsWithFactoryTests.java │ │ └── MethodAnnotationWithFactoryTests.java │ │ ├── config │ │ ├── ConfigurationErrorTests.java │ │ ├── ConfigurationTests.java │ │ ├── MachineTypedTests.java │ │ ├── ManualBuilderContextTests.java │ │ ├── ManualBuilderTests.java │ │ ├── SessionScopedAnnotationTests.java │ │ ├── SessionScopedManualTests.java │ │ ├── common │ │ │ └── annotation │ │ │ │ ├── ComplexAnnotationConfigurationTests.java │ │ │ │ ├── DependencyBean.java │ │ │ │ ├── ImportingBeanDefinitionTests.java │ │ │ │ ├── MixedAnnotationConfigurationTests.java │ │ │ │ ├── MultipleAnnotationConfigurationTests.java │ │ │ │ ├── SimpleAnnotationConfiguration2Tests.java │ │ │ │ ├── SimpleAnnotationConfigurationTests.java │ │ │ │ ├── XmlImportDependenciesTests.java │ │ │ │ ├── complex │ │ │ │ ├── ComplexTestConfig.java │ │ │ │ ├── ComplexTestConfigBeanA.java │ │ │ │ ├── ComplexTestConfigBeanABuilder.java │ │ │ │ ├── ComplexTestConfigBeanB.java │ │ │ │ ├── ComplexTestConfigBeanBBuilder.java │ │ │ │ ├── ComplexTestConfigBeanBConfigurer.java │ │ │ │ ├── ComplexTestConfigBuilder.java │ │ │ │ ├── ComplexTestConfiguration.java │ │ │ │ ├── ComplexTestConfigurer.java │ │ │ │ ├── ComplexTestConfigurerAdapter.java │ │ │ │ └── EnableComplexTest.java │ │ │ │ ├── importing │ │ │ │ ├── EnableImportingTest.java │ │ │ │ ├── ImportingTestConfig.java │ │ │ │ ├── ImportingTestConfigBuilder.java │ │ │ │ ├── ImportingTestConfigurer.java │ │ │ │ ├── ImportingTestConfigurerAdapter.java │ │ │ │ └── SimpleImportingConfiguration.java │ │ │ │ └── simple │ │ │ │ ├── EnableSimpleTest.java │ │ │ │ ├── EnableSimpleTest2.java │ │ │ │ ├── SimpleTestConfig.java │ │ │ │ ├── SimpleTestConfigBeanA.java │ │ │ │ ├── SimpleTestConfigBeanABuilder.java │ │ │ │ ├── SimpleTestConfigBeanB.java │ │ │ │ ├── SimpleTestConfigBeanBBuilder.java │ │ │ │ ├── SimpleTestConfigBeanBConfigurer.java │ │ │ │ ├── SimpleTestConfigBuilder.java │ │ │ │ ├── SimpleTestConfiguration.java │ │ │ │ ├── SimpleTestConfiguration2.java │ │ │ │ ├── SimpleTestConfigurer.java │ │ │ │ └── SimpleTestConfigurerAdapter.java │ │ ├── configurers │ │ │ └── DefaultStateConfigurerTests.java │ │ └── model │ │ │ ├── StateMachineModelFactoryTests.java │ │ │ └── StateMachineModelTests.java │ │ ├── docs │ │ ├── DocsConfigurationSampleTests.java │ │ ├── DocsConfigurationSampleTests10.java │ │ ├── DocsConfigurationSampleTests11.java │ │ ├── DocsConfigurationSampleTests12.java │ │ ├── DocsConfigurationSampleTests2.java │ │ ├── DocsConfigurationSampleTests3.java │ │ ├── DocsConfigurationSampleTests4.java │ │ ├── DocsConfigurationSampleTests5.java │ │ ├── DocsConfigurationSampleTests6.java │ │ ├── DocsConfigurationSampleTests7.java │ │ ├── DocsConfigurationSampleTests8.java │ │ ├── DocsConfigurationSampleTests9.java │ │ ├── DocsMigrationTests.java │ │ ├── Events.java │ │ ├── IntroSample.java │ │ ├── States.java │ │ ├── States2.java │ │ └── States3.java │ │ ├── ensemble │ │ ├── DistributedStateMachineTests.java │ │ └── InMemoryStateMachineEnsemble.java │ │ ├── event │ │ ├── ContextEventTests.java │ │ ├── ExternalConfig.java │ │ └── StateMachineEventTests.java │ │ ├── guard │ │ ├── GuardTests.java │ │ └── SpelExpressionGuardTests.java │ │ ├── listener │ │ ├── CompositeStateMachineListenerTests.java │ │ └── ListenerTests.java │ │ ├── monitor │ │ └── StateMachineMonitorTests.java │ │ ├── persist │ │ ├── DefaultStateMachinePersisterTests.java │ │ ├── StateMachinePersistTests.java │ │ ├── StateMachinePersistTests2.java │ │ ├── StateMachinePersistTests3.java │ │ └── StateMachinePersistTests4.java │ │ ├── processor │ │ ├── AnnotatedMethodTests.java │ │ ├── MethodParameterTests.java │ │ └── StateMachineAnnotationPostProcessorTests.java │ │ ├── security │ │ ├── AbstractSecurityTests.java │ │ ├── ActionSecurityTests.java │ │ ├── EventSecurityTests.java │ │ ├── SecurityConfigTests.java │ │ ├── SecurityRuleTests.java │ │ ├── TransitionSecurityAttributeTests.java │ │ ├── TransitionSecurityExpressionRootTests.java │ │ ├── TransitionSecurityExpressionTests.java │ │ └── TransitionSecurityTests.java │ │ ├── service │ │ └── DefaultStateMachineServiceTests.java │ │ ├── state │ │ ├── ChoiceStateTests.java │ │ ├── CompletionEventTests.java │ │ ├── EndStateTests.java │ │ ├── EnumStateTests.java │ │ ├── ExitEntryStateTests.java │ │ ├── ForkStateTests.java │ │ ├── HistoryStateTests.java │ │ ├── InitialStateTests.java │ │ ├── JoinPseudoStateTests.java │ │ ├── JoinStateTests.java │ │ ├── JunctionStateTests.java │ │ ├── ObjectStateTests.java │ │ ├── RegionStateTests.java │ │ ├── StateActionTests.java │ │ ├── SubmachineRefEnumTests.java │ │ ├── SubmachineRefTests.java │ │ └── SubmachineStateTests.java │ │ ├── support │ │ ├── DefaultStateMachineContextTests.java │ │ ├── LifecycleObjectSupportTests.java │ │ ├── ReactiveLifecycleManagerTests.java │ │ ├── StateChangeInterceptorTests.java │ │ ├── StateContextExpressionMethodsTests.java │ │ ├── TransitionComparatorTests.java │ │ └── tree │ │ │ └── TreeTests.java │ │ ├── transition │ │ ├── LocalTransitionTests.java │ │ ├── TransitionEventHeaderTests.java │ │ ├── TransitionOrderTests.java │ │ └── TransitionTests.java │ │ └── trigger │ │ └── TimerTriggerTests.java │ └── resources │ ├── META-INF │ └── services │ │ └── reactor.blockhound.integration.BlockHoundIntegration │ ├── log4j2.xml │ └── org │ └── springframework │ └── statemachine │ └── config │ └── common │ └── annotation │ └── XmlImportDependencies.xml ├── spring-statemachine-data ├── build.gradle ├── jpa │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── springframework │ │ │ └── statemachine │ │ │ └── data │ │ │ └── jpa │ │ │ ├── JpaActionRepository.java │ │ │ ├── JpaGuardRepository.java │ │ │ ├── JpaPersistingStateMachineInterceptor.java │ │ │ ├── JpaRepositoryAction.java │ │ │ ├── JpaRepositoryGuard.java │ │ │ ├── JpaRepositoryState.java │ │ │ ├── JpaRepositoryStateMachine.java │ │ │ ├── JpaRepositoryStateMachinePersist.java │ │ │ ├── JpaRepositoryTransition.java │ │ │ ├── JpaStateMachineRepository.java │ │ │ ├── JpaStateRepository.java │ │ │ └── JpaTransitionRepository.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── springframework │ │ │ └── statemachine │ │ │ └── data │ │ │ └── jpa │ │ │ ├── JpaRepositoryTests.java │ │ │ └── docs │ │ │ └── DocsJpaRepositorySampleTests1.java │ │ └── resources │ │ ├── data10.json │ │ ├── data11.json │ │ ├── data12.json │ │ ├── data13.json │ │ ├── data14.json │ │ ├── data15.json │ │ ├── data2.json │ │ ├── data3.json │ │ ├── data4.json │ │ ├── data5.json │ │ ├── data6.json │ │ ├── data7.json │ │ ├── data8.json │ │ └── data9.json ├── mongodb │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── springframework │ │ │ └── statemachine │ │ │ └── data │ │ │ └── mongodb │ │ │ ├── MongoDbActionRepository.java │ │ │ ├── MongoDbGuardRepository.java │ │ │ ├── MongoDbPersistingStateMachineInterceptor.java │ │ │ ├── MongoDbRepositoryAction.java │ │ │ ├── MongoDbRepositoryGuard.java │ │ │ ├── MongoDbRepositoryState.java │ │ │ ├── MongoDbRepositoryStateMachine.java │ │ │ ├── MongoDbRepositoryStateMachinePersist.java │ │ │ ├── MongoDbRepositoryTransition.java │ │ │ ├── MongoDbStateMachineRepository.java │ │ │ ├── MongoDbStateRepository.java │ │ │ └── MongoDbTransitionRepository.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── springframework │ │ │ └── statemachine │ │ │ └── data │ │ │ └── mongodb │ │ │ ├── EnabledOnMongoDb.java │ │ │ ├── EnabledOnMongoDbCondition.java │ │ │ ├── MongoDbRepositoryTests.java │ │ │ └── docs │ │ │ └── DocsMongoDbRepositorySampleTests1.java │ │ └── resources │ │ ├── data10.json │ │ ├── data11.json │ │ ├── data12.json │ │ ├── data13.json │ │ ├── data14.json │ │ ├── data15.json │ │ ├── data2.json │ │ ├── data3.json │ │ ├── data4.json │ │ ├── data5.json │ │ ├── data6.json │ │ ├── data7.json │ │ ├── data8.json │ │ └── data9.json ├── redis │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── springframework │ │ │ └── statemachine │ │ │ └── data │ │ │ └── redis │ │ │ ├── RedisActionRepository.java │ │ │ ├── RedisGuardRepository.java │ │ │ ├── RedisPersistingStateMachineInterceptor.java │ │ │ ├── RedisRepositoryAction.java │ │ │ ├── RedisRepositoryGuard.java │ │ │ ├── RedisRepositoryState.java │ │ │ ├── RedisRepositoryStateMachine.java │ │ │ ├── RedisRepositoryStateMachinePersist.java │ │ │ ├── RedisRepositoryTransition.java │ │ │ ├── RedisStateMachineContextRepository.java │ │ │ ├── RedisStateMachinePersister.java │ │ │ ├── RedisStateMachineRepository.java │ │ │ ├── RedisStateRepository.java │ │ │ └── RedisTransitionRepository.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── springframework │ │ │ └── statemachine │ │ │ └── data │ │ │ └── redis │ │ │ ├── EnabledOnRedis.java │ │ │ ├── EnabledOnRedisCondition.java │ │ │ ├── RedisRepositoryTests.java │ │ │ ├── StateMachineBlockHoundIntegration.java │ │ │ └── docs │ │ │ └── DocsRedisRepositorySampleTests1.java │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── reactor.blockhound.integration.BlockHoundIntegration │ │ ├── data10.json │ │ ├── data11.json │ │ ├── data12.json │ │ ├── data13.json │ │ ├── data14.json │ │ ├── data15.json │ │ ├── data2.json │ │ ├── data3.json │ │ ├── data4.json │ │ ├── data5.json │ │ ├── data6.json │ │ ├── data7.json │ │ ├── data8.json │ │ └── data9.json └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── data │ │ ├── ActionRepository.java │ │ ├── BaseRepositoryEntity.java │ │ ├── GuardRepository.java │ │ ├── RepositoryAction.java │ │ ├── RepositoryGuard.java │ │ ├── RepositoryState.java │ │ ├── RepositoryStateMachine.java │ │ ├── RepositoryStateMachineModelFactory.java │ │ ├── RepositoryStateMachinePersist.java │ │ ├── RepositoryTransition.java │ │ ├── StateMachineRepository.java │ │ ├── StateRepository.java │ │ ├── TransitionRepository.java │ │ └── support │ │ ├── StateMachineJackson2RepositoryPopulatorFactoryBean.java │ │ └── StateMachineJackson2ResourceReader.java │ └── test │ └── java │ └── org │ └── springframework │ └── statemachine │ └── data │ └── AbstractRepositoryTests.java ├── spring-statemachine-kryo └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── kryo │ │ ├── AbstractKryoStateMachineSerialisationService.java │ │ ├── KryoStateMachineSerialisationService.java │ │ ├── MessageHeadersSerializer.java │ │ ├── StateMachineContextSerializer.java │ │ └── UUIDSerializer.java │ └── test │ └── java │ └── org │ └── springframework │ └── statemachine │ └── kryo │ ├── KryoStateMachineSerialisationServiceTests.java │ └── StateMachineContextSerializerTests.java ├── spring-statemachine-recipes ├── build.gradle └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── recipes │ │ ├── persist │ │ ├── AbstractPersistStateMachineHandler.java │ │ ├── FactoryPersistStateMachineHandler.java │ │ ├── GenericPersistStateMachineHandler.java │ │ └── PersistStateMachineHandler.java │ │ ├── support │ │ └── RunnableAction.java │ │ └── tasks │ │ └── TasksHandler.java │ └── test │ ├── java │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── recipes │ │ ├── PersistStateMachineHandlerTests.java │ │ ├── StateMachineBlockHoundIntegration.java │ │ ├── TasksHandlerTests.java │ │ ├── TestStateMachinePersist.java │ │ └── docs │ │ └── DocsTasksSampleTests.java │ └── resources │ ├── META-INF │ └── services │ │ └── reactor.blockhound.integration.BlockHoundIntegration │ └── log4j2.xml ├── spring-statemachine-samples ├── build.gradle ├── cdplayer │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── cdplayer │ │ │ │ ├── Application.java │ │ │ │ ├── Cd.java │ │ │ │ ├── CdPlayer.java │ │ │ │ ├── CdPlayerCommands.java │ │ │ │ ├── Library.java │ │ │ │ ├── StateMachineCommands.java │ │ │ │ └── Track.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── spring-shell-plugin.xml │ │ │ └── statechartmodel.txt │ │ └── test │ │ ├── java │ │ └── demo │ │ │ └── cdplayer │ │ │ └── CdPlayerTests.java │ │ └── resources │ │ └── log4j2.xml ├── datajpa │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── datajpa │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ ├── StateMachineController.java │ │ │ │ └── StateMachineLogListener.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── data.json │ │ │ └── templates │ │ │ └── states.html │ │ └── test │ │ └── java │ │ └── demo │ │ └── datajpa │ │ └── DataJpaTests.java ├── datajpamultipersist │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── datajpamultipersist │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ ├── StateMachineController.java │ │ │ │ └── StateMachineLogListener.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── datajpamultipersist.json │ │ │ └── templates │ │ │ └── states.html │ │ └── test │ │ └── java │ │ └── demo │ │ └── datajpamultipersist │ │ └── DataJpaMultiPersistTests.java ├── datapersist │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── datapersist │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ ├── StateMachineController.java │ │ │ │ └── StateMachineLogListener.java │ │ └── resources │ │ │ ├── application.yml │ │ │ └── templates │ │ │ └── states.html │ │ └── test │ │ └── java │ │ └── demo │ │ └── datapersist │ │ └── DataJpaPersistTests.java ├── deploy │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── deploy │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ ├── StateMachineController.java │ │ │ │ └── StateMachineLogListener.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── logback.xml │ │ │ ├── model.di │ │ │ ├── model.notation │ │ │ ├── model.uml │ │ │ └── templates │ │ │ └── states.html │ │ └── test │ │ └── java │ │ └── demo │ │ └── deploy │ │ ├── DeployTests.java │ │ └── StateMachineTests.java ├── eventservice │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── eventservice │ │ │ │ ├── Application.java │ │ │ │ ├── Pageview.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ └── StateMachineController.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── logback.xml │ │ │ ├── statechartmodel.txt │ │ │ └── templates │ │ │ └── states.html │ │ └── test │ │ └── java │ │ └── demo │ │ └── eventservice │ │ └── EventServiceTests.java ├── monitoring │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── monitoring │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ ├── StateMachineController.java │ │ │ │ └── StateMachineLogListener.java │ │ └── resources │ │ │ ├── application.yml │ │ │ └── templates │ │ │ └── states.html │ │ └── test │ │ └── java │ │ └── demo │ │ └── monitoring │ │ └── MonitoringTests.java ├── ordershipping │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── ordershipping │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ ├── StateMachineController.java │ │ │ │ └── StateMachineLogListener.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── logback.xml │ │ │ ├── ordershipping.di │ │ │ ├── ordershipping.notation │ │ │ ├── ordershipping.uml │ │ │ └── templates │ │ │ └── states.html │ │ └── test │ │ └── java │ │ └── demo │ │ └── ordershipping │ │ ├── OrdershippingTests.java │ │ └── StateMachineTests.java ├── persist │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── persist │ │ │ │ ├── Application.java │ │ │ │ ├── Persist.java │ │ │ │ ├── PersistCommands.java │ │ │ │ └── StateMachineCommands.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── spring-shell-plugin.xml │ │ │ ├── data.sql │ │ │ ├── schema.sql │ │ │ └── statechartmodel.txt │ │ └── test │ │ └── java │ │ └── demo │ │ └── persist │ │ └── PersistTests.java ├── scope │ └── src │ │ └── main │ │ ├── java │ │ └── demo │ │ │ └── scope │ │ │ ├── Application.java │ │ │ ├── StateMachineConfig.java │ │ │ └── StateMachineController.java │ │ └── resources │ │ ├── logback.xml │ │ ├── statechartmodel.txt │ │ └── templates │ │ └── states.html ├── security │ └── src │ │ └── main │ │ ├── java │ │ └── demo │ │ │ └── security │ │ │ ├── Application.java │ │ │ ├── StateMachineConfig.java │ │ │ └── StateMachineController.java │ │ └── resources │ │ ├── application.yml │ │ ├── logback.xml │ │ ├── statechartmodel.txt │ │ └── templates │ │ └── states.html ├── showcase │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── showcase │ │ │ │ ├── Application.java │ │ │ │ └── StateMachineCommands.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── spring-shell-plugin.xml │ │ │ └── statechartmodel.txt │ │ └── test │ │ └── java │ │ └── demo │ │ └── showcase │ │ └── ShowcaseTests.java ├── src │ └── main │ │ ├── java │ │ └── demo │ │ │ ├── AbstractStateMachineCommands.java │ │ │ ├── CommonConfiguration.java │ │ │ └── StateMachinePromptProvider.java │ │ └── resources │ │ ├── META-INF │ │ └── spring │ │ │ └── spring-shell-plugin.xml │ │ └── logback.xml ├── tasks │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── tasks │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineCommands.java │ │ │ │ ├── Tasks.java │ │ │ │ └── TasksCommands.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── spring-shell-plugin.xml │ │ │ └── statechartmodel.txt │ │ └── test │ │ ├── java │ │ └── demo │ │ │ └── tasks │ │ │ ├── StateMachineBlockHoundIntegration.java │ │ │ └── TasksTests.java │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── reactor.blockhound.integration.BlockHoundIntegration │ │ ├── log4j2.xml │ │ └── logback.xml ├── turnstile │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── turnstile │ │ │ │ ├── Application.java │ │ │ │ └── StateMachineCommands.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── spring-shell-plugin.xml │ │ │ └── statechartmodel.txt │ │ └── test │ │ └── java │ │ └── demo │ │ └── turnstile │ │ └── TurnstileTests.java ├── turnstilereactive │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── turnstilereactive │ │ │ │ ├── Application.java │ │ │ │ ├── StateMachineConfig.java │ │ │ │ └── StateMachineController.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ ├── java │ │ └── demo │ │ │ └── turnstilereactive │ │ │ └── TurnstileReactiveTests.java │ │ └── resources │ │ └── test.http ├── washer │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── java │ │ │ └── demo │ │ │ │ └── washer │ │ │ │ ├── Application.java │ │ │ │ └── StateMachineCommands.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring │ │ │ │ └── spring-shell-plugin.xml │ │ │ └── statechartmodel.txt │ │ └── test │ │ └── java │ │ └── demo │ │ └── washer │ │ └── WasherTests.java ├── web │ ├── .bowerrc │ ├── .gitignore │ ├── README.adoc │ ├── bower.json │ └── src │ │ └── main │ │ ├── java │ │ └── demo │ │ │ └── web │ │ │ ├── Application.java │ │ │ ├── StateMachineConfig.java │ │ │ ├── StateMachineController.java │ │ │ ├── StateMachineEvent.java │ │ │ ├── StateMachineMessage.java │ │ │ └── WebSocketConfig.java │ │ └── resources │ │ ├── application.properties │ │ ├── logback.xml │ │ ├── statechartmodel.txt │ │ └── static │ │ ├── css │ │ └── chat.css │ │ ├── index.html │ │ ├── js │ │ ├── app.js │ │ ├── controllers.js │ │ ├── directives.js │ │ └── services.js │ │ └── lib │ │ ├── angular-animate │ │ ├── .bower.json │ │ ├── README.md │ │ ├── angular-animate.js │ │ ├── angular-animate.min.js │ │ ├── angular-animate.min.js.map │ │ ├── bower.json │ │ ├── index.js │ │ └── package.json │ │ ├── angular │ │ ├── .bower.json │ │ ├── README.md │ │ ├── angular-csp.css │ │ ├── angular.js │ │ ├── angular.min.js │ │ ├── angular.min.js.gzip │ │ ├── angular.min.js.map │ │ ├── bower.json │ │ ├── index.js │ │ └── package.json │ │ ├── angularjs-scroll-glue │ │ ├── .bower.json │ │ ├── README.md │ │ ├── bower.json │ │ ├── example.html │ │ ├── package.json │ │ ├── src │ │ │ ├── LICENSE │ │ │ └── scrollglue.js │ │ └── testacular.conf.js │ │ ├── angularjs-toaster │ │ ├── .bower.json │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── index.js │ │ ├── package.json │ │ ├── toaster.css │ │ ├── toaster.js │ │ ├── toaster.min.css │ │ ├── toaster.min.js │ │ └── toaster.scss │ │ ├── flat-ui │ │ ├── .bower.json │ │ ├── CHANGELOG.md │ │ ├── Gruntfile.js │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── css │ │ │ │ ├── flat-ui.css │ │ │ │ ├── flat-ui.css.map │ │ │ │ ├── flat-ui.min.css │ │ │ │ └── vendor │ │ │ │ │ └── bootstrap.min.css │ │ │ ├── fonts │ │ │ │ ├── glyphicons │ │ │ │ │ ├── flat-ui-icons-regular.eot │ │ │ │ │ ├── flat-ui-icons-regular.svg │ │ │ │ │ ├── flat-ui-icons-regular.ttf │ │ │ │ │ ├── flat-ui-icons-regular.woff │ │ │ │ │ └── selection.json │ │ │ │ └── lato │ │ │ │ │ ├── lato-black.eot │ │ │ │ │ ├── lato-black.svg │ │ │ │ │ ├── lato-black.ttf │ │ │ │ │ ├── lato-black.woff │ │ │ │ │ ├── lato-bold.eot │ │ │ │ │ ├── lato-bold.svg │ │ │ │ │ ├── lato-bold.ttf │ │ │ │ │ ├── lato-bold.woff │ │ │ │ │ ├── lato-bolditalic.eot │ │ │ │ │ ├── lato-bolditalic.svg │ │ │ │ │ ├── lato-bolditalic.ttf │ │ │ │ │ ├── lato-bolditalic.woff │ │ │ │ │ ├── lato-italic.eot │ │ │ │ │ ├── lato-italic.svg │ │ │ │ │ ├── lato-italic.ttf │ │ │ │ │ ├── lato-italic.woff │ │ │ │ │ ├── lato-light.eot │ │ │ │ │ ├── lato-light.svg │ │ │ │ │ ├── lato-light.ttf │ │ │ │ │ ├── lato-light.woff │ │ │ │ │ ├── lato-regular.eot │ │ │ │ │ ├── lato-regular.svg │ │ │ │ │ ├── lato-regular.ttf │ │ │ │ │ └── lato-regular.woff │ │ │ ├── img │ │ │ │ ├── favicon.ico │ │ │ │ ├── icons │ │ │ │ │ ├── png │ │ │ │ │ │ ├── Book.png │ │ │ │ │ │ ├── Calendar.png │ │ │ │ │ │ ├── Chat.png │ │ │ │ │ │ ├── Clipboard.png │ │ │ │ │ │ ├── Compas.png │ │ │ │ │ │ ├── Gift-Box.png │ │ │ │ │ │ ├── Infinity-Loop.png │ │ │ │ │ │ ├── Mail.png │ │ │ │ │ │ ├── Map.png │ │ │ │ │ │ ├── Pensils.png │ │ │ │ │ │ ├── Pocket.png │ │ │ │ │ │ ├── Retina-Ready.png │ │ │ │ │ │ ├── Toilet-Paper.png │ │ │ │ │ │ └── Watches.png │ │ │ │ │ └── svg │ │ │ │ │ │ ├── book.svg │ │ │ │ │ │ ├── calendar.svg │ │ │ │ │ │ ├── chat.svg │ │ │ │ │ │ ├── clipboard.svg │ │ │ │ │ │ ├── clocks.svg │ │ │ │ │ │ ├── compas.svg │ │ │ │ │ │ ├── gift-box.svg │ │ │ │ │ │ ├── loop.svg │ │ │ │ │ │ ├── mail.svg │ │ │ │ │ │ ├── map.svg │ │ │ │ │ │ ├── paper-bag.svg │ │ │ │ │ │ ├── pencils.svg │ │ │ │ │ │ ├── retina.svg │ │ │ │ │ │ ├── ribbon.svg │ │ │ │ │ │ └── toilet-paper.svg │ │ │ │ ├── login │ │ │ │ │ ├── icon.png │ │ │ │ │ ├── imac-2x.png │ │ │ │ │ └── imac.png │ │ │ │ └── tile │ │ │ │ │ ├── ribbon-2x.png │ │ │ │ │ └── ribbon.png │ │ │ ├── index.html │ │ │ └── js │ │ │ │ ├── flat-ui.js │ │ │ │ ├── flat-ui.min.js │ │ │ │ └── vendor │ │ │ │ ├── html5shiv.js │ │ │ │ ├── jquery.min.js │ │ │ │ ├── jquery.min.map │ │ │ │ ├── respond.min.js │ │ │ │ ├── video-js.swf │ │ │ │ └── video.js │ │ ├── docs │ │ │ ├── assets │ │ │ │ ├── css │ │ │ │ │ ├── demo.css │ │ │ │ │ ├── demo.css.map │ │ │ │ │ ├── docs.css │ │ │ │ │ ├── docs.css.map │ │ │ │ │ └── src │ │ │ │ │ │ ├── demo.less │ │ │ │ │ │ ├── docs.less │ │ │ │ │ │ └── prettyprint.less │ │ │ │ ├── img │ │ │ │ │ ├── demo │ │ │ │ │ │ ├── browser-2x.png │ │ │ │ │ │ ├── browser-author.jpg │ │ │ │ │ │ ├── browser-pic-1.jpg │ │ │ │ │ │ ├── browser-pic-2.jpg │ │ │ │ │ │ ├── browser-pic-3.jpg │ │ │ │ │ │ ├── browser-pic-4.jpg │ │ │ │ │ │ ├── browser-pic-5.jpg │ │ │ │ │ │ ├── browser-pic-6.jpg │ │ │ │ │ │ ├── browser.png │ │ │ │ │ │ ├── html-icon.png │ │ │ │ │ │ ├── logo-mask-2x.png │ │ │ │ │ │ ├── logo-mask.png │ │ │ │ │ │ └── video.jpg │ │ │ │ │ ├── example-image.jpg │ │ │ │ │ ├── footer │ │ │ │ │ │ └── logo.png │ │ │ │ │ ├── getting-started │ │ │ │ │ │ └── icomoon_import.jpg │ │ │ │ │ └── video │ │ │ │ │ │ └── poster.jpg │ │ │ │ └── js │ │ │ │ │ ├── application.js │ │ │ │ │ └── prettify.js │ │ │ ├── components.html │ │ │ ├── examples │ │ │ │ ├── buttons.html │ │ │ │ ├── dropdowns.html │ │ │ │ ├── forms.html │ │ │ │ ├── navbar-fixed-top.html │ │ │ │ ├── navbar-static-top.html │ │ │ │ ├── navbars-with-elements.html │ │ │ │ ├── navbars.html │ │ │ │ ├── pagination.html │ │ │ │ ├── radiocheck.html │ │ │ │ ├── select.html │ │ │ │ ├── switches.html │ │ │ │ ├── tagsinput.html │ │ │ │ ├── thumbnails.html │ │ │ │ ├── tiles.html │ │ │ │ ├── todo-list.html │ │ │ │ ├── tooltips.html │ │ │ │ ├── typography.html │ │ │ │ └── vertical-slider.html │ │ │ ├── getting-started.html │ │ │ └── template.html │ │ ├── fonts │ │ │ ├── glyphicons │ │ │ │ ├── flat-ui-icons-regular.eot │ │ │ │ ├── flat-ui-icons-regular.svg │ │ │ │ ├── flat-ui-icons-regular.ttf │ │ │ │ ├── flat-ui-icons-regular.woff │ │ │ │ └── selection.json │ │ │ └── lato │ │ │ │ ├── lato-black.eot │ │ │ │ ├── lato-black.svg │ │ │ │ ├── lato-black.ttf │ │ │ │ ├── lato-black.woff │ │ │ │ ├── lato-bold.eot │ │ │ │ ├── lato-bold.svg │ │ │ │ ├── lato-bold.ttf │ │ │ │ ├── lato-bold.woff │ │ │ │ ├── lato-bolditalic.eot │ │ │ │ ├── lato-bolditalic.svg │ │ │ │ ├── lato-bolditalic.ttf │ │ │ │ ├── lato-bolditalic.woff │ │ │ │ ├── lato-italic.eot │ │ │ │ ├── lato-italic.svg │ │ │ │ ├── lato-italic.ttf │ │ │ │ ├── lato-italic.woff │ │ │ │ ├── lato-light.eot │ │ │ │ ├── lato-light.svg │ │ │ │ ├── lato-light.ttf │ │ │ │ ├── lato-light.woff │ │ │ │ ├── lato-regular.eot │ │ │ │ ├── lato-regular.svg │ │ │ │ ├── lato-regular.ttf │ │ │ │ └── lato-regular.woff │ │ ├── img │ │ │ ├── favicon.ico │ │ │ ├── icons │ │ │ │ ├── png │ │ │ │ │ ├── Book.png │ │ │ │ │ ├── Calendar.png │ │ │ │ │ ├── Chat.png │ │ │ │ │ ├── Clipboard.png │ │ │ │ │ ├── Compas.png │ │ │ │ │ ├── Gift-Box.png │ │ │ │ │ ├── Infinity-Loop.png │ │ │ │ │ ├── Mail.png │ │ │ │ │ ├── Map.png │ │ │ │ │ ├── Pensils.png │ │ │ │ │ ├── Pocket.png │ │ │ │ │ ├── Retina-Ready.png │ │ │ │ │ ├── Toilet-Paper.png │ │ │ │ │ └── Watches.png │ │ │ │ └── svg │ │ │ │ │ ├── book.svg │ │ │ │ │ ├── calendar.svg │ │ │ │ │ ├── chat.svg │ │ │ │ │ ├── clipboard.svg │ │ │ │ │ ├── clocks.svg │ │ │ │ │ ├── compas.svg │ │ │ │ │ ├── gift-box.svg │ │ │ │ │ ├── loop.svg │ │ │ │ │ ├── mail.svg │ │ │ │ │ ├── map.svg │ │ │ │ │ ├── paper-bag.svg │ │ │ │ │ ├── pencils.svg │ │ │ │ │ ├── retina.svg │ │ │ │ │ ├── ribbon.svg │ │ │ │ │ └── toilet-paper.svg │ │ │ ├── login │ │ │ │ ├── icon.png │ │ │ │ ├── imac-2x.png │ │ │ │ └── imac.png │ │ │ └── tile │ │ │ │ ├── ribbon-2x.png │ │ │ │ └── ribbon.png │ │ ├── index.html │ │ ├── js │ │ │ └── radiocheck.js │ │ ├── less │ │ │ ├── flat-ui.less │ │ │ ├── mixins.less │ │ │ ├── mixins │ │ │ │ ├── background-clip.less │ │ │ │ ├── background-variant.less │ │ │ │ ├── border-radius.less │ │ │ │ ├── buttons.less │ │ │ │ ├── center-block.less │ │ │ │ ├── clearfix.less │ │ │ │ ├── forms.less │ │ │ │ ├── gradients.less │ │ │ │ ├── grid.less │ │ │ │ ├── hide-text.less │ │ │ │ ├── image.less │ │ │ │ ├── nav-divider.less │ │ │ │ ├── navbar-vertical-align.less │ │ │ │ ├── opacity.less │ │ │ │ ├── pagination.less │ │ │ │ ├── pallets.less │ │ │ │ ├── reset-filter.less │ │ │ │ ├── resize.less │ │ │ │ ├── responsive-visibility.less │ │ │ │ ├── select.less │ │ │ │ ├── size.less │ │ │ │ ├── switches.less │ │ │ │ ├── tab-focus.less │ │ │ │ ├── text-emphasis.less │ │ │ │ ├── text-overflow.less │ │ │ │ └── vendor-prefixes.less │ │ │ ├── modules │ │ │ │ ├── button-groups.less │ │ │ │ ├── buttons.less │ │ │ │ ├── code.less │ │ │ │ ├── dropdowns.less │ │ │ │ ├── footer.less │ │ │ │ ├── forms.less │ │ │ │ ├── glyphicons.less │ │ │ │ ├── input-groups.less │ │ │ │ ├── local-fonts.less │ │ │ │ ├── login.less │ │ │ │ ├── navbar.less │ │ │ │ ├── pager.less │ │ │ │ ├── pagination.less │ │ │ │ ├── palette.less │ │ │ │ ├── progress-bars.less │ │ │ │ ├── radiocheck.less │ │ │ │ ├── scaffolding.less │ │ │ │ ├── select.less │ │ │ │ ├── share.less │ │ │ │ ├── slider.less │ │ │ │ ├── switch.less │ │ │ │ ├── tagsinput.less │ │ │ │ ├── thumbnails.less │ │ │ │ ├── tiles.less │ │ │ │ ├── todo-list.less │ │ │ │ ├── tooltip.less │ │ │ │ ├── type.less │ │ │ │ ├── typeahead.less │ │ │ │ └── video.less │ │ │ ├── spaces.less │ │ │ └── variables.less │ │ └── package.json │ │ ├── jquery │ │ ├── .bower.json │ │ ├── MIT-LICENSE.txt │ │ ├── bower.json │ │ ├── dist │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ │ └── jquery.min.map │ │ └── src │ │ │ ├── ajax.js │ │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── load.js │ │ │ ├── parseJSON.js │ │ │ ├── parseXML.js │ │ │ ├── script.js │ │ │ ├── var │ │ │ │ ├── nonce.js │ │ │ │ └── rquery.js │ │ │ └── xhr.js │ │ │ ├── attributes.js │ │ │ ├── attributes │ │ │ ├── attr.js │ │ │ ├── classes.js │ │ │ ├── prop.js │ │ │ ├── support.js │ │ │ └── val.js │ │ │ ├── callbacks.js │ │ │ ├── core.js │ │ │ ├── core │ │ │ ├── access.js │ │ │ ├── init.js │ │ │ ├── parseHTML.js │ │ │ ├── ready.js │ │ │ └── var │ │ │ │ └── rsingleTag.js │ │ │ ├── css.js │ │ │ ├── css │ │ │ ├── addGetHookIf.js │ │ │ ├── curCSS.js │ │ │ ├── defaultDisplay.js │ │ │ ├── hiddenVisibleSelectors.js │ │ │ ├── support.js │ │ │ ├── swap.js │ │ │ └── var │ │ │ │ ├── cssExpand.js │ │ │ │ ├── getStyles.js │ │ │ │ ├── isHidden.js │ │ │ │ ├── rmargin.js │ │ │ │ └── rnumnonpx.js │ │ │ ├── data.js │ │ │ ├── data │ │ │ ├── Data.js │ │ │ ├── accepts.js │ │ │ └── var │ │ │ │ ├── data_priv.js │ │ │ │ └── data_user.js │ │ │ ├── deferred.js │ │ │ ├── deprecated.js │ │ │ ├── dimensions.js │ │ │ ├── effects.js │ │ │ ├── effects │ │ │ ├── Tween.js │ │ │ └── animatedSelector.js │ │ │ ├── event.js │ │ │ ├── event │ │ │ ├── ajax.js │ │ │ ├── alias.js │ │ │ └── support.js │ │ │ ├── exports │ │ │ ├── amd.js │ │ │ └── global.js │ │ │ ├── intro.js │ │ │ ├── jquery.js │ │ │ ├── manipulation.js │ │ │ ├── manipulation │ │ │ ├── _evalUrl.js │ │ │ ├── support.js │ │ │ └── var │ │ │ │ └── rcheckableType.js │ │ │ ├── offset.js │ │ │ ├── outro.js │ │ │ ├── queue.js │ │ │ ├── queue │ │ │ └── delay.js │ │ │ ├── selector-native.js │ │ │ ├── selector-sizzle.js │ │ │ ├── selector.js │ │ │ ├── serialize.js │ │ │ ├── sizzle │ │ │ └── dist │ │ │ │ ├── sizzle.js │ │ │ │ ├── sizzle.min.js │ │ │ │ └── sizzle.min.map │ │ │ ├── traversing.js │ │ │ ├── traversing │ │ │ ├── findFilter.js │ │ │ └── var │ │ │ │ └── rneedsContext.js │ │ │ ├── var │ │ │ ├── arr.js │ │ │ ├── class2type.js │ │ │ ├── concat.js │ │ │ ├── hasOwn.js │ │ │ ├── indexOf.js │ │ │ ├── pnum.js │ │ │ ├── push.js │ │ │ ├── rnotwhite.js │ │ │ ├── slice.js │ │ │ ├── strundefined.js │ │ │ ├── support.js │ │ │ └── toString.js │ │ │ └── wrap.js │ │ ├── sockjs │ │ ├── .bower.json │ │ ├── component.json │ │ ├── sockjs.js │ │ └── sockjs.min.js │ │ ├── stomp │ │ ├── .bower.json │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Cakefile │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── RELEASE_NOTES.md │ │ ├── bower.json │ │ ├── browsertests │ │ │ ├── index.html │ │ │ ├── integration │ │ │ │ ├── integration.html │ │ │ │ └── integration.js │ │ │ ├── qunit.css │ │ │ ├── qunit.js │ │ │ ├── test.css │ │ │ └── unit │ │ │ │ ├── ack.js │ │ │ │ ├── config.js │ │ │ │ ├── connection.js │ │ │ │ ├── frame.js │ │ │ │ ├── message.js │ │ │ │ ├── parse_connect.js │ │ │ │ ├── subscription.js │ │ │ │ ├── transaction.js │ │ │ │ └── websocket.js │ │ ├── coffeelint.json │ │ ├── doc │ │ │ ├── .gitignore │ │ │ ├── i │ │ │ │ └── johnny_automatic │ │ │ │ │ ├── johnny_automatic_advise_from_the_doctor.svg │ │ │ │ │ ├── johnny_automatic_elephant_climbing.svg │ │ │ │ │ ├── johnny_automatic_follow_the_leader.svg │ │ │ │ │ └── johnny_automatic_the_dynamometer_test.svg │ │ │ ├── index.html │ │ │ ├── j │ │ │ │ └── doc.js │ │ │ └── screen.css │ │ ├── example │ │ │ ├── README.md │ │ │ ├── chat │ │ │ │ └── index.html │ │ │ ├── css │ │ │ │ ├── bootstrap.min.css │ │ │ │ └── bootstrap.min.responsive.css │ │ │ ├── index.html │ │ │ ├── server.js │ │ │ └── webworker │ │ │ │ ├── README.md │ │ │ │ ├── index.html │ │ │ │ └── webworker.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── stomp-node.js │ │ │ ├── stomp.js │ │ │ └── stomp.min.js │ │ ├── package.json │ │ ├── src │ │ │ ├── stomp-node.coffee │ │ │ ├── stomp-node.orig.js │ │ │ ├── stomp.coffee │ │ │ └── stomp.orig.js │ │ └── test │ │ │ ├── server.mock.coffee │ │ │ ├── stomp.spec.coffee │ │ │ └── websocket.mock.coffee │ │ └── videojs │ │ ├── .bower.json │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── Gruntfile.js │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ ├── component.json │ │ ├── composer.json │ │ ├── contrib.json │ │ ├── dist │ │ └── video-js │ │ │ ├── demo.captions.vtt │ │ │ ├── demo.html │ │ │ ├── font │ │ │ ├── vjs.eot │ │ │ ├── vjs.svg │ │ │ ├── vjs.ttf │ │ │ └── vjs.woff │ │ │ ├── video-js.css │ │ │ ├── video-js.less │ │ │ ├── video-js.min.css │ │ │ ├── video-js.swf │ │ │ ├── video.dev.js │ │ │ └── video.js │ │ ├── docs │ │ ├── api │ │ │ ├── vjs.BigPlayButton.md │ │ │ ├── vjs.Button.md │ │ │ ├── vjs.CaptionsButton.md │ │ │ ├── vjs.CaptionsTrack.md │ │ │ ├── vjs.ChaptersButton.md │ │ │ ├── vjs.ChaptersTrack.md │ │ │ ├── vjs.ChaptersTrackMenuItem.md │ │ │ ├── vjs.Component.md │ │ │ ├── vjs.ControlBar.md │ │ │ ├── vjs.CoreObject.md │ │ │ ├── vjs.CurrentTimeDisplay.md │ │ │ ├── vjs.DurationDisplay.md │ │ │ ├── vjs.Flash.md │ │ │ ├── vjs.FullscreenToggle.md │ │ │ ├── vjs.Html5.md │ │ │ ├── vjs.JSON.md │ │ │ ├── vjs.LoadProgressBar.md │ │ │ ├── vjs.LoadingSpinner.md │ │ │ ├── vjs.MediaLoader.md │ │ │ ├── vjs.MediaTechController.md │ │ │ ├── vjs.Menu.md │ │ │ ├── vjs.MenuButton.md │ │ │ ├── vjs.MenuItem.md │ │ │ ├── vjs.MuteToggle.md │ │ │ ├── vjs.OffTextTrackMenuItem.md │ │ │ ├── vjs.PlayProgressBar.md │ │ │ ├── vjs.PlayToggle.md │ │ │ ├── vjs.Player.md │ │ │ ├── vjs.PosterImage.md │ │ │ ├── vjs.ProgressControl.md │ │ │ ├── vjs.RemainingTimeDisplay.md │ │ │ ├── vjs.SeekBar.md │ │ │ ├── vjs.SeekHandle.md │ │ │ ├── vjs.Slider.md │ │ │ ├── vjs.SliderHandle.md │ │ │ ├── vjs.SubtitlesButton.md │ │ │ ├── vjs.SubtitlesTrack.md │ │ │ ├── vjs.TextTrack.md │ │ │ ├── vjs.TextTrackButton.md │ │ │ ├── vjs.TextTrackDisplay.md │ │ │ ├── vjs.TextTrackMenuItem.md │ │ │ ├── vjs.TimeDivider.md │ │ │ ├── vjs.VolumeBar.md │ │ │ ├── vjs.VolumeControl.md │ │ │ ├── vjs.VolumeHandle.md │ │ │ ├── vjs.VolumeLevel.md │ │ │ ├── vjs.VolumeMenuButton.md │ │ │ ├── vjs.md │ │ │ └── vjs.media.md │ │ ├── guides │ │ │ ├── api.md │ │ │ ├── components.md │ │ │ ├── glossary.md │ │ │ ├── languages.md │ │ │ ├── options.md │ │ │ ├── plugins.md │ │ │ ├── setup.md │ │ │ ├── skins.md │ │ │ ├── tech.md │ │ │ └── tracks.md │ │ └── index.md │ │ ├── lang │ │ └── es.json │ │ ├── package.json │ │ ├── sandbox │ │ ├── index.html.example │ │ ├── language.html.example │ │ └── plugin.html.example │ │ └── src │ │ ├── css │ │ ├── font │ │ │ ├── vjs.eot │ │ │ ├── vjs.svg │ │ │ ├── vjs.ttf │ │ │ └── vjs.woff │ │ └── video-js.less │ │ └── js │ │ ├── big-play-button.js │ │ ├── button.js │ │ ├── cdn.js │ │ ├── component.js │ │ ├── control-bar │ │ ├── control-bar.js │ │ ├── fullscreen-toggle.js │ │ ├── live-display.js │ │ ├── mute-toggle.js │ │ ├── play-toggle.js │ │ ├── playback-rate-menu-button.js │ │ ├── progress-control.js │ │ ├── time-display.js │ │ ├── volume-control.js │ │ └── volume-menu-button.js │ │ ├── core-object.js │ │ ├── core.js │ │ ├── error-display.js │ │ ├── events.js │ │ ├── exports.js │ │ ├── fullscreen-api.js │ │ ├── json.js │ │ ├── lib.js │ │ ├── loading-spinner.js │ │ ├── media-error.js │ │ ├── media │ │ ├── flash.externs.js │ │ ├── flash.js │ │ ├── html5.js │ │ ├── loader.js │ │ └── media.js │ │ ├── menu.js │ │ ├── player.externs.js │ │ ├── player.js │ │ ├── plugins.js │ │ ├── poster.js │ │ ├── setup.js │ │ ├── slider.js │ │ ├── tracks.js │ │ └── util.js └── zookeeper │ ├── .gitignore │ └── src │ └── main │ ├── java │ └── demo │ │ └── zookeeper │ │ ├── Application.java │ │ └── StateMachineCommands.java │ └── resources │ ├── META-INF │ └── spring │ │ └── spring-shell-plugin.xml │ └── statechartmodel.txt ├── spring-statemachine-starter └── spring-statemachine-starter.txt ├── spring-statemachine-test └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── test │ │ ├── AbstractStateMachineJUnit4Tests.java │ │ ├── AbstractStateMachineJUnit5Tests.java │ │ ├── StateMachineTestPlan.java │ │ ├── StateMachineTestPlanBuilder.java │ │ ├── TestUtils.java │ │ ├── assertj │ │ ├── StateContextAssert.java │ │ ├── StateMachineAssert.java │ │ ├── StateMachineAsserts.java │ │ └── StateMachineEventResultAssert.java │ │ └── support │ │ └── LatchStateMachineListener.java │ └── test │ └── java │ └── org │ └── springframework │ └── statemachine │ └── test │ ├── StateMachineTestPlanBuilderJUnit4Tests.java │ ├── StateMachineTestPlanBuilderJUnit5Tests.java │ ├── StateMachineTestingJUnit4Tests.java │ ├── StateMachineTestingJUnit5Tests.java │ ├── assertj │ └── StateMachineEventResultAssertTests.java │ └── docs │ └── DocsTestSampleTests.java ├── spring-statemachine-uml └── src │ ├── main │ └── java │ │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── uml │ │ ├── ResourcerResolver.java │ │ ├── UmlStateMachineModelFactory.java │ │ └── support │ │ ├── UmlModelParser.java │ │ └── UmlUtils.java │ └── test │ ├── java │ └── org │ │ └── springframework │ │ └── statemachine │ │ └── uml │ │ ├── AbstractUmlTests.java │ │ ├── ResourcerResolverTests.java │ │ ├── UmlStateMachineModelFactoryTests.java │ │ └── docs │ │ └── DocsUmlSampleTests1.java │ └── resources │ └── org │ └── springframework │ └── statemachine │ └── uml │ ├── action-with-transition-choice.di │ ├── action-with-transition-choice.notation │ ├── action-with-transition-choice.uml │ ├── action-with-transition-junction.di │ ├── action-with-transition-junction.notation │ ├── action-with-transition-junction.uml │ ├── broken-model-shadowentries.di │ ├── broken-model-shadowentries.notation │ ├── broken-model-shadowentries.uml │ ├── docs │ ├── simple-machine.di │ ├── simple-machine.notation │ └── simple-machine.uml │ ├── import-main │ ├── import-main.di │ ├── import-main.notation │ └── import-main.uml │ ├── import-sub │ ├── import-sub.di │ ├── import-sub.notation │ └── import-sub.uml │ ├── initial-actions.di │ ├── initial-actions.notation │ ├── initial-actions.uml │ ├── missingname-choice.di │ ├── missingname-choice.notation │ ├── missingname-choice.uml │ ├── multijoin-forkjoin.di │ ├── multijoin-forkjoin.notation │ ├── multijoin-forkjoin.uml │ ├── pseudostate-in-submachine.di │ ├── pseudostate-in-submachine.notation │ ├── pseudostate-in-submachine.uml │ ├── pseudostate-in-submachineref.di │ ├── pseudostate-in-submachineref.notation │ ├── pseudostate-in-submachineref.uml │ ├── simple-actions.di │ ├── simple-actions.notation │ ├── simple-actions.uml │ ├── simple-choice.di │ ├── simple-choice.notation │ ├── simple-choice.uml │ ├── simple-connectionpointref.di │ ├── simple-connectionpointref.notation │ ├── simple-connectionpointref.uml │ ├── simple-entryexit.di │ ├── simple-entryexit.notation │ ├── simple-entryexit.uml │ ├── simple-eventdefer.di │ ├── simple-eventdefer.notation │ ├── simple-eventdefer.uml │ ├── simple-flat-end.di │ ├── simple-flat-end.notation │ ├── simple-flat-end.uml │ ├── simple-flat-multiple-to-end-viachoices.di │ ├── simple-flat-multiple-to-end-viachoices.notation │ ├── simple-flat-multiple-to-end-viachoices.uml │ ├── simple-flat-multiple-to-end.di │ ├── simple-flat-multiple-to-end.notation │ ├── simple-flat-multiple-to-end.uml │ ├── simple-flat.di │ ├── simple-flat.notation │ ├── simple-flat.uml │ ├── simple-forkjoin.di │ ├── simple-forkjoin.notation │ ├── simple-forkjoin.uml │ ├── simple-guards.di │ ├── simple-guards.notation │ ├── simple-guards.uml │ ├── simple-history-deep.di │ ├── simple-history-deep.notation │ ├── simple-history-deep.uml │ ├── simple-history-default.di │ ├── simple-history-default.notation │ ├── simple-history-default.uml │ ├── simple-history-shallow.di │ ├── simple-history-shallow.notation │ ├── simple-history-shallow.uml │ ├── simple-junction.di │ ├── simple-junction.notation │ ├── simple-junction.uml │ ├── simple-localtransition.di │ ├── simple-localtransition.notation │ ├── simple-localtransition.uml │ ├── simple-root-regions.di │ ├── simple-root-regions.notation │ ├── simple-root-regions.uml │ ├── simple-spels.di │ ├── simple-spels.notation │ ├── simple-spels.uml │ ├── simple-state-actions.di │ ├── simple-state-actions.notation │ ├── simple-state-actions.uml │ ├── simple-submachine.di │ ├── simple-submachine.notation │ ├── simple-submachine.uml │ ├── simple-submachineref.di │ ├── simple-submachineref.notation │ ├── simple-submachineref.uml │ ├── simple-timers.di │ ├── simple-timers.notation │ ├── simple-timers.uml │ ├── simple-transitiontypes.di │ ├── simple-transitiontypes.notation │ ├── simple-transitiontypes.uml │ ├── transition-effect-spel.di │ ├── transition-effect-spel.notation │ └── transition-effect-spel.uml └── spring-statemachine-zookeeper └── src ├── main └── java │ └── org │ └── springframework │ └── statemachine │ └── zookeeper │ ├── ZookeeperStateMachineEnsemble.java │ └── ZookeeperStateMachinePersist.java └── test ├── java └── org │ └── springframework │ └── statemachine │ └── zookeeper │ ├── AbstractZookeeperTests.java │ ├── TestUtils.java │ ├── ZookeeperStateMachineEnsembleTests.java │ ├── ZookeeperStateMachinePersistTests.java │ ├── ZookeeperStateMachineTests.java │ └── docs │ └── DocsZookeeperSampleTests.java └── resources └── log4j2.xml /.github/labels-rename.yml: -------------------------------------------------------------------------------- 1 | - name: type/bug 2 | from_name: bug 3 | - name: status/duplicate 4 | from_name: duplicate 5 | - name: type/enhancement 6 | from_name: enhancement 7 | - name: type/help-needed 8 | from_name: help wanted 9 | - name: status/invalid 10 | from_name: invalid 11 | - name: type/question 12 | from_name: question 13 | - name: status/declined 14 | from_name: wontfix 15 | - name: type/task 16 | from_name: task 17 | - name: area/tests 18 | from_name: test 19 | - name: area/jepsen 20 | from_name: jepsen 21 | - name: area/documentation 22 | from_name: docs 23 | - name: for/backport 24 | from_name: backport 25 | - name: type/epic 26 | from_name: Epic 27 | - name: area/dependencies 28 | from_name: dependencies 29 | - name: for/blocker 30 | from_name: blocker 31 | -------------------------------------------------------------------------------- /.github/release-files-spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | { 4 | "aql": { 5 | "items.find": { 6 | "$and": [ 7 | { 8 | "@build.name": "${buildname}", 9 | "@build.number": "${buildnumber}", 10 | "path": {"$match": "org*"} 11 | }, 12 | { 13 | "$or": [ 14 | { 15 | "name": {"$match": "*.pom"} 16 | }, 17 | { 18 | "name": {"$match": "*.jar"} 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | }, 25 | "target": "nexus/" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /.github/rlnotes.mustache: -------------------------------------------------------------------------------- 1 | {{#headerslength}} 2 | # Generic Notes 3 | 4 | {{/headerslength}} 5 | {{#headers}} 6 | **{{title}}** 7 | {{body}} 8 | 9 | {{/headers}} 10 | # Issues 11 | 12 | {{#issues}} 13 | {{repo}}#{{number}} {{title}} 14 | {{/issues}} 15 | 16 | {{#footerslength}} 17 | # Additional Notes 18 | 19 | {{/footerslength}} 20 | {{#footers}} 21 | **{{title}}** 22 | {{body}} 23 | 24 | {{/footers}} 25 | -------------------------------------------------------------------------------- /.github/workflows/central-sync-close.yml: -------------------------------------------------------------------------------- 1 | name: Central Sync Close 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | stagedRepositoryId: 7 | description: "Staged repository id" 8 | required: true 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | 15 | # Request close promotion repo 16 | - uses: jvalkeal/nexus-sync@v0 17 | with: 18 | username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }} 19 | password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }} 20 | staging-profile-name: ${{ secrets.OSSRH_STAGING_PROFILE_NAME }} 21 | staging-repo-id: ${{ github.event.inputs.stagedRepositoryId }} 22 | close: true 23 | -------------------------------------------------------------------------------- /.github/workflows/central-sync-release.yml: -------------------------------------------------------------------------------- 1 | name: Central Sync Release 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | stagedRepositoryId: 7 | description: "Staged repository id" 8 | required: true 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | 15 | # Request release promotion repo 16 | - uses: jvalkeal/nexus-sync@v0 17 | with: 18 | username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }} 19 | password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }} 20 | staging-profile-name: ${{ secrets.OSSRH_STAGING_PROFILE_NAME }} 21 | staging-repo-id: ${{ github.event.inputs.stagedRepositoryId }} 22 | release: true 23 | -------------------------------------------------------------------------------- /.github/workflows/label-manage.yml: -------------------------------------------------------------------------------- 1 | name: Labels Manage 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'main' 7 | paths: 8 | - '.github/labels-manage.yml' 9 | - '.github/workflows/label-manage.yml' 10 | workflow_dispatch: 11 | 12 | jobs: 13 | labeler: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Mangle Labels 18 | uses: crazy-max/ghaction-github-labeler@v3 19 | with: 20 | github-token: ${{ secrets.GITHUB_TOKEN }} 21 | yaml-file: .github/labels-manage.yml 22 | dry-run: false 23 | skip-delete: false 24 | -------------------------------------------------------------------------------- /.github/workflows/label-rename.yml: -------------------------------------------------------------------------------- 1 | name: Labels Rename 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | labeler: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | - name: Rename Labels 12 | uses: crazy-max/ghaction-github-labeler@v3 13 | with: 14 | github-token: ${{ secrets.GITHUB_TOKEN }} 15 | yaml-file: .github/labels-rename.yml 16 | dry-run: false 17 | skip-delete: true 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | bin 3 | build 4 | .settings 5 | .classpath 6 | .project 7 | *.iml 8 | *.log 9 | *.ipr 10 | *.iws 11 | *.swp 12 | metastore_db 13 | /src/test/resources/s3.properties 14 | /.idea/ 15 | /.vscode/ 16 | .DS_Store 17 | out 18 | target 19 | classes 20 | .sts4-cache 21 | .attach_pid* 22 | nexus 23 | .jfrog 24 | -------------------------------------------------------------------------------- /docs/src/api/overview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This document is the API specification for the Spring Statemachine project. 4 |
5 | 6 |
7 |

8 | For further API reference and developer documentation, see the 9 | Spring Statemachine Project Page. 10 | There you can find the latest news, links to documentation, books, presentations and webinars. 11 |

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/src/info/readme.txt: -------------------------------------------------------------------------------- 1 | SPRING STATEMACHINE 2 | ------------------------ 3 | https://projects.spring.io/spring-statemachine/ 4 | 5 | 1. INTRODUCTION 6 | 7 | Spring Statemachine is a framework extension introducing state machine 8 | concepts in a spring world. 9 | 10 | 2. RELEASE NOTES 11 | 12 | This release comes with complete reference documentation. For further 13 | details, consult the provided javadoc for specific packages and classes. 14 | 15 | 3. DISTRIBUTION JAR FILES 16 | 17 | The Spring Statemachine jars files can be found in the 'dist' directory. 18 | 19 | 4. GETTING STARTED 20 | 21 | Please see the reference documentation. 22 | Additionally the blog at https://blog.spring.io as well 23 | as sections of interest in the reference documentation. 24 | 25 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/Guardfile: -------------------------------------------------------------------------------- 1 | require 'asciidoctor' 2 | require 'erb' 3 | 4 | guard 'shell' do 5 | watch(/^.*\.adoc$/) {|m| 6 | Asciidoctor.render_file(m[0], :to_dir => "build/", :safe => Asciidoctor::SafeMode::UNSAFE, :attributes=> {'idprefix' => '', 'idseparator' => '-', 'copycss' => '', 'icons' => 'font', 'source-highlighter' => 'prettify', 'sectanchors' => '', 'doctype' => 'book','toc2' => '', 'spring-hadoop-version' => '2.1.0.BUILD-SNAPSHOT','spring-version' => '4.1.3.RELEASE', 'revnumber' => '2.1.0.BUILD-SNAPSHOT', 'numbered'=>'' }) 7 | } 8 | end 9 | 10 | guard 'livereload' do 11 | watch(%r{build/.+\.(css|js|html)$}) 12 | end 13 | 14 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/appendix-reactormigration-examples.adoc: -------------------------------------------------------------------------------- 1 | === Reactive Examples 2 | While most of an examples are still same, we've overhauled some of them and 3 | created some new: 4 | 5 | * Tunrstile Reactive <> 6 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/appendix-reactormigration-threading.adoc: -------------------------------------------------------------------------------- 1 | === TaskExecutor and TaskScheduler 2 | StateMachine execution with `TaskExecutor` and state action scheduling with `TaskScheduler` 3 | has been fully replaced in favour or Reactor execution and scheduling. 4 | 5 | Essentially execution outside of a main thread is needed in two places, firstly with 6 | _State Actions_ which needs to be cancellable and secondly with _Regions_ which should 7 | be always be executed independently. Currently we've chosen to just use _Reactor_ 8 | `Schedulers.parallel()` for these which should give relatively good results as it 9 | tries to automatically use available number of cpu cores from a system. 10 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/appendix-reactormigration.adoc: -------------------------------------------------------------------------------- 1 | [appendix] 2 | [[appendix-reactormigrationguide]] 3 | == Reactor Migration Guide 4 | Main task for a work for `3.x` has been to both internally and externally to move and change 5 | as much as we can from imperative code into a reactive world. This means that some 6 | of a main interfaces has added a new reative methods and most of a internal execution locig 7 | (where applicable) has been moved over to handled by a reactor. Essentially what this means is that thread handling model is considerably different compared to `2.x`. Following chapters 8 | go throught all these changes. 9 | 10 | include::appendix-reactormigration-communicating.adoc[] 11 | 12 | include::appendix-reactormigration-threading.adoc[] 13 | 14 | include::appendix-reactormigration-examples.adoc[] 15 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/appendix-support.adoc: -------------------------------------------------------------------------------- 1 | [appendix] 2 | == Support Content 3 | 4 | This appendix provides generic information about the classes and 5 | material that are used in this reference documentation. 6 | 7 | === Classes Used in This Document 8 | 9 | The following listings show the classes used throughout this reference guide: 10 | 11 | ==== 12 | [source,java,indent=0] 13 | ---- 14 | include::samples/States.java[tags=snippetA] 15 | ---- 16 | 17 | [source,java,indent=0] 18 | ---- 19 | include::samples/States2.java[tags=snippetA] 20 | ---- 21 | 22 | [source,java,indent=0] 23 | ---- 24 | include::samples/States3.java[tags=snippetA] 25 | ---- 26 | 27 | [source,java,indent=0] 28 | ---- 29 | include::samples/Events.java[tags=snippetA] 30 | ---- 31 | ==== 32 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/appendix.adoc: -------------------------------------------------------------------------------- 1 | [[appendices]] 2 | = Appendices 3 | 4 | :numbered!: 5 | 6 | include::appendix-support.adoc[] 7 | 8 | include::appendix-concepts.adoc[] 9 | 10 | include::appendix-distributedpaper.adoc[] 11 | 12 | include::appendix-reactormigration.adoc[] 13 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/model-deployer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/model-deployer.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-10.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-11.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-12.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-13.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-14.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-15.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-16.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-17.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-18.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-19.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-20.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-21.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-22.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-4.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-5.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-6.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-7.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-8.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/papyrus-gs-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/papyrus-gs-9.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/simple-machine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/simple-machine.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpa-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpa-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpa-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpa-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpa-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpa-3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpamultipersist-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpamultipersist-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpamultipersist-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpamultipersist-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpamultipersist-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpamultipersist-3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpapersist-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpapersist-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpapersist-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpapersist-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-datajpapersist-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-datajpapersist-3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-deploy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-deploy-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-dist-n1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-dist-n1-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-dist-n1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-dist-n1-4.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-dist-n2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-dist-n2-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-dist-n3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-dist-n3-3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-eventservice-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-eventservice-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-eventservice-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-eventservice-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-eventservice-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-eventservice-3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-eventservice-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-eventservice-4.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-monitoring-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-monitoring-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-monitoring-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-monitoring-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-ordershipping-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-ordershipping-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-ordershipping-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-ordershipping-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-ordershipping-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-ordershipping-3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-ordershipping-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-ordershipping-4.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-repository-showcasemachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-repository-showcasemachine.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-repository-simplemachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-repository-simplemachine.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-repository-simplesubmachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-repository-simplesubmachine.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-scope-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-scope-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-tech-isolated-events-with-variable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-tech-isolated-events-with-variable.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-tech-isolated-events.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-tech-isolated-events.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-tech-parallel-events.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-tech-parallel-events.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-tech-partition-half-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-tech-partition-half-1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-tech-partition-half-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-tech-partition-half-2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/sm-tech-stop-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/sm-tech-stop-start.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart0.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart1.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart10.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart11.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart12.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart13.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart14.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart2.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart3.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart4.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart5.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart6.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart7.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart8.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/images/statechart9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/docs/src/reference/asciidoc/images/statechart9.png -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/index-docinfo.xml: -------------------------------------------------------------------------------- 1 | {revnumber} 2 | Spring Statemachine 3 | 4 | 5 | Janne 6 | Valkealahti 7 | Pivotal 8 | 9 | 10 | 11 | 12 | 2015 13 | 2016 14 | 2017 15 | 2018 16 | 2019 17 | Pivotal Software, Inc. 18 | 19 | 20 | 21 | Copies of this document may be made for your own use and for 22 | distribution to others, provided that you do not charge any fee for such 23 | copies and further provided that each copy contains this Copyright 24 | Notice, whether distributed in print or electronically. 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/samples/.gitignore: -------------------------------------------------------------------------------- 1 | *.java 2 | *.json 3 | 4 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/sm-monitoring.adoc: -------------------------------------------------------------------------------- 1 | [[sm-monitoring]] 2 | == Monitoring a State Machine 3 | 4 | You can use `StateMachineMonitor` to get more information about the 5 | durations of how long transitions and actions take to execute. The following listing 6 | shows how this interface is implemented. 7 | 8 | ==== 9 | [source,java,indent=0] 10 | ---- 11 | include::samples/DocsConfigurationSampleTests9.java[tags=snippetB] 12 | ---- 13 | ==== 14 | 15 | Once you have a `StateMachineMonitor` implementation, you can add it to 16 | a state machine through configuration, as the following example shows: 17 | 18 | ==== 19 | [source,java,indent=0] 20 | ---- 21 | include::samples/DocsConfigurationSampleTests9.java[tags=snippetA] 22 | ---- 23 | ==== 24 | 25 | TIP: See the <> sample for detailed usage. 26 | -------------------------------------------------------------------------------- /docs/src/reference/asciidoc/sm-service.adoc: -------------------------------------------------------------------------------- 1 | [[sm-service]] 2 | == State Machine Services 3 | 4 | StateMachine services are higher-level implementations meant to 5 | provide more user-level functionalities to ease normal runtime 6 | operations. Currently, only one service interface 7 | (`StateMachineService`) exists. 8 | 9 | [[sm-service-statemachineservice]] 10 | === Using `StateMachineService` 11 | 12 | `StateMachineService` is an interface that is meant to handle running machines 13 | and have simple methods to "`acquire`" and "`release`" machines. It has 14 | one default implementation, named `DefaultStateMachineService`. 15 | -------------------------------------------------------------------------------- /docs/src/statecharts/statechart0.txt: -------------------------------------------------------------------------------- 1 | +----------------------------------------+ 2 | | SM | 3 | +----------------------------------------+ 4 | | | 5 | | +----------+ +----------+ | 6 | | *-->| STATE1 | | STATE2 | | 7 | | +----------+ +----------+ | 8 | | | entry/ | | entry/ | | 9 | | | exit/ | | exit/ | | 10 | | | |--EVENT1->| | | 11 | | | | | | | 12 | | | |<-EVENT2--| | | 13 | | | | | | | 14 | | +----------+ +----------+ | 15 | | | 16 | +----------------------------------------+ 17 | -------------------------------------------------------------------------------- /docs/src/statecharts/statechart7.txt: -------------------------------------------------------------------------------- 1 | +----------------+ +----------------+ 2 | | +------+ | | +------+ | 3 | | | *-->| T1 | | | +-------->| T1 | | 4 | | | +------+ | | | | +------+ | 5 | ---->|---->|================| ---->|--+ |================| 6 | | | +------+ | | | | +------+ | 7 | | | *-->| T2 | | | +-------->| T2 | | 8 | | +------+ | | +------+ | 9 | +----------------+ +----------------+ 10 | -------------------------------------------------------------------------------- /docs/src/statecharts/statechart8.txt: -------------------------------------------------------------------------------- 1 | +----------------+ +-------------------+ 2 | | +------+ | | +------+ | 3 | | *-->| T1 | | | | *-->| T1 |--------+ | 4 | | +------+ | | | +------+ | | | 5 | |================|---->| |===================| +-->| 6 | | +------+ | | | +------+ | | | 7 | | *-->| T2 | | | | *-->| T2 |--------+ | 8 | | +------+ | | +------+ | 9 | +----------------+ +-------------------+ 10 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | version=3.1.0-SNAPSHOT 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBinu007/spring-statemachine/4da9c52742faa51b0085ea3b04abbe0a32949960/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /jepsen/spring-statemachine-jepsen/.gitignore: -------------------------------------------------------------------------------- 1 | .lein-failures 2 | report/ 3 | store/ 4 | pom.xml 5 | .lein-repl-history 6 | .lein-env 7 | -------------------------------------------------------------------------------- /jepsen/spring-statemachine-jepsen/project.clj: -------------------------------------------------------------------------------- 1 | (defproject spring-statemachine-jepsen "0.1.0-SNAPSHOT" 2 | :description "FIXME: write description" 3 | :url "https://example.com/FIXME" 4 | :license {:name "Eclipse Public License" 5 | :url "https://www.eclipse.org/legal/epl-v10.html"} 6 | :profiles {:plot {:env {:plot "plot"}}} 7 | :plugins [[lein-environ "1.0.0"]] 8 | :dependencies [[org.clojure/clojure "1.6.0"] 9 | [clj-http "1.1.0"] 10 | [environ "1.0.0"] 11 | [jepsen "0.0.5"]]) 12 | -------------------------------------------------------------------------------- /spring-statemachine-autoconfigure/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | # Auto Configure 2 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 3 | org.springframework.statemachine.boot.autoconfigure.StateMachineAutoConfiguration,\ 4 | org.springframework.statemachine.boot.autoconfigure.StateMachineJpaRepositoriesAutoConfiguration,\ 5 | org.springframework.statemachine.boot.autoconfigure.StateMachineRedisRepositoriesAutoConfiguration,\ 6 | org.springframework.statemachine.boot.autoconfigure.StateMachineMongoDbRepositoriesAutoConfiguration 7 | 8 | -------------------------------------------------------------------------------- /spring-statemachine-bom/spring-statemachine-bom.txt: -------------------------------------------------------------------------------- 1 | This meta-project is used to generate a bill-of-materials POM that contains the other 2 | projects in a dependencyManagement section. 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/META-INF/services/reactor.blockhound.integration.BlockHoundIntegration: -------------------------------------------------------------------------------- 1 | org.springframework.statemachine.buildtests.StateMachineBlockHoundIntegration -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/choice-exit.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/end-smoke.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/forkjoin-entryexit.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/forkjoin-entryexit2.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/linked-pseudostates.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/linked-regions.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/jpa/SimpleMachine.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@id": "1", 4 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", 5 | "initial": true, 6 | "state": "S1" 7 | }, 8 | { 9 | "@id": "2", 10 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", 11 | "initial": false, 12 | "state": "S2" 13 | }, 14 | { 15 | "@id": "3", 16 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", 17 | "initial": false, 18 | "state": "S3" 19 | }, 20 | { 21 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition", 22 | "source": "1", 23 | "target": "2", 24 | "event": "E1" 25 | }, 26 | { 27 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition", 28 | "source": "2", 29 | "target": "3", 30 | "event": "E2" 31 | } 32 | ] 33 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/mongodb/SimpleMachine.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@id": "1", 4 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", 5 | "initial": true, 6 | "state": "S1" 7 | }, 8 | { 9 | "@id": "2", 10 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", 11 | "initial": false, 12 | "state": "S2" 13 | }, 14 | { 15 | "@id": "3", 16 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", 17 | "initial": false, 18 | "state": "S3" 19 | }, 20 | { 21 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition", 22 | "source": "1", 23 | "target": "2", 24 | "event": "E1" 25 | }, 26 | { 27 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition", 28 | "source": "2", 29 | "target": "3", 30 | "event": "E2" 31 | } 32 | ] 33 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/redis/SimpleMachine.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@id": "1", 4 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", 5 | "initial": true, 6 | "state": "S1" 7 | }, 8 | { 9 | "@id": "2", 10 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", 11 | "initial": false, 12 | "state": "S2" 13 | }, 14 | { 15 | "@id": "3", 16 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", 17 | "initial": false, 18 | "state": "S3" 19 | }, 20 | { 21 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition", 22 | "source": "1", 23 | "target": "2", 24 | "event": "E1" 25 | }, 26 | { 27 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition", 28 | "source": "2", 29 | "target": "3", 30 | "event": "E2" 31 | } 32 | ] 33 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/ShowcaseMachine.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleMachine.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/tck/uml/SimpleSubMachine.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-build-tests/src/test/resources/org/springframework/statemachine/buildtests/wait-error-1.di: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/main/java/org/springframework/statemachine/trigger/TriggerContext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.statemachine.trigger; 17 | 18 | public interface TriggerContext { 19 | 20 | E getEvent(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/AnnoStates.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.statemachine.annotation; 17 | 18 | public enum AnnoStates { 19 | 20 | S1, S2 21 | 22 | } 23 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/Events.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.statemachine.docs; 17 | 18 | //tag::snippetA[] 19 | public enum Events { 20 | E1,E2,E3,E4,EF 21 | } 22 | //end::snippetA[] 23 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/States.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.statemachine.docs; 17 | 18 | //tag::snippetA[] 19 | public enum States { 20 | SI,S1,S2,S3,S4,SF 21 | } 22 | //end::snippetA[] 23 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/States2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015-2016 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.statemachine.docs; 17 | 18 | //tag::snippetA[] 19 | public enum States2 { 20 | S1,S2,S3,S4,S5,SF, 21 | S2I,S21,S22,S2F, 22 | S3I,S31,S32,S3F 23 | } 24 | //end::snippetA[] 25 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/States3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.statemachine.docs; 17 | 18 | //tag::snippetA[] 19 | public enum States3 { 20 | S1,S2,SH, 21 | S2I,S21,S22,S2F 22 | } 23 | //end::snippetA[] 24 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/resources/META-INF/services/reactor.blockhound.integration.BlockHoundIntegration: -------------------------------------------------------------------------------- 1 | org.springframework.statemachine.StateMachineBlockHoundIntegration -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /spring-statemachine-core/src/test/resources/org/springframework/statemachine/config/common/annotation/XmlImportDependencies.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /spring-statemachine-data/jpa/src/test/resources/data14.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@id": "1", 4 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryAction", 5 | "spel": "extendedState.variables.put('foo', 0)" 6 | }, 7 | { 8 | "@id": "2", 9 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", 10 | "initial": true, 11 | "initialAction" : "1", 12 | "state": "S1" 13 | }, 14 | { 15 | "@id": "3", 16 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", 17 | "initial": false, 18 | "state": "S2" 19 | }, 20 | { 21 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition", 22 | "source": "2", 23 | "target": "3", 24 | "event": "E1", 25 | "kind": "EXTERNAL" 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /spring-statemachine-data/jpa/src/test/resources/data7.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@id": "3", 4 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryGuard", 5 | "spel": "true" 6 | }, 7 | { 8 | "@id": "4", 9 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryAction", 10 | "spel": "true" 11 | }, 12 | { 13 | "@id": "5", 14 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryAction", 15 | "spel": "false" 16 | }, 17 | { 18 | "@id": "1", 19 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", 20 | "initial": true, 21 | "state": "S1" 22 | }, 23 | { 24 | "@id": "2", 25 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryState", 26 | "initial": false, 27 | "state": "S2" 28 | }, 29 | { 30 | "_class": "org.springframework.statemachine.data.jpa.JpaRepositoryTransition", 31 | "source": "1", 32 | "target": "2", 33 | "event": "E1", 34 | "kind": "EXTERNAL", 35 | "guard": "3", 36 | "actions": ["4", "5"] 37 | } 38 | ] 39 | -------------------------------------------------------------------------------- /spring-statemachine-data/mongodb/src/test/resources/data14.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@id": "1", 4 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryAction", 5 | "spel": "extendedState.variables.put('foo', 0)" 6 | }, 7 | { 8 | "@id": "2", 9 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", 10 | "initial": true, 11 | "initialAction" : "1", 12 | "state": "S1" 13 | }, 14 | { 15 | "@id": "3", 16 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryState", 17 | "initial": false, 18 | "state": "S2" 19 | }, 20 | { 21 | "_class": "org.springframework.statemachine.data.mongodb.MongoDbRepositoryTransition", 22 | "source": "2", 23 | "target": "3", 24 | "event": "E1", 25 | "kind": "EXTERNAL" 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /spring-statemachine-data/redis/src/test/resources/META-INF/services/reactor.blockhound.integration.BlockHoundIntegration: -------------------------------------------------------------------------------- 1 | org.springframework.statemachine.data.redis.StateMachineBlockHoundIntegration -------------------------------------------------------------------------------- /spring-statemachine-data/redis/src/test/resources/data14.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "@id": "1", 4 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryAction", 5 | "spel": "extendedState.variables.put('foo', 0)" 6 | }, 7 | { 8 | "@id": "2", 9 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", 10 | "initial": true, 11 | "initialAction" : "1", 12 | "state": "S1" 13 | }, 14 | { 15 | "@id": "3", 16 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryState", 17 | "initial": false, 18 | "state": "S2" 19 | }, 20 | { 21 | "_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition", 22 | "source": "2", 23 | "target": "3", 24 | "event": "E1", 25 | "kind": "EXTERNAL" 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /spring-statemachine-recipes/build.gradle: -------------------------------------------------------------------------------- 1 | description = 'Spring State Machine Recipes Common' 2 | 3 | -------------------------------------------------------------------------------- /spring-statemachine-recipes/src/test/resources/META-INF/services/reactor.blockhound.integration.BlockHoundIntegration: -------------------------------------------------------------------------------- 1 | org.springframework.statemachine.recipes.StateMachineBlockHoundIntegration -------------------------------------------------------------------------------- /spring-statemachine-recipes/src/test/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /spring-statemachine-samples/cdplayer/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | bin 3 | build 4 | .settings 5 | .classpath 6 | .springBeans 7 | .project 8 | *.iml 9 | *.ipr 10 | *.iws 11 | metastore_db 12 | /samples/pig-scripting/src/main/resources/ml-100k.zip 13 | /samples/pig-scripting/src/main/resources/ml-100k/u.data 14 | /src/test/resources/s3.properties 15 | /.idea/ 16 | .DS_Store 17 | /out/ 18 | target 19 | *.log 20 | -------------------------------------------------------------------------------- /spring-statemachine-samples/cdplayer/src/main/resources/META-INF/spring/spring-shell-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /spring-statemachine-samples/cdplayer/src/test/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /spring-statemachine-samples/datajpa/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | level: 3 | root: INFO 4 | security: 5 | basic: 6 | enabled: false 7 | spring: 8 | h2: 9 | console: 10 | enabled: true 11 | -------------------------------------------------------------------------------- /spring-statemachine-samples/datajpa/src/main/resources/templates/states.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Spring Statemachine Demo 5 | 6 | 7 | 8 |
9 | h2 console 10 |
11 |
12 |
13 |

14 |

    15 |
  • 16 | 17 | 18 |
  • 19 |
20 |
21 | 22 |
23 |
24 |