List of usage examples for org.springframework.statemachine StateMachineSystemConstants DEFAULT_ID_STATEMACHINE
String DEFAULT_ID_STATEMACHINE
To view the source code for org.springframework.statemachine StateMachineSystemConstants DEFAULT_ID_STATEMACHINE.
Click Source Link
From source file:org.zrgs.spring.statemachine.cdplayer.CdPlayerTest.java
@SuppressWarnings("unchecked") @Before//from w w w .ja va 2s. co m public void setup() throws Exception { context = new AnnotationConfigApplicationContext(); context.register(CommonConfiguration.class, Application.class, TestConfig.class); context.refresh(); machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); player = context.getBean(CdPlayer.class); musicLibrary = context.getBean(MusicLibrary.class); listener = context.getBean(TestListener.class); machine.start(); // lets do a little sleep to wait sm to start Thread.sleep(1000); }
From source file:org.springframework.statemachine.listener.ListenerTests.java
@Test public void testStateEvents() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Config1.class); assertTrue(ctx.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") ObjectStateMachine<TestStates, TestEvents> machine = ctx .getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); machine.start();//from w ww. j a va 2s .c o m TestStateMachineListener listener = new TestStateMachineListener(); machine.addStateListener(listener); assertThat(machine, notNullValue()); machine.sendEvent(MessageBuilder.withPayload(TestEvents.E1).setHeader("foo", "jee1").build()); assertThat(listener.states.size(), is(1)); assertThat(listener.states.get(0).from.getIds(), contains(TestStates.S1)); assertThat(listener.states.get(0).to.getIds(), contains(TestStates.S2)); machine.sendEvent(MessageBuilder.withPayload(TestEvents.E2).setHeader("foo", "jee2").build()); assertThat(listener.states.size(), is(2)); assertThat(listener.states.get(1).from.getIds(), contains(TestStates.S2)); assertThat(listener.states.get(1).to.getIds(), contains(TestStates.S3)); machine.sendEvent(MessageBuilder.withPayload(TestEvents.E4).setHeader("foo", "jee2").build()); assertThat(listener.states.size(), is(2)); ctx.close(); }
From source file:org.springframework.statemachine.listener.ListenerTests.java
@Test public void testStartEndEvents() throws Exception { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Config2.class); assertTrue(ctx.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") ObjectStateMachine<TestStates, TestEvents> machine = ctx .getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); TestStateMachineListener listener = new TestStateMachineListener(); machine.addStateListener(listener);/*from w w w.ja v a2 s .co m*/ machine.start(); machine.sendEvent(TestEvents.E1); machine.sendEvent(TestEvents.E2); assertThat(listener.stopLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.started, is(1)); assertThat(listener.stopped, is(1)); ctx.close(); }
From source file:org.springframework.statemachine.listener.ListenerTests.java
@Test public void testExtendedStateEvents() throws Exception { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Config2.class); assertTrue(ctx.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") ObjectStateMachine<TestStates, TestEvents> machine = ctx .getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); TestStateMachineListener listener = new TestStateMachineListener(); machine.addStateListener(listener);// w ww .ja v a 2 s .c o m machine.start(); machine.getExtendedState().getVariables().put("foo", "jee"); assertThat(listener.extendedLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.extended.size(), is(1)); assertThat(listener.extended.get(0).key, is("foo")); assertThat(listener.extended.get(0).value, is("jee")); ctx.close(); }
From source file:org.springframework.statemachine.StateMachineTests.java
@Test public void testLoggingEvents() { context.register(Config1.class); context.refresh();//from ww w . j a v a 2 s .co m assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") ObjectStateMachine<TestStates, TestEvents> machine = context .getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); assertThat(machine, notNullValue()); machine.start(); machine.sendEvent(MessageBuilder.withPayload(TestEvents.E1).setHeader("foo", "jee1").build()); machine.sendEvent(MessageBuilder.withPayload(TestEvents.E2).setHeader("foo", "jee2").build()); machine.sendEvent(MessageBuilder.withPayload(TestEvents.E4).setHeader("foo", "jee2").build()); }
From source file:org.springframework.statemachine.StateMachineTests.java
@Test public void testTimerTransition() throws Exception { context.register(BaseConfig.class, Config2.class); context.refresh();/*from w ww. j a va 2 s. c om*/ TestAction testAction1 = context.getBean("testAction1", TestAction.class); TestAction testAction2 = context.getBean("testAction2", TestAction.class); TestAction testAction3 = context.getBean("testAction3", TestAction.class); TestAction testAction4 = context.getBean("testAction4", TestAction.class); @SuppressWarnings("unchecked") StateMachine<TestStates, TestEvents> machine = context .getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, StateMachine.class); TestListener listener = new TestListener(); machine.addStateListener(listener); listener.reset(1); machine.start(); assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(1)); assertThat(testAction2.stateContexts.size(), is(0)); listener.reset(0, 1); machine.sendEvent(TestEvents.E1); assertThat(listener.transitionLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(testAction1.onExecuteLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(testAction1.stateContexts.size(), is(1)); assertThat(testAction2.onExecuteLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(testAction2.stateContexts.size(), is(1)); listener.reset(0, 1); machine.sendEvent(TestEvents.E2); assertThat(listener.transitionLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(testAction3.onExecuteLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(testAction3.stateContexts.size(), is(1)); // timer still fires but should not cause transition anymore // after we sleep and do next event int timedTriggered = testAction2.stateContexts.size(); Thread.sleep(2000); assertThat(testAction2.stateContexts.size(), is(timedTriggered)); listener.reset(0, 1); machine.sendEvent(TestEvents.E3); assertThat(listener.transitionLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(testAction4.onExecuteLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(testAction4.stateContexts.size(), is(1)); assertThat(testAction2.stateContexts.size(), is(timedTriggered)); }
From source file:org.springframework.statemachine.StateMachineTests.java
@Test @SuppressWarnings("unchecked") public void testForkJoin() throws Exception { context.register(BaseConfig.class, Config3.class); context.refresh();/*from w w w . java2 s .c o m*/ ObjectStateMachine<TestStates, TestEvents> machine = context .getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); TestListener listener = new TestListener(); machine.addStateListener(listener); assertThat(machine, notNullValue()); listener.reset(1); machine.start(); assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(1)); assertThat(machine.getState().getIds(), contains(TestStates.SI)); listener.reset(3); machine.sendEvent(TestEvents.E1); assertThat(listener.stateChangedLatch.await(3, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(3)); assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S2, TestStates.S20, TestStates.S30)); listener.reset(1); machine.sendEvent(TestEvents.E2); assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(1)); assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S2, TestStates.S21, TestStates.S30)); listener.reset(2); machine.sendEvent(TestEvents.E3); assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(2)); assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S4)); }
From source file:org.springframework.statemachine.StateMachineTests.java
@Test public void testStringStatesAndEvents() throws Exception { context.register(Config4.class); context.refresh();//from ww w .j a v a2s . co m assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") StateMachine<String, String> machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, StateMachine.class); TestListener2 listener = new TestListener2(); machine.addStateListener(listener); assertThat(machine, notNullValue()); machine.start(); listener.reset(1); machine.sendEvent(MessageBuilder.withPayload("E1").setHeader("foo", "jee1").build()); assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); assertThat(listener.stateChangedCount, is(1)); assertThat(machine.getState().getIds(), containsInAnyOrder("S1")); }
From source file:org.springframework.statemachine.StateMachineTests.java
@Test public void testBackToItself() { context.register(BaseConfig.class, Config5.class); context.refresh();/* w w w . j av a2 s . co m*/ @SuppressWarnings("unchecked") StateMachine<TestStates, TestEvents> machine = context .getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, StateMachine.class); assertThat(machine, notNullValue()); TestStateEntryExitListener listener = new TestStateEntryExitListener(); machine.addStateListener(listener); machine.start(); assertThat(machine.getState().getIds(), contains(TestStates.SI)); listener.reset(); machine.sendEvent(MessageBuilder.withPayload(TestEvents.E1).build()); assertThat(machine.getState().getIds(), contains(TestStates.SI)); assertThat(listener.exited.size(), is(1)); assertThat(listener.entered.size(), is(1)); }