Commit Graph

81 Commits

Author SHA1 Message Date
Janne Valkealahti
f24dd481bc Spring cleaning, take 1
- Polish, cleaning, tidy up
- Split listener and context events into new StateMachineObjectSupport
- Polish pseudostate handling
- Extract isSubstate into static util function
- Remove event from State exit/entry.
  Event not needed as function argument because
  it's already wrapped in state context.
- Polish how StateContext is created
- Polish state exit/entry
2015-04-26 18:23:49 +01:00
Janne Valkealahti
9d2d4038e2 Support history pseudostates
- Fixes #50 bug which were revealed by
  trying to use history state concepts.
- Fixes #38 for history features.
- Base functionality for deep and shallow
  histories.
- Some housekeeping and polish before doing
  more system wide spring cleaning.
2015-04-26 10:14:53 +01:00
Janne Valkealahti
d31919fd19 Fix typo in readme
- Fixes #48
- Type when copied template from other spring project.
2015-04-24 18:49:43 +01:00
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
5759fb2180 Set to next build snapshot version 2015-04-14 17:01:32 +01:00
Spring Buildmaster
f8c1554995 Release version 1.0.0.M1 2015-04-14 08:16:46 -07: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
2721437b23 Pump up framework to 4.1.6 2015-04-10 14:32:22 +01:00
Janne Valkealahti
da0e507524 Polish quick example 2015-04-10 09:41:31 +01:00
Janne Valkealahti
f89d201562 Remove javadoc verbose flag 2015-04-10 09:17:36 +01:00
Janne Valkealahti
60e8f0745a Type cast access for ext state variables. 2015-04-10 09:17:28 +01:00
Janne Valkealahti
eae691f4a5 Update readme, add contributing 2015-04-10 08:47:30 +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
f776a0acc3 Tune samples and update ref docs
- Fix cplayer play logic depending if we pressed
  eject or play.
- Updates to ref docs.
2015-04-09 12:05:19 +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
c3891fc482 Tryind to fix some test issues 2015-04-08 10:33:10 +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
45ebce9c64 Updates to docs and samples 2015-04-06 10:56:16 +01:00
Janne Valkealahti
e5c67b1c22 Reference doc updates 2015-04-05 22:26:26 +01:00
Janne Valkealahti
3f3a8bbc65 Updates to cdplayer sample 2015-04-05 18:50:41 +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
ac13ef7fa6 Create dist and docs artifacts 2015-03-24 18:42:18 +00:00
Janne Valkealahti
005bf688c3 Updates to showcase sample 2015-03-22 18:56:32 +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
15a88b902a Revert "updates"
This reverts commit 7f11fdc8f9.
2015-03-21 15:23:22 +00:00
Janne Valkealahti
7f11fdc8f9 updates 2015-03-21 15:21:03 +00:00
Janne Valkealahti
a673615da3 update cdplayer sample 2015-03-21 10:57:27 +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
74af052b72 Add base work for cdplayer sample 2015-03-15 19:39:43 +00:00
Janne Valkealahti
1396856bcf Remove extra system log 2015-03-15 18:29:51 +00:00
Janne Valkealahti
af9bb17517 Update readme 2015-03-15 16:58:49 +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