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);
}
}