Author: assaf
Date: Tue Oct 17 14:31:19 2006
New Revision: 465063
URL: http://svn.apache.org/viewvc?view=rev&rev=465063
Log:
Implemented getVisibleVariable() and getVisiblePartnerLink() in OScope
Modified:
incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java
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=465063&r1=465062&r2=465063
==============================================================================
---
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
Tue Oct 17 14:31:19 2006
@@ -89,15 +89,36 @@
}
public Variable getVisibleVariable(String varName) {
- // TODO: implement
- assert false;
- return null; //To change body of created methods use File | Settings
| File Templates.
+ OActivity current = this;
+ Variable variable;
+ while (current != null) {
+ if (current instanceof OScope) {
+ variable = ((OScope)current).getLocalVariable(varName);
+ if (variable != null)
+ return variable;
+ }
+ current = current.getParent();
+ }
+ return null;
}
public OPartnerLink getLocalPartnerLink(String name) {
return partnerLinks.get(name);
}
+ public OPartnerLink getVisiblePartnerLink(String name) {
+ OActivity current = this;
+ OPartnerLink plink;
+ while (current != null) {
+ if (current instanceof OScope) {
+ plink = ((OScope)current).getLocalPartnerLink(name);
+ if (plink != null)
+ return plink;
+ }
+ current = current.getParent();
+ }
+ return null;
+ }
public void addCorrelationSet(CorrelationSet ocset) {
correlationSets.put(ocset.name, ocset);