You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by sa...@apache.org on 2013/05/10 11:56:32 UTC

git commit: ODE-992: Added support for specifying xpath expression within CDATA section for propertyAlias/query

Updated Branches:
  refs/heads/master 69102e435 -> 79f121f3b


ODE-992: Added support for specifying xpath expression within CDATA section for propertyAlias/query


Project: http://git-wip-us.apache.org/repos/asf/ode/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/79f121f3
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/79f121f3
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/79f121f3

Branch: refs/heads/master
Commit: 79f121f3b2d0224c35910fbf306609ebeb6b87b2
Parents: 69102e4
Author: sathwik <sa...@apache.org>
Authored: Fri May 10 15:21:54 2013 +0530
Committer: sathwik <sa...@apache.org>
Committed: Fri May 10 15:21:54 2013 +0530

----------------------------------------------------------------------
 .../TestCorrelationJoin/CorrelationMultiTest.wsdl  |    2 +-
 .../apache/ode/bpel/compiler/bom/Expression.java   |    6 +++++-
 .../compiler/XPath20ExpressionCompilerImpl.java    |    2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode/blob/79f121f3/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl
----------------------------------------------------------------------
diff --git a/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl b/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl
index eb4c4b1..b6d8439 100644
--- a/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl
+++ b/axis2-war/src/test/resources/TestCorrelationJoin/CorrelationMultiTest.wsdl
@@ -113,7 +113,7 @@
     <prop:property name="testCorrelationID2" type="xsd:string"/>
     <prop:propertyAlias propertyName="tns:testCorrelationID2" messageType="tns:HeaderTestMessage" part="TestPart">
         <prop:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
-            correlationID2
+            <![CDATA[correlationID2]]>
         </prop:query>
     </prop:propertyAlias>
 

http://git-wip-us.apache.org/repos/asf/ode/blob/79f121f3/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/Expression.java
----------------------------------------------------------------------
diff --git a/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/Expression.java b/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/Expression.java
index 7137b55..808f89e 100644
--- a/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/Expression.java
+++ b/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/Expression.java
@@ -41,13 +41,17 @@ public class Expression extends BpelObject {
 
     public Node  getExpression(){
         getElement().normalize();
-        for (Node n = getElement().getFirstChild(); n != null; n = n.getNextSibling())
+        for (Node n = getElement().getFirstChild(); n != null; n = n.getNextSibling()){
             switch (n.getNodeType()) {
             case Node.TEXT_NODE:
+                if(n.getNodeValue().trim().length() > 0) return n;
+                else if(n.getNextSibling() != null) continue;
+                else return n;
             case Node.ELEMENT_NODE:
             case Node.CDATA_SECTION_NODE:
                 return n;
             }
+        }
 
         return null;
     }

http://git-wip-us.apache.org/repos/asf/ode/blob/79f121f3/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java
----------------------------------------------------------------------
diff --git a/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java b/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java
index edb5d7a..dc35969 100644
--- a/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java
+++ b/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java
@@ -131,7 +131,7 @@ public class XPath20ExpressionCompilerImpl implements ExpressionCompiler {
         if (node == null) {
             throw new CompilationException(__msgs.errEmptyExpression(source.getURI(), new QName(source.getElement().getNamespaceURI(), source.getElement().getNodeName())));
         }
-        if (node.getNodeType() != Node.TEXT_NODE) {
+        if (node.getNodeType() != Node.TEXT_NODE && node.getNodeType() != Node.CDATA_SECTION_NODE) {
             throw new CompilationException(__msgs.errUnexpectedNodeTypeForXPath(DOMUtils.domToString(node)));
         }
         xpathStr = node.getNodeValue();