Commit Graph

515 Commits

Author SHA1 Message Date
Janne Valkealahti
bbca0ea504 Fix possible deadlock
- Removing some sync blocks which imho
  are not needed anymore.
- Adding some smoke tests.
- Relates to #364
2017-06-10 09:11:35 +01:00
Janne Valkealahti
78e3e479a7 Add support for multiple end states with javaconfig
- Add missing support for defining more than one
  end states and as it's just missing from javaconfig.
- Fixes #368
2017-06-09 10:06:39 +01:00
Janne Valkealahti
1dd3790e4a @WithStateMachine may register too many processors
- Change processor registration so that if @WithStateMachine is
  used with 'id', 'name' is skipped because it defaults to 'stateMachine'
  and would cause extra registration.
- Fixes #370
2017-06-08 09:52:49 +01:00
Janne Valkealahti
7fccb6db94 Fix PreStateChange interceptors being called twice for END states
- Backport #367
- Relates to #372
2017-06-08 09:40:09 +01:00
Spring Buildmaster
3eec94fe0c Next development version 2017-05-19 07:45:40 +00:00
Janne Valkealahti
222c405682 Update changelog 2017-05-19 08:05:01 +01:00
Janne Valkealahti
ca02c2cecb Add additinal sync
- Change how some internals in
  AbstractStateMachine are synchronized
  to limit changes for deadlock.
- Relates #359
2017-05-18 08:53:52 +01:00
Janne Valkealahti
4d98b80358 Handle possible deadlock
- Remove synchronization from scheduleEventQueueProcessing
  method in executor. Looks like this sync is not really needed
  and indeed may cause jvm level deadlocks if threads are used
  for execution.
- Fixes #360
2017-05-15 11:39:27 +01:00
Janne Valkealahti
faae270b4b NPE on sendEvent
- Adding null check for current state
- Fixes #359
2017-05-15 11:37:58 +01:00
Janne Valkealahti
cec0d24035 Support actions with transition via choice/junction pseudostate
- Adding support for javaconfig/uml to define
  actions for transitions leading out from a
  choice or junction states.
- Support for action for incoming transition is
  already implemented as it is defined as normal
  transition.
- Fixes #108
2017-05-05 14:40:00 +01:00
Spring Buildmaster
c0cb4dee44 Next development version 2017-05-03 12:36:28 +00:00
Janne Valkealahti
ecbc1eaf49 Update docs copyright year 2017-05-03 10:46:05 +01:00
Janne Valkealahti
48d860fbb3 Update changelog 2017-05-03 10:35:26 +01:00
Janne Valkealahti
37642b1270 Fix post interceptor call
- Now calling post state interceptor with
  correct/same state as pre.
- Fixes #353
2017-05-03 10:27:40 +01:00
Janne Valkealahti
e25c5c6814 Fix action error in anonymous transition
- Executor is following anonymous transitions in a loop
  and if there is an exception in actions with this transition,
  effectively executor ended into infinite loop.
- No bailing out from this loop if we cannot continue.
- Fixes #344
2017-04-20 09:55:44 +01:00
Janne Valkealahti
33a9c59f39 Prevent debug calls
- Polish to do checks for debug/trace logs
- Fixes #329
2017-03-22 15:52:10 +00:00
Janne Valkealahti
f7a93a7a00 StateMachineContextSerializer handles history and id
- Add missing serialisation for history map and machine id
- Fix possible NPE with extended state
- Fixes #331
- Fixes #333
2017-03-21 11:08:40 +00:00
Spring Buildmaster
e51c7655d6 Next development version 1.2.4.BUILD-SNAPSHOT 2017-03-13 16:08:19 +00:00
Janne Valkealahti
9ef3730fb4 Update changelog 2017-03-13 15:03:58 +00:00
Janne Valkealahti
7a25849e9c StateMachineInterceptorList set() does nothing
- Backport #318 from master
2017-03-08 11:22:34 +00:00
Janne Valkealahti
61a790586a Disarm timers
- Trying to handle scenario where TimerTrigger keeps firing
  even if machine is stopped or has moved away from its
  hosting state.
- Explicitely handle trigger starts/stops in
  DefaultStateMachineExecutor when executor itself
  is started/stopped.
- Fixes #321
2017-03-08 11:02:34 +00:00
Janne Valkealahti
5f8e6c0935 Notify transition before calling its actions
- Add new api to Transition to expose calling
  its actions.
- Modify rest of a framework to first notify before
  calling transtion action.
- Fixes #322
2017-03-07 17:02:35 +00:00
Janne Valkealahti
2a4e792d5f Support Connection Point References
- Add support to uml parser to properly
  detect and use exit/entry points if those
  are used via connection ref points with
  submachine references.
- Fixes #323
2017-03-06 19:56:51 +00:00
Spring Buildmaster
6b2117580a Next development version 1.2.3.BUILD-SNAPSHOT 2017-02-14 13:38:33 +00:00
Janne Valkealahti
46d3fe46e8 Update changelog 2017-02-14 13:04:32 +00:00
Janne Valkealahti
12841bd215 Timer trigger deadlock in DefaultStateMachineExecutor
- Add new tests for DefaultStateMachineExecutor to find
  possible causes for a deadlock.
- Handle lifecycle scenario little differently
  if timer is fired during a executor starting phase
  order to not getting into a deadlock.
- Relates to #315
2017-02-13 14:02:09 +00:00
Janne Valkealahti
1389360950 Better generics handling with adapters
- Modify StateMachineConfiguration and StateMachineFactoryConfiguration
  so that if you have different states and events classes with multiple
  machines or factories, you can autowire by types without
  adding qualifiers.
- Manually try to discover generic types from enclosing adapther class
  and if succesfull pass that information into bean definition
  as ResolvableType.
- Fixes #306
2017-02-10 11:50:28 +00:00
Spring Buildmaster
f3cd30532b Next development version 1.2.2.BUILD-SNAPSHOT 2017-01-17 09:08:38 +00:00
Janne Valkealahti
19bb25d2b7 Update changelog 2017-01-17 08:07:10 +00:00
Janne Valkealahti
48b694fa47 @WithStateMachine with factory and builder
- Add support so that @WithStateMachine can be used with
  machines build via @EnableStateMachineFactory or via
  manual builders.
- Adding new annotation @EnableWithStateMachine to help
  handling needed context configuration.
- Add tests and docs.
- Fixes #292
- Fixes #224
2017-01-10 15:59:29 +00:00
Janne Valkealahti
8bb852cc79 Make autostart smarter
- Factory now listens machine event if autostart
  is requested which should give fully started machine
  i.e. if asynch executor is used. Bails out after 30
  seconds. Further tweaks like allowing user to define
  this time or conditionally not wait could be added later.
- Fix typos.
- Fixes #298
2016-12-29 09:58:04 +00:00
Spring Buildmaster
ea2fa03de9 Next development version 1.2.1.BUILD-SNAPSHOT 2016-12-14 21:47:29 +00:00
Janne Valkealahti
f64f5e96e0 Update changelog 2016-12-14 21:16:36 +00:00
Janne Valkealahti
5bf0fbb365 Update changelog 2016-12-11 16:00:07 +00:00
Janne Valkealahti
f337505fa3 Update docs
- Polish
- Relates to #284
2016-12-11 11:41:48 +00:00
Janne Valkealahti
b26b03e6bb Update docs
- Add intro builder which goes to gh pages
- Relates to #284
2016-12-11 11:31:26 +00:00
Janne Valkealahti
51db570728 Update docs
- Polish
- Relates to #284
2016-12-11 10:58:43 +00:00
Janne Valkealahti
2fad100f3d Update docs
- Add entry/exit point sections to crash course.
- Relates to #284
2016-12-10 18:22:20 +00:00
Janne Valkealahti
3df7f6ea96 Refactor boot class packages
- Should not have any breaking changes, just
  wanted to have a better package structure.
- Fixes #293
2016-12-10 17:43:19 +00:00
Janne Valkealahti
784e446619 Update contribute instructions 2016-12-10 15:47:19 +00:00
Janne Valkealahti
3d9059a075 Update docs
- Add section about machineId
- Relates to #284
2016-12-10 12:27:58 +00:00
Janne Valkealahti
457c924e67 Remove some EventNotAccepted events
- Now only trying to notify those from
  a root machine as same events from childs are
  kinda pointless and just create noise.
- Fixes #287
2016-12-08 12:15:52 +00:00
The Gitter Badger
ab626dc92d Add Gitter badge 2016-12-06 03:18:17 +00:00
Janne Valkealahti
554e374f80 Add tests
- Add tests related to discussion in #288
2016-12-06 03:23:12 +00:00
Janne Valkealahti
19d5232293 Fix fork/join with composite states
- Handle new pseudostate listener registration when
  machine is restored. Make sure that we have only one set
  of listeners by clearing existing ones.
- Fix join issue when regions are partially ended into
  join source states and machine is persisted from that
  moment.
- Lot of new tests to cover possible cases where these
  bugs were hidden.
- Fixes #286
2016-12-03 11:26:57 +00:00
Janne Valkealahti
2cc46585d3 Update changelog 2016-11-28 17:13:19 +00:00
Janne Valkealahti
e5bfc74f16 Update docs
- Better docs for boot support.
- Relates to #270
2016-11-24 13:31:08 +00:00
Janne Valkealahti
922473220d Autoconfigure repositories and entities
- Add auto-config for JPA, MongoDB and Redis
  repositories and their entity classes.
- Fixes #282
2016-11-24 11:42:10 +00:00
Janne Valkealahti
6caf66d1c7 Update docs
- Fix some links
- Update what's new in 1.2
- Relates to #270
2016-11-24 08:16:02 +00:00
Janne Valkealahti
3b7bb8139d Update docs
- Add manual repo config example
  for showcase.
- Relates to #270
2016-11-24 08:03:26 +00:00