You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ka...@apache.org on 2009/01/08 02:17:49 UTC
svn commit: r732579 - in
/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime:
CompensationHandler.java SCOPE.java SEQUENCE.java
Author: karthick
Date: Wed Jan 7 17:17:49 2009
New Revision: 732579
URL: http://svn.apache.org/viewvc?rev=732579&view=rev
Log:
Respect the order defined by control dependencies during compensation (see section 12.5.2 of the spec).
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/CompensationHandler.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java
Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/CompensationHandler.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/CompensationHandler.java?rev=732579&r1=732578&r2=732579&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/CompensationHandler.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/CompensationHandler.java Wed Jan 7 17:17:49 2009
@@ -28,7 +28,7 @@
/**
* A handle to a compensation handler.
*/
-public class CompensationHandler implements Serializable {
+public class CompensationHandler implements Serializable, Comparable<CompensationHandler> {
private static final long serialVersionUID = 1L;
/** The scope to which this compensation handler belongs. */
@@ -65,4 +65,8 @@
return Collections.emptySet();
}
+ public int compareTo(CompensationHandler that) {
+ return (int) (that.scopeEndTime - this.scopeEndTime);
+ }
+
}
Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java?rev=732579&r1=732578&r2=732579&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SCOPE.java Wed Jan 7 17:17:49 2009
@@ -117,7 +117,8 @@
if (null == scope || ch.compensated.oscope.equals(scope))
out.add(ch);
}
- // TODO: sort out in terms of completion order
+ // sort out in terms of completion order
+ Collections.sort(out);
return out;
}
Modified: ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java?rev=732579&r1=732578&r2=732579&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java (original)
+++ ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java Wed Jan 7 17:17:49 2009
@@ -34,6 +34,8 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import java.util.TreeSet;
+
import org.w3c.dom.Element;
/**
@@ -99,7 +101,7 @@
}
public void completed(FaultData faultData, Set<CompensationHandler> compensations) {
- HashSet<CompensationHandler> comps = new HashSet<CompensationHandler>(_compensations);
+ TreeSet<CompensationHandler> comps = new TreeSet<CompensationHandler>(_compensations);
comps.addAll(compensations);
if (faultData != null || _terminateRequested || _remaining.size() <= 1) {
deadPathRemaining(_remaining);