Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.2
-
None
-
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Description
I am using ODE 1.2 for my company,when I use forEach activity,I find it fails when it comes
to completionCondition.It doesn't work as BPEL 2.0 specfication states.Then I try it out,now
it works.The following is my way to fix this problem:
(1)modify constructor of class org.apache.ode.bpel.compiler.bom.BpelObjectFactory, add these
two statements:
_mappings.put(Bpel20QNames.FINAL_COMPLETION_CONDITION, CompletionCondition.class);
_mappings.put(Bpel20QNames.FINAL_BRANCHES, Expression.class);
(2)modify class org.apache.ode.bpel.compiler.bom.CompletionCondition,add method getBranch:
public Expression getBranch()
(3)modify compile function of class org.apache.ode.bpel.compiler.ForEachGenerator:
replace
oforEach.completionCondition.branchCount = _context.compileExpr(forEach.getCompletionCondition());
for
oforEach.completionCondition.branchCount = _context.compileExpr(forEach.getCompletionCondition().getBranch());
I hope you will fix this problem in the main source branch as soon as possible,thank you.