List of usage examples for org.springframework.statemachine.support DefaultStateMachineContext DefaultStateMachineContext
public DefaultStateMachineContext(S state, E event, Map<String, Object> eventHeaders,
ExtendedState extendedState)
From source file:org.springframework.statemachine.recipes.TasksHandlerTests.java
@Test public void testReset2() throws InterruptedException { DefaultStateMachineContext<String, String> child = new DefaultStateMachineContext<String, String>("MANUAL", null, null, null);/*from w w w .j a v a 2s . co m*/ List<StateMachineContext<String, String>> childs = new ArrayList<StateMachineContext<String, String>>(); childs.add(child); 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(); StateMachine<String, String> machine = handler.getStateMachine(); machine.addStateListener(listener); handler.resetFromPersistStore(); assertThat(listener.stateMachineStartedLatch.await(1, TimeUnit.SECONDS), is(true)); assertThat(machine.getState().getIds(), contains(TasksHandler.STATE_ERROR, TasksHandler.STATE_MANUAL)); }
From source file:org.springframework.statemachine.recipes.TasksHandlerTests.java
public void testReset4() throws InterruptedException { // TODO: automaticAction() is not executed when state is reset DefaultStateMachineContext<String, String> child = new DefaultStateMachineContext<String, String>( "AUTOMATIC", null, null, null); List<StateMachineContext<String, String>> childs = new ArrayList<StateMachineContext<String, String>>(); childs.add(child);/*from ww w.ja v a 2s. c om*/ 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); StateMachine<String, String> machine = handler.getStateMachine(); machine.addStateListener(listener); handler.resetFromPersistStore(); assertThat(listener.stateMachineStartedLatch.await(1, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedLatch.await(4, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(2)); assertThat(machine.getState().getIds(), contains(TasksHandler.STATE_READY)); }