Example usage for org.springframework.statemachine.support DefaultStateMachineContext DefaultStateMachineContext

List of usage examples for org.springframework.statemachine.support DefaultStateMachineContext DefaultStateMachineContext

Introduction

In this page you can find the example usage for org.springframework.statemachine.support DefaultStateMachineContext DefaultStateMachineContext.

Prototype

public DefaultStateMachineContext(List<StateMachineContext<S, E>> childs, S state, E event,
        Map<String, Object> eventHeaders, ExtendedState extendedState) 

Source Link

Document

Instantiates a new default state machine context.

Usage

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));
}