- Backport #131fixes#135
- Modify state structure so that nested states and orthogonal
regions can work with deferred events.
- Change executor to work better with deferred events and try
to provide better model for run-to-completion when execution
happens in a threads.
- Add new event defer section in ref docs.
- Add tweaks to DisposableBean.destroy() which integrates
into a lifecycle and properly closes a machine if only
destroy() is called which is a case when `session` scoped
bean is destroyed when http session is invalidated.
- Tests in SessionScopedAnnotationTests and
SessionScopedManualTests for both builder and
annotation config.
- Fixes#112
- Remove most of a static class modifiers from docs
to make things easier if doing copy/paste. Not
all can be removed because some spring inner
config classes has to be static.
- Fixes#123
- Add logging of internal transitions which makes things
a bit more clear with showcase sample.
- Update showcase docs with clarification of use of
nested states.
- Enhancing internal model so that event and its headers can
be passed into action if it's used in an initial sub-state
when transition target its super state.
- Added tests and better docs.
- Fixes#99.
- Fix AbstractStateMachineFactory so that it does not try
to create transitions with null source or target. Basically we
just skip transition source or target which doesn't belong to
region.
- Change DefaultExtendedState to use ConcurrentHashMap so that
there's less change to get into trouble with concurrency.
- Add statechart for tasks recipe.
- Fix various concepts in TasksHandler and its tests.
- Prepare some examples for docs.
- Fixes#74
- 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.