Author: ate Date: Sat Oct 11 11:06:42 2014 New Revision: 1631037 URL: http://svn.apache.org/r1631037 Log: SCXML-211: fix for bug in current SCXML specification for addDescendantStatesToEnter algorithm
Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java Modified: commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java URL: http://svn.apache.org/viewvc/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java?rev=1631037&r1=1631036&r2=1631037&view=diff ============================================================================== --- commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java (original) +++ commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java Sat Oct 11 11:06:42 2014 @@ -476,11 +476,15 @@ public class SCXMLSemanticsImpl implemen step.getDefaultHistoryTransitions().put(h.getParent(), h.getTransition()); for (TransitionTarget dtt : h.getTransition().getTargets()) { addDescendantStatesToEnter(exctx, step, dtt); + } + for (TransitionTarget dtt : h.getTransition().getTargets()) { addAncestorStatesToEnter(exctx, step, dtt, tt.getParent()); } } else { for (TransitionTarget dtt : lastConfiguration) { addDescendantStatesToEnter(exctx, step, dtt); + } + for (TransitionTarget dtt : lastConfiguration) { addAncestorStatesToEnter(exctx, step, dtt, tt.getParent()); } } @@ -499,6 +503,8 @@ public class SCXMLSemanticsImpl implemen step.getDefaultEntrySet().add(es); for (TransitionTarget dtt : ((State)es).getInitial().getTransition().getTargets()) { addDescendantStatesToEnter(exctx, step, dtt); + } + for (TransitionTarget dtt : ((State)es).getInitial().getTransition().getTargets()) { addAncestorStatesToEnter(exctx, step, dtt, tt); } }