[
https://issues.apache.org/jira/browse/SCXML-203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ate Douma resolved SCXML-203.
-----------------------------
Resolution: Fixed
> Calculation of states to be entered can be depending on states to be exited
> and thereby also their possible history
> -------------------------------------------------------------------------------------------------------------------
>
> Key: SCXML-203
> URL: https://issues.apache.org/jira/browse/SCXML-203
> Project: Commons SCXML
> Issue Type: Bug
> Affects Versions: 2.0
> Reporter: Ate Douma
> Assignee: Ate Douma
> Priority: Minor
> Fix For: 2.0
>
>
> Currently the SCXMLSemantics implementation calculates the states to be
> exited and entered upfront, before the actual exiting and entering is
> performed.
> This is done explicitly to be able to ensure the resulting active states
> configuration is a valid one.
> However, the currently implementation overlooks the fact that for certain
> transitions the states exited may have to be re-entered again. And if for
> those exited state(s) history is recorded, then this might influence and
> change the resulting set of entered states.
> Thus the current implementation therefore needs to be corrected for this.
> However, following the exact order of processing and execution as defined by
> SCXML specification its algorithm for SCXML processing will result in exiting
> states before the determination of the states to be entered. The resulting
> active state configuration is 'assumed' to be always valid thereafter.
>
> To be able to still ensure the resulting active state configuration to be
> valid *before* actually transition to it (like we do now), the calculation of
> the states to exit will now be done by also upfront recording the histories
> for these states (if applicable) as temporary configurations in the Step
> itself.
> When the step to be taken is ensured to be valid, these 'pre-recorded'
> histories will be persisted to the SCInstance when the states are actually
> exited, while they already can be used before to determine the proper and
> correct states to enter if needed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)