You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/10/14 20:39:15 UTC
svn commit: r704600 -
/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java
Author: mriou
Date: Tue Oct 14 11:39:15 2008
New Revision: 704600
URL: http://svn.apache.org/viewvc?rev=704600&view=rev
Log:
Makes BPEL properties readable like any other variable.
Modified:
ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java
Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java?rev=704600&r1=704599&r2=704600&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/ExprEvaluationContextImpl.java Tue Oct 14 11:39:15 2008
@@ -24,10 +24,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.common.CorrelationKey;
import org.apache.ode.bpel.evt.ScopeEvent;
import org.apache.ode.bpel.evt.VariableReadEvent;
+import org.apache.ode.utils.DOMUtils;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
+import org.w3c.dom.Document;
/**
* The context in which BPEL expressions are evaluated. This class is handed of the OExpression
@@ -68,6 +71,13 @@
Node ret;
if (variable.type instanceof OConstantVarType) {
ret = ((OConstantVarType) variable.type).getValue();
+ } else if (variable.type instanceof OPropertyVarType) {
+ CorrelationSetInstance set = _scopeInstance.resolve(variable.name);
+ CorrelationKey key = _native.readCorrelation(set);
+ if (key == null) return null;
+ String keyValue = key.getValues()[0];
+ Document doc = DOMUtils.newDocument();
+ ret = doc.createTextNode(keyValue);
} else {
VariableInstance varInstance = _scopeInstance.resolve(variable);
if (varInstance == null)