You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by at...@apache.org on 2014/10/11 13:06:42 UTC
svn commit: r1631037 -
/commons/proper/scxml/trunk/src/main/java/org/apache/commons/scxml2/semantics/SCXMLSemanticsImpl.java
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);
}
}