You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by je...@apache.org on 2010/11/24 14:22:53 UTC

svn commit: r1038597 - /ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java

Author: jeffyu
Date: Wed Nov 24 13:22:52 2010
New Revision: 1038597

URL: http://svn.apache.org/viewvc?rev=1038597&view=rev
Log:
* ODE-900, update the boolean data type return value.

Modified:
    ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java

Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java?rev=1038597&r1=1038596&r2=1038597&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java Wed Nov 24 13:22:52 2010
@@ -68,6 +68,8 @@ class JaxenContexts implements FunctionC
 
     /** Static, thread-safe singleton implementing default XPath functions */
     private static final FunctionContext __defaultXPathFunctions = XPathFunctionContext.getInstance();
+    
+    private static final QName BOOLEAN = new QName("http://www.w3.org/2001/XMLSchema", "boolean");
 
     private OXPath10Expression _oxpath;
     private EvaluationContext _xpathEvalCtx;
@@ -186,7 +188,13 @@ class JaxenContexts implements FunctionC
                 }
 
                 if (_xpathEvalCtx.narrowTypes() && type instanceof OXsdTypeVarType && ((OXsdTypeVarType)type).simple) {
-                    return variableNode.getTextContent();
+                	String value = variableNode.getTextContent();
+                	OXsdTypeVarType theType = (OXsdTypeVarType)type;
+                	
+                	if (BOOLEAN.equals(theType.xsdType)) {
+                		return new Boolean(value) ;
+                	}
+                    return value;
                 } else {
                     return variableNode;
                 }