List of usage examples for org.springframework.statemachine.support DefaultStateMachineContext DefaultStateMachineContext
public DefaultStateMachineContext(List<StateMachineContext<S, E>> childs, S state, E event,
Map<String, Object> eventHeaders, ExtendedState extendedState)
From source file:org.springframework.statemachine.recipes.TasksHandlerTests.java
@Test public void testReset3() throws InterruptedException { log.info("testReset3 start"); List<StateMachineContext<String, String>> childs = new ArrayList<StateMachineContext<String, String>>(); DefaultStateMachineContext<String, String> context = new DefaultStateMachineContext<String, String>(childs, "ERROR", null, null, null); TestStateMachinePersist persist = new TestStateMachinePersist(context); TasksHandler handler = TasksHandler.builder().task("1", sleepRunnable()).task("2", sleepRunnable()) .task("3", sleepRunnable()).persist(persist).build(); TestListener listener = new TestListener(); listener.reset(2, 0, 0);/*from w ww . j a v a 2 s.co m*/ StateMachine<String, String> machine = handler.getStateMachine(); machine.addStateListener(listener); handler.resetFromPersistStore(); log.info("testReset3 wait stateMachineStartedLatch"); assertThat(listener.stateMachineStartedLatch.await(1, TimeUnit.SECONDS), is(true)); log.info("testReset3 wait stateChangedLatch"); assertThat(listener.stateChangedLatch.await(4, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(2)); assertThat(machine.getState().getIds(), contains(TasksHandler.STATE_READY)); }