Author: mriou
Date: Fri Mar 14 09:29:46 2008
New Revision: 637147
URL: http://svn.apache.org/viewvc?rev=637147&view=rev
Log:
ODE-245 Added sequence DPE on fault. Also a minor tweak to avoid double DPE on
a terminated sequence child.
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java?rev=637147&r1=637146&r2=637147&view=diff
==============================================================================
---
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java
(original)
+++
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SEQUENCE.java
Fri Mar 14 09:29:46 2008
@@ -83,7 +83,9 @@
replication(_child.self).terminate();
// Don't do any of the remaining activiites, DPE instead.
- deadPathRemaining();
+ ArrayList<OActivity> remaining = new
ArrayList<OActivity>(_remaining);
+ remaining.remove(0);
+ deadPathRemaining(remaining);
_terminateRequested = true;
instance(ACTIVE.this);
@@ -100,6 +102,7 @@
HashSet<CompensationHandler> comps = new
HashSet<CompensationHandler>(_compensations);
comps.addAll(compensations);
if (faultData != null || _terminateRequested ||
_remaining.size() <= 1) {
+ deadPathRemaining(_remaining);
_self.parent.completed(faultData, comps);
} else /* !fault && ! terminateRequested &&
!remaining.isEmpty */ {
ArrayList<OActivity> remaining = new
ArrayList<OActivity>(_remaining);
@@ -113,8 +116,8 @@
}));
}
- private void deadPathRemaining() {
- for (Iterator<OActivity> i = _remaining.iterator();i.hasNext();)
+ private void deadPathRemaining(List<OActivity> remaining) {
+ for (Iterator<OActivity> i = remaining.iterator();i.hasNext();)
dpe(i.next());
}