You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by as...@apache.org on 2006/10/17 23:31:21 UTC

svn commit: r465063 - /incubator/ode/trunk/bpel-obj/src/main/java/org/apache/ode/bpel/o/OScope.java

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);