You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2010/12/02 20:04:21 UTC

svn commit: r1041536 - /ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java

Author: vanto
Date: Thu Dec  2 19:04:21 2010
New Revision: 1041536

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

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

Modified: ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java
URL: http://svn.apache.org/viewvc/ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java?rev=1041536&r1=1041535&r2=1041536&view=diff
==============================================================================
--- ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java (original)
+++ ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java Thu Dec  2 19:04:21 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;
                 }