Author: assaf
Date: Fri Nov 10 16:42:19 2006
New Revision: 473600
URL: http://svn.apache.org/viewvc?view=rev&rev=473600
Log:
Added implictScope flag to OScope
Modified:
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/api/CompilerContext.java
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java
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=473600&r1=473599&r2=473600
==============================================================================
---
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 16:42:19 2006
@@ -733,8 +733,8 @@
OActivity compiled;
try {
compiled = (source instanceof ScopeLikeActivity) ?
- compileSLC((ScopeLikeActivity)source) :
- compileActivity(source);
+ compileSLC((ScopeLikeActivity)source, new OScope.Variable[0]) :
+ compileActivity(true, source);
compiled.suppressJoinFailure = _supressJoinFailure;
} finally {
_supressJoinFailure = previousSupressJoinFailure;
@@ -752,23 +752,29 @@
return activity;
}
- public OScope compileSLC(final ScopeLikeActivity source) {
+ public OScope compileSLC(final ScopeLikeActivity source, final
OScope.Variable[] variables) {
final OScope implicitScope = new OScope(_oprocess, getCurrent());
+ implicitScope.implicitScope = true;
implicitScope.name = createName(source);
implicitScope.debugInfo = createDebugInfo(source, "Scope-like
construct " + source);
compileScope(implicitScope, source.getScope(), new Runnable() {
public void run() {
+ compileLinks(source);
+ 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(source);
+ implicitScope.activity = compileActivity(false, source);
}
});
return implicitScope;
}
- private OActivity compileActivity(final Activity source) {
+ private OActivity compileActivity(final boolean doLinks, final Activity
source) {
final ActivityGenerator actgen = findActivityGen(source);
final OActivity oact = actgen.newInstance(source);
oact.name = createName(source);
@@ -776,7 +782,8 @@
_compiledActivities.add(oact);
compile(oact, source, new Runnable() {
public void run() {
- compileLinks(source);
+ if (doLinks)
+ compileLinks(source);
actgen.compile(oact,source);
}
});
Modified:
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/api/CompilerContext.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/api/CompilerContext.java?view=diff&rev=473600&r1=473599&r2=473600
==============================================================================
---
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/api/CompilerContext.java
(original)
+++
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/api/CompilerContext.java
Fri Nov 10 16:42:19 2006
@@ -84,7 +84,7 @@
OActivity compile(Activity child)
throws CompilationException;
- OScope compileSLC(ScopeLikeActivity child);
+ OScope compileSLC(ScopeLikeActivity child, Variable[] variables);
OPartnerLink resolvePartnerLink(String name)
throws CompilationException;
Modified:
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java?view=diff&rev=473600&r1=473599&r2=473600
==============================================================================
---
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java
(original)
+++
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java
Fri Nov 10 16:42:19 2006
@@ -58,6 +58,8 @@
/** The descendants of this scope that can be compensated from the FH/CH
of this scope. */
public final Set<OScope> compensatable = new HashSet<OScope>();
+ public boolean implicitScope;
+
public OScope(OProcess owner, OActivity parent) {
super(owner, parent);
}