diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java index 9bf36914..dbd61d0a 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 the original author or authors. + * Copyright 2015-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -393,24 +393,12 @@ public abstract class AbstractStateMachineFactory extends LifecycleObjectS return interceptor.stateMachineError(stateMachine, exception); } - @Override - public void preStateChange(State state, Message message, Transition transition, - StateMachine stateMachine) { - interceptor.preStateChange(state, message, transition, stateMachine, rootStateMachine); - } - @Override public void preStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { interceptor.preStateChange(state, message, transition, stateMachine, rootStateMachine); } - @Override - public void postStateChange(State state, Message message, Transition transition, - StateMachine stateMachine) { - interceptor.postStateChange(state, message, transition, stateMachine, rootStateMachine); - } - @Override public void postStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/ensemble/DistributedStateMachine.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/ensemble/DistributedStateMachine.java index 6ee92785..5ac769eb 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/ensemble/DistributedStateMachine.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/ensemble/DistributedStateMachine.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 the original author or authors. + * Copyright 2015-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -214,11 +214,6 @@ public class DistributedStateMachine extends LifecycleObjectSupport implem return message; } - @Override - public void preStateChange(State state, Message message, Transition transition, - StateMachine stateMachine) { - } - @Override public void preStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { @@ -234,11 +229,6 @@ public class DistributedStateMachine extends LifecycleObjectSupport implem } } - @Override - public void postStateChange(State state, Message message, Transition transition, - StateMachine stateMachine) { - } - @Override public void postStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptor.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptor.java index 96d71fa5..0c46e0e5 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptor.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptor.java @@ -42,19 +42,6 @@ public interface StateMachineInterceptor { */ Message preEvent(Message message, StateMachine stateMachine); - /** - * Called prior of a state change. Throwing an exception - * from this method will stop a state change logic. - * - * @param state the state - * @param message the message - * @param transition the transition - * @param stateMachine the state machine - * @deprecated in favour of {@link #preStateChange(State, Message, Transition, StateMachine, StateMachine)} - */ - void preStateChange(State state, Message message, Transition transition, - StateMachine stateMachine); - /** * Called prior of a state change. Throwing an exception * from this method will stop a state change logic. @@ -68,18 +55,6 @@ public interface StateMachineInterceptor { void preStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine); - /** - * Called after a state change. - * - * @param state the state - * @param message the message - * @param transition the transition - * @param stateMachine the state machine - * @deprecated in favour of {@link #postStateChange(State, Message, Transition, StateMachine, StateMachine)} - */ - void postStateChange(State state, Message message, Transition transition, - StateMachine stateMachine); - /** * Called after a state change. * diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorAdapter.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorAdapter.java index fb0f9c73..0af32e0d 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorAdapter.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 the original author or authors. + * Copyright 2015-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,21 +36,11 @@ public class StateMachineInterceptorAdapter implements StateMachineInterce return message; } - @Override - public void preStateChange(State state, Message message, Transition transition, - StateMachine stateMachine) { - } - @Override public void preStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { } - @Override - public void postStateChange(State state, Message message, Transition transition, - StateMachine stateMachine) { - } - @Override public void postStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorList.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorList.java index 18e108e1..b159f75f 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorList.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineInterceptorList.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 the original author or authors. + * Copyright 2015-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -100,7 +100,6 @@ public class StateMachineInterceptorList { public void preStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { for (StateMachineInterceptor interceptor : interceptors) { - interceptor.preStateChange(state, message, transition, stateMachine); interceptor.preStateChange(state, message, transition, stateMachine, rootStateMachine); } } @@ -118,7 +117,6 @@ public class StateMachineInterceptorList { public void postStateChange(State state, Message message, Transition transition, StateMachine stateMachine, StateMachine rootStateMachine) { for (StateMachineInterceptor interceptor : interceptors) { - interceptor.postStateChange(state, message, transition, stateMachine); interceptor.postStateChange(state, message, transition, stateMachine, rootStateMachine); } } diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java index 0b8bd127..57523a2a 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 the original author or authors. + * Copyright 2015-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -1328,11 +1328,6 @@ public class DocsConfigurationSampleTests extends AbstractStateMachineTests { return stateContext; } - @Override - public void preStateChange(State state, Message message, - Transition transition, StateMachine stateMachine) { - } - @Override public void preStateChange(State state, Message message, Transition transition, StateMachine stateMachine, @@ -1344,11 +1339,6 @@ public class DocsConfigurationSampleTests extends AbstractStateMachineTests { return stateContext; } - @Override - public void postStateChange(State state, Message message, - Transition transition, StateMachine stateMachine) { - } - @Override public void postStateChange(State state, Message message, Transition transition, StateMachine stateMachine, diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java index 59d6f833..a28e88c8 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java @@ -276,11 +276,12 @@ public class JoinStateTests extends AbstractStateMachineTests { machine.addStateMachineInterceptor(new StateMachineInterceptorAdapter() { @Override public void postStateChange(State state, Message message, - Transition transition, StateMachine stateMachine) { + Transition transition, StateMachine stateMachine, + StateMachine rootStateMachine) { if (state.getId() == TestStates.S4) { nullCheck.set(transition == null); } - super.postStateChange(state, message, transition, stateMachine); + super.postStateChange(state, message, transition, stateMachine, rootStateMachine); } }); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/support/StateChangeInterceptorTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/support/StateChangeInterceptorTests.java index 8dc66b93..fa44f92a 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/support/StateChangeInterceptorTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/support/StateChangeInterceptorTests.java @@ -74,8 +74,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { doSendEventAndConsumeAll(machine, Events.C); assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(3); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S0, States.S2, States.S21, States.S211); @@ -106,8 +104,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S1); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); @@ -117,8 +113,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S2); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); @@ -128,8 +122,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S0); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); } @@ -156,8 +148,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S2); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); } @@ -184,13 +174,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S2); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); - assertThat(interceptor.postStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.postStateChangeCount1).isEqualTo(1); - assertThat(interceptor.preStateChangeStates1).hasSize(1); - assertThat(interceptor.postStateChangeStates1).hasSize(1); - assertThat(interceptor.preStateChangeStates1.get(0).getId()).isEqualTo(interceptor.postStateChangeStates1.get(0).getId()); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); assertThat(interceptor.postStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); @@ -222,13 +205,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S3); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); - assertThat(interceptor.postStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.postStateChangeCount1).isEqualTo(1); - assertThat(interceptor.preStateChangeStates1).hasSize(1); - assertThat(interceptor.postStateChangeStates1).hasSize(1); - assertThat(interceptor.preStateChangeStates1.get(0).getId()).isEqualTo(interceptor.postStateChangeStates1.get(0).getId()); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); assertThat(interceptor.postStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); @@ -260,8 +236,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S1); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); @@ -271,8 +245,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(1); assertThat(machine.getState().getIds()).containsOnly(States.S2); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(1); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(1); } @@ -299,23 +271,11 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(listener.stateChangedCount).isEqualTo(2); assertThat(machine.getState().getIds()).containsOnly(States.S2); - assertThat(interceptor.preStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.preStateChangeCount1).isEqualTo(2); assertThat(interceptor.preStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.preStateChangeCount2).isEqualTo(2); - assertThat(interceptor.postStateChangeLatch1.await(2, TimeUnit.SECONDS)).isTrue(); - assertThat(interceptor.postStateChangeCount1).isEqualTo(2); assertThat(interceptor.postStateChangeLatch2.await(2, TimeUnit.SECONDS)).isTrue(); assertThat(interceptor.postStateChangeCount2).isEqualTo(2); - assertThat(interceptor.preStateChangeStates1).hasSize(2); - assertThat(interceptor.postStateChangeStates1).hasSize(2); - - assertThat(interceptor.preStateChangeStates1.get(0).getId()).isEqualTo(States.S1); - assertThat(interceptor.preStateChangeStates1.get(1).getId()).isEqualTo(States.S2); - - assertThat(interceptor.postStateChangeStates1.get(0).getId()).isEqualTo(States.S1); - assertThat(interceptor.postStateChangeStates1.get(1).getId()).isEqualTo(States.S2); } @Configuration @@ -667,17 +627,11 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { private static class TestStateChangeInterceptor implements StateMachineInterceptor { - volatile CountDownLatch preStateChangeLatch1 = new CountDownLatch(1); volatile CountDownLatch preStateChangeLatch2 = new CountDownLatch(1); - volatile CountDownLatch postStateChangeLatch1 = new CountDownLatch(1); volatile CountDownLatch postStateChangeLatch2 = new CountDownLatch(1); - volatile int preStateChangeCount1 = 0; volatile int preStateChangeCount2 = 0; - volatile int postStateChangeCount1 = 0; volatile int postStateChangeCount2 = 0; - ArrayList> preStateChangeStates1 = new ArrayList<>(); ArrayList> preStateChangeStates2 = new ArrayList<>(); - ArrayList> postStateChangeStates1 = new ArrayList<>(); ArrayList> postStateChangeStates2 = new ArrayList<>(); @Override @@ -685,14 +639,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { return message; } - @Override - public void preStateChange(State state, Message message, - Transition transition, StateMachine stateMachine) { - preStateChangeStates1.add(state); - preStateChangeCount1++; - preStateChangeLatch1.countDown(); - } - @Override public void preStateChange(State state, Message message, Transition transition, StateMachine stateMachine, @@ -702,14 +648,6 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { preStateChangeLatch2.countDown(); } - @Override - public void postStateChange(State state, Message message, - Transition transition, StateMachine stateMachine) { - postStateChangeStates1.add(state); - postStateChangeCount1++; - postStateChangeLatch1.countDown(); - } - @Override public void postStateChange(State state, Message message, Transition transition, StateMachine stateMachine, @@ -730,17 +668,11 @@ public class StateChangeInterceptorTests extends AbstractStateMachineTests { } public void reset(int c1) { - preStateChangeLatch1 = new CountDownLatch(c1); preStateChangeLatch2 = new CountDownLatch(c1); - preStateChangeCount1 = 0; preStateChangeCount2 = 0; - postStateChangeLatch1 = new CountDownLatch(c1); postStateChangeLatch2 = new CountDownLatch(c1); - postStateChangeCount1 = 0; postStateChangeCount2 = 0; - preStateChangeStates1.clear(); preStateChangeStates2.clear(); - postStateChangeStates1.clear(); postStateChangeStates2.clear(); }