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