Author: assaf
Date: Fri Nov 10 15:23:07 2006
New Revision: 473571
URL: http://svn.apache.org/viewvc?view=rev&rev=473571
Log:
Removed SJF: suppressJoinFailure is now handled by ACTIVITYGUARD without
creating a fake scope, see BPEL 2.0 change in public review draft
Modified:
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OActivity.java
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ACTIVITYGUARD.java
incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-cancel.bpel
Modified:
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java?view=diff&rev=473571&r1=473570&r2=473571
==============================================================================
---
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
(original)
+++
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
Fri Nov 10 15:23:07 2006
@@ -730,49 +730,19 @@
break;
}
- OActivity ret;
+ OActivity compiled;
try {
- if (_supressJoinFailure)
- ret = compileSJF(source);
- else
- ret = compileSLC(source);
+ compiled = (source instanceof ScopeLikeActivity) ?
+ compileSLC((ScopeLikeActivity)source) :
+ compileActivity(source);
+ compiled.suppressJoinFailure = _supressJoinFailure;
} finally {
_supressJoinFailure = previousSupressJoinFailure;
}
-
if (__log.isDebugEnabled())
- __log.debug("Compiled activity " + ret);
-
- return ret;
- }
-
- private OActivity compileSJF(final Activity source) {
- final OScope oscope = new OScope(_oprocess, getCurrent());
- oscope.name = createName(source);
- oscope.debugInfo = createDebugInfo(source, "suppress join failure
scope for " + source);
- DefaultActivityGenerator.defaultExtensibilityElements(oscope, source);
-
- compile(oscope, null, new Runnable() {
- public void run() {
- oscope.activity = compileSLC(source);
- final OCatch joinFailureCatch = new OCatch(_oprocess,
getCurrent());
- joinFailureCatch.name = "__suppressJoinFailureCatch:" +
oscope.name;
- joinFailureCatch.debugInfo = createDebugInfo(source, "suppress
join failure catch for " + source);
- compile(joinFailureCatch, null, new Runnable() {
- public void run() {
- joinFailureCatch.faultName =
_oprocess.constants.qnJoinFailure;
- joinFailureCatch.faultVariable = null;
- joinFailureCatch.activity =
createDefaultCompensateActivity(source, "Auto-generated compensation for
suppress-join-failure handler for " + source);
- }
- });
-
- oscope.faultHandler = new OFaultHandler(_oprocess);
- oscope.faultHandler.catchBlocks.add(joinFailureCatch);
- compile((TerminationHandler) null);
- compile((CompensationHandler)null);
- }});
- return oscope;
+ __log.debug("Compiled activity " + compiled);
+ return compiled;
}
private OCompensate createDefaultCompensateActivity(BpelObject source,
String desc) {
@@ -782,36 +752,23 @@
return activity;
}
- public OScope compileSLC(final ScopeLikeActivity source, final
OScope.Variable[] variables) {
+ public OScope compileSLC(final ScopeLikeActivity source) {
final OScope implicitScope = new OScope(_oprocess, getCurrent());
implicitScope.name = createName(source);
implicitScope.debugInfo = createDebugInfo(source, "Scope-like
construct " + source);
compileScope(implicitScope, source.getScope(), new Runnable() {
public void run() {
- for (OScope.Variable v : variables) {
- v.declaringScope = implicitScope;
- implicitScope.addLocalVariable(v);
- }
-
if (source instanceof ScopeActivity)
implicitScope.activity =
compile(((ScopeActivity)source).getChildActivity());
else
- implicitScope.activity = compileActivity(true, source);
-
+ implicitScope.activity = compileActivity(source);
}
});
return implicitScope;
}
- public OActivity compileSLC(final Activity source) {
- if (source instanceof ScopeLikeActivity)
- return compileSLC((ScopeLikeActivity)source, new
OScope.Variable[0]);
-
- return compileActivity(true, source);
- }
-
- private OActivity compileActivity(final boolean doLinks, final Activity
source) {
+ private OActivity compileActivity(final Activity source) {
final ActivityGenerator actgen = findActivityGen(source);
final OActivity oact = actgen.newInstance(source);
oact.name = createName(source);
@@ -819,8 +776,7 @@
_compiledActivities.add(oact);
compile(oact, source, new Runnable() {
public void run() {
- if (doLinks)
- compileLinks(source);
+ compileLinks(source);
actgen.compile(oact,source);
}
});
Modified:
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OActivity.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OActivity.java?view=diff&rev=473571&r1=473570&r2=473571
==============================================================================
---
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OActivity.java
(original)
+++
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OActivity.java
Fri Nov 10 15:23:07 2006
@@ -31,6 +31,7 @@
static final long serialVersionUID = -1L ;
public OExpression joinCondition;
+ public boolean suppressJoinFailure;
public final Set<OLink>sourceLinks = new HashSet<OLink>();
public final Set<OLink>targetLinks = new HashSet<OLink>();
public String name;
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ACTIVITYGUARD.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ACTIVITYGUARD.java?view=diff&rev=473571&r1=473570&r2=473571
==============================================================================
---
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ACTIVITYGUARD.java
(original)
+++
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ACTIVITYGUARD.java
Fri Nov 10 15:23:07 2006
@@ -90,10 +90,15 @@
instance(createActivity(activity));
instance(new TCONDINTERCEPT(activity.parent));
} else {
- FaultData fault = null;
- // TODO: need to check suppressJoinFailure
- fault =
createFault(_oactivity.getOwner().constants.qnJoinFailure,_oactivity);
- _self.parent.completed(fault, CompensationHandler.emptySet());
+ if (_oactivity.suppressJoinFailure) {
+ _self.parent.completed(null,
CompensationHandler.emptySet());
+ if (__log.isDebugEnabled())
+ __log.debug("Join condition false, suppress join
failureon activity " + _self.aId);
+ } else {
+ FaultData fault = null;
+ fault =
createFault(_oactivity.getOwner().constants.qnJoinFailure,_oactivity);
+ _self.parent.completed(fault,
CompensationHandler.emptySet());
+ }
// Dead path activity.
dpe(_oactivity);
Modified:
incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-cancel.bpel
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-cancel.bpel?view=diff&rev=473571&r1=473570&r2=473571
==============================================================================
---
incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-cancel.bpel
(original)
+++
incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-cancel.bpel
Fri Nov 10 15:23:07 2006
@@ -66,9 +66,7 @@
partnerLink="instantiatingPartnerLink"
portType="tns:ResponsePortType"
operation="respond"
- inputVariable="response"
- suppressJoinFailure="yes">
- </invoke>
+ inputVariable="response"/>
</sequence>
</flow>
</sequence>