- Fixing issue when i.e. choice pseudostate is not named which
then cause some other internal errors in a model parser.
- As pseudostate need to have a name, we now auto generate with
pseudostate type name + counter.
- Fixes#591
- Fix a bug where multiple end states in a region failed to complete
if transition was from a super state which in case of join used to track
a list of end states. This is now changed to track list of lists and
we can now track that at least one end state were reached per region.
- Fixes#619
- Make kryo in AbstractKryoStateMachineSerialisationService aware of same classloader
most likely use in an app. This takes away some of those weird kryo
errors you see with a web apps.
- Add context references concept to StateMachineContext which can be used
to store reference id and then individual running machines with regions
can independently store their states. Whole machine state can then get
restored more accurately.
- Add new `region(String id)` to StateConfigurer which can be used to set region id.
This is equivalent as setting region id with json based machine structure where
you need to define region id's with orthogonal regions are in use.
- Add new datajpamultipersist sample showing running regions and how those are
persisted to a database.
- Fixes#617
- Fixes#605
- Fixes#615
- Fix case where submachine entry via entrypoint wrongly
caused its initial state to get activated before
entering transition target leading out from entrypoint.
- Fixes#577
- Refactor UmlStateMachineModelFactory and UmlUtils
so that eclipse emf unloads a resource and thus
should work better with gargage collections.
- Also try to clean out tmp files.
- Fixes#572
- When comparing states that are of type Enum, the check
always fails causing the state machine to incorrectly
use the starting state regardless of where it was previously.
- Added unit test to test correct state is set on restart.
However, added changes have no effect for this test. The issue is being
caused elsewhere. When loading from JPA, ss.getId() instanceof S
is always false causing the previous state to never be set.
- Fixes#537
- Add new concepts around executing state do actions
allowing to use timeouts via StateDoActionPolicy.
- Global config per machine or via event headers.
- Backport #501
- Relates #504
- Currently into as internal new feature, add state
completed concecept and use it in various places.
- Main focus for this commit is to add support using
anonymous transitions with state do actions which
requires proper completion schematics.
- Internal functionality here will probably expose to
user level in future releases using various other
concepts.
- Backport #466
- Relates #504