Janne Valkealahti
b45f5ef988
Support choice pseudostate
...
- Adding choice pseudostate with first/then/last
structure which is a synonym for if/elseif/else.
- This is a first attempt to bring better pseudostate
model to a framework.
- Fixes #41
2015-04-23 17:40:34 +01:00
Janne Valkealahti
911901cfb6
Fix base support for region config
...
- Fixes #46
- Add some region/group info in a state configurer so that
we know which states are in a same reqion. Just a simple
uuid for now.
- Send machine started event at end of start and properly
register listener with regions.
- Fix factory not to mess things up with submachines so
correctly track if we have multiple initial states.
2015-04-18 19:39:46 +01:00
Janne Valkealahti
8c481b6a21
Fix bean conflict with spring-security
...
- In ObjectPostProcessorConfiguration change post prosessor
bean name not to be same as in spring security.
- Fixes #37
2015-04-16 13:45:57 +01:00
Janne Valkealahti
9c38014369
Fix javadoc warnings
2015-04-14 15:53:41 +01:00
Janne Valkealahti
0365b72dcb
Polish docs
2015-04-13 19:34:30 +01:00
Janne Valkealahti
29da80c6f7
Add missing javadocs for StateConfigurer
2015-04-12 09:09:25 +01:00
Janne Valkealahti
247c90ad90
Make end state a proper pseudostate
...
- Remove end state from constructors and handle
it as a pseudostate.
- When sm enters state marked with end, stop
machine.
- Added new events which are used to notify sm
start and stop which now makes sense with
a proper end pseudostate.
2015-04-11 09:59:58 +01:00
Janne Valkealahti
da0e507524
Polish quick example
2015-04-10 09:41:31 +01:00
Janne Valkealahti
60e8f0745a
Type cast access for ext state variables.
2015-04-10 09:17:28 +01:00
Janne Valkealahti
771a69e32e
Javadoc fixes
...
- Adding missing javadocs
- Disable javadocs for samples
- Disable api/javadoc for jdk8 which
we get some internal jdk javadoc errors.
- Fixes #31
2015-04-09 16:23:28 +01:00
Janne Valkealahti
b505016455
Add event into state context
...
- This now adds getEvent() into StateContext which
makes it easier to figure out what caused a transition
and also makes life easier in actions.
2015-04-09 12:05:12 +01:00
Janne Valkealahti
487911b4de
StateContext may use wrong statemachine
...
- Tweaking to keep correct statemachine ref around
so that StateContext passed to actions can be
used to send events within submachines.
- This was missed due to missing test and i.e. cdplayer
should transition into playing state directly via
and event sent from action which when closed is
checking if cd is inserted.
- Fixes #33
2015-04-07 22:18:03 +01:00
Janne Valkealahti
e5c67b1c22
Reference doc updates
2015-04-05 22:26:26 +01:00
Janne Valkealahti
8282daf5d8
Fix substate transition
...
- Should now correctly do corrent actions when
transition is between different submachines and
their substates.
- Fixes #32
2015-04-05 10:12:34 +01:00
Janne Valkealahti
a4fcb9da97
Expose extended state
...
- ExtendedState is now exposed via
StateMachine interface.
- Add "sm variables" command to samples.
2015-04-04 10:24:50 +01:00
Janne Valkealahti
cceec5500a
Add flag to disable context events
...
- EnableStateMachineFactory and EnableStateMachine now
have contextEvents defaulting to true which can
be used to disable spring app context events.
- Fixes #28
2015-04-03 23:36:28 +01:00
Janne Valkealahti
e1be34cc92
Fix proper transition into super state
...
- Big conceptual changes how state transitions
are handled which now allows more easy ways
to figure out what to do and where to go.
- Exposing more info via State interface
- Adding tests to samples
- Fixes #30
2015-04-03 10:47:14 +01:00
Janne Valkealahti
85cc2df29e
Ref doc updates
2015-03-28 18:53:23 +00:00
Janne Valkealahti
d108410005
Add proper substate handling for transitions
...
- Now you can define transition in all states
and if substate guard prevents transtition to
happen it will be checked from super state.
2015-03-28 08:45:29 +00:00
Janne Valkealahti
4bf49654b9
Add initial action and fix internal transition event
...
- New InitialTransition with initial action to get
a change to modify variables when sm is started.
- Fixes a case where internal transition did't
send transition event.
2015-03-27 17:39:46 +00:00
Janne Valkealahti
4d0442c3d2
Remove obsolete machine ref in header
...
- No need to pass machine as ref in header
- Moved location of debug message of event queuing
2015-03-22 18:37:06 +00:00
Janne Valkealahti
6e10433b1b
Fixing various aspects of state handling
...
- Factory had a problem to build machines
with deep nested states.
- Fixing listener handling for substates, entry
and exit events.
2015-03-22 18:27:39 +00:00
Janne Valkealahti
073df4e438
Add adapter impl for StateMachineListener
2015-03-21 15:24:56 +00:00
Janne Valkealahti
90051f3989
Add more state events
...
- Now app context and listener are notified when
state is exited or entered.
2015-03-21 10:34:51 +00:00
Janne Valkealahti
dd7a6f5c03
Fix @OnTransition with other annotations
2015-03-21 09:51:16 +00:00
Janne Valkealahti
dff42c95ac
Better support for @OnTransition
...
- We can't use generic enum types in annotations
so adding a feature to support @OnTransition
as meta annotation where user can define their
own states as proper enums still falling back
to @OnTransition.
2015-03-21 09:23:29 +00:00
Janne Valkealahti
bf793d90b1
Tune action handling and concept
...
- Statemachine now available in StateContext
- Added single actions to StateConfigurer instead
of forcing to use Collection.
2015-03-21 09:23:10 +00:00
Janne Valkealahti
1396856bcf
Remove extra system log
2015-03-15 18:29:51 +00:00
Janne Valkealahti
8d79cb0881
Fix extended state and @OnTransition handling
...
- Add better support for enums with @OnTransition fixes #25
- Add enum handling with extended state fixes #26
2015-03-15 16:43:14 +00:00
Janne Valkealahti
9235345a42
Fix state handling with substates
...
- Fixes #23
- Transition with submachine now exists and enters
super state if transition is external.
2015-03-15 11:15:37 +00:00
Janne Valkealahti
3e5efefc33
Guard against null states
2015-03-14 16:19:32 +00:00
Janne Valkealahti
b9b270bf46
Add TimerTrigger
...
- This fixes #gh21
- New TimerTrigger which can be used to schedule
triggers which then may cause transitions.
2015-03-14 11:01:59 +00:00
Janne Valkealahti
1e3fb04614
Better model for triggers
...
- Harmonise how triggers are used
- Now using a trigger context
- Creates a better model so that we add
more trigger types.
2015-03-14 08:20:02 +00:00
Janne Valkealahti
8908a2f19b
Fix missing transitions for top level machine
2015-03-09 11:43:05 +00:00
Janne Valkealahti
e01c5f28c2
Temporary fixes for submachines and regions
2015-03-09 11:42:55 +00:00
Janne Valkealahti
c2d106c617
Tweak how annotation processor is enabled
...
- StateMachineAnnotationPostProcessor is now in its own
StateMachineAnnotationPostProcessorConfiguration which gets
imported automatically from @EnableStateMachine.
2015-03-08 09:19:13 +00:00
Janne Valkealahti
5bdf642005
fix mixups in submachines
2015-03-07 17:51:20 +00:00
Janne Valkealahti
b30ad73e00
Fixes for annotation method handling
...
- adding generics
- tidy up annotation handling for methods
- add EventHeaders annotation
2015-03-07 15:15:46 +00:00
Janne Valkealahti
ed81b1b578
Updates to docs
2015-03-06 15:01:23 +00:00
Janne Valkealahti
de848cda20
Event publish and listener changes
2015-03-01 17:52:54 +00:00
Janne Valkealahti
2ceca88e6a
Region fixes
2015-02-28 17:02:53 +00:00
Janne Valkealahti
714b8131ff
Submachine doesn't work with states on a same level
...
- resolves #20
- create correct state type when substate mixed with
normal states.
2015-02-22 16:01:55 +00:00
Janne Valkealahti
ee2f7b2eb6
Add hierarchical event processing
...
- resolves #19
- add base support for handling events in a submachines
2015-02-22 15:34:10 +00:00
Janne Valkealahti
e6677f19c5
Better config model for substates
...
- streamline state model between config and state machine factory.
- remove SubStateConfigurer and just use StateConfigurer.
2015-02-21 15:48:07 +00:00
Janne Valkealahti
a98e50247d
Tweak annotation config concepts
2015-02-17 09:31:14 +00:00
Janne Valkealahti
e8b5b3d86a
Tune up action generics
...
- change so that pass TestEntryAction instead of its
super interface Action<TestStates, TestEvents>. Doesn't
really matter but makes it much prettier from
user point of view.
2015-02-15 18:14:32 +00:00
Janne Valkealahti
be2709e962
Prepare better docs structure
2015-02-15 16:29:53 +00:00
Janne Valkealahti
cd93fb69cf
Add configuration model for submachines
...
- some cleaning
- refactoring some state concepts to have a better
support for submachines
2015-02-15 15:36:33 +00:00
Janne Valkealahti
d9b72b2e9a
Fix mixup of builder configurers
2015-02-13 08:43:46 +00:00
Janne Valkealahti
25c34a3f7b
Events not send to regions
...
- refactor event processing around state
interfaces order to pass event from a state
machine into a regions.
2015-02-12 10:37:54 +00:00