Author: mriou
Date: Mon Mar  3 11:47:26 2008
New Revision: 633247

URL: http://svn.apache.org/viewvc?rev=633247&view=rev
Log:
Yet another date related bug. Saxon doesn't help us much here.

Added:
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.bpel
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.wsdl
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait.wsdl
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/NewXMLSchema.xsd
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/deploy.xml
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/test.properties
Modified:
    
ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
    
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/java/org/apache/ode/test/DataHandling20Test.java
    
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/DOMUtils.java

Modified: 
ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java?rev=633247&r1=633246&r2=633247&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
 Mon Mar  3 11:47:26 2008
@@ -143,7 +143,7 @@
     }
 
     public Calendar evaluateAsDate(OExpression cexp, EvaluationContext 
context) throws FaultException, EvaluationException {
-        List literal = (List) evaluate(cexp, context, XPathConstants.NODESET);
+        List literal = DOMUtils.toList(evaluate(cexp, context, 
XPathConstants.NODESET));
         if (literal.size() == 0)
             throw new 
FaultException(cexp.getOwner().constants.qnSelectionFailure, "No results for 
expression: " + cexp);
         if (literal.size() > 1)
@@ -156,6 +156,7 @@
             cal.setTime((Date) date);
             return cal;
         }
+        if (date instanceof Element) date = ((Element)date).getTextContent();
 
         try {
             return ISO8601DateParser.parseCal(date.toString());

Modified: 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/java/org/apache/ode/test/DataHandling20Test.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/java/org/apache/ode/test/DataHandling20Test.java?rev=633247&r1=633246&r2=633247&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/java/org/apache/ode/test/DataHandling20Test.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/java/org/apache/ode/test/DataHandling20Test.java
 Mon Mar  3 11:47:26 2008
@@ -58,5 +58,8 @@
     @Test public void testDate() throws Throwable {
         go("/bpel/2.0/TestAssignDate");
     }
+    @Test public void testMsgDate() throws Throwable {
+        go("/bpel/2.0/TestMsgDate");
+    }
 
 }

Added: 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.bpel
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.bpel?rev=633247&view=auto
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.bpel
 (added)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.bpel
 Mon Mar  3 11:47:26 2008
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpel:process 
xmlns:bpel="http://schemas.xmlsoap.org/ws/2004/03/business-process/"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:pnlk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/"; 
xmlns:Pool0="http://example.com/BugFromNodeDateTimeToWait/Pool0"; 
xmlns:tns="http://www.example.org/NewXMLSchema"; 
xmlns:this="http://example.com/BugFromNodeDateTimeToWait/Pool"; 
xmlns:diag="http://example.com/BugFromNodeDateTimeToWait"; 
xmlns:bpmn="http://www.intalio.com/bpms"; 
xmlns:atomic="http://ode.apache.org/atomicScope"; 
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" 
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0" 
bpmn:label="Pool" bpmn:id="_Dn0p0Oc8EdyCLdedvglBCQ" name="Pool" 
targetNamespace="http://example.com/BugFromNodeDateTimeToWait/Pool";>
+  <bpel:import namespace="http://example.com/BugFromNodeDateTimeToWait"; 
location="BugFromNodeDateTimeToWait.wsdl" 
importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:import namespace="http://example.com/BugFromNodeDateTimeToWait/Pool"; 
location="BugFromNodeDateTimeToWait-Pool.wsdl" 
importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:partnerLinks>
+    <bpel:partnerLink name="pool0AndPoolPlkVar" 
partnerLinkType="diag:Pool0AndPool" myRole="Pool_for_Pool0"/>
+  </bpel:partnerLinks>
+  <bpel:variables>
+    <bpel:variable name="thisTaskRequestMsg" messageType="this:TaskRequest"/>
+    <bpel:variable name="thisTaskResponseMsg" messageType="this:TaskResponse"/>
+  </bpel:variables>
+  <bpel:sequence>
+    <bpel:receive partnerLink="pool0AndPoolPlkVar" portType="this:ForPool0" 
operation="Task"
+                  variable="thisTaskRequestMsg" createInstance="yes"/>
+    <bpel:assign name="init-variables-Pool">
+      <bpel:copy bpmn:label="$thisTaskResponseMsg">
+        <bpel:from>$thisTaskRequestMsg.body</bpel:from>
+        <bpel:to>$thisTaskResponseMsg.body</bpel:to>
+      </bpel:copy>
+    </bpel:assign>
+    <bpel:wait bpmn:label="EventIntermediateTimer" 
bpmn:id="_G71_UOc8EdyCLdedvglBCQ">
+      <bpel:until>$thisTaskRequestMsg.body</bpel:until>
+    </bpel:wait>
+    <bpel:reply partnerLink="pool0AndPoolPlkVar" portType="this:ForPool0" 
operation="Task" variable="thisTaskResponseMsg" bpmn:label="Task" 
bpmn:id="_HbE5AOc8EdyCLdedvglBCQ"></bpel:reply>
+  </bpel:sequence>
+</bpel:process>
\ No newline at end of file

Added: 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.wsdl
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.wsdl?rev=633247&view=auto
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.wsdl
 (added)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait-Pool.wsdl
 Mon Mar  3 11:47:26 2008
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='utf-8'?>
+<wsdl:definitions xmlns:NewXMLSchema="http://www.example.org/NewXMLSchema"; 
xmlns:bpel="http://schemas.xmlsoap.org/ws/2004/03/business-process/"; 
xmlns:diag="http://example.com/BugFromNodeDateTimeToWait"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:tns="http://www.example.org/NewXMLSchema"; 
xmlns:Pool0="http://example.com/BugFromNodeDateTimeToWait/Pool0"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:pnlk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/"; 
xmlns:this="http://example.com/BugFromNodeDateTimeToWait/Pool"; 
targetNamespace="http://example.com/BugFromNodeDateTimeToWait/Pool";>
+    <wsdl:types>
+        <xs:schema targetNamespace="http://www.example.org/NewXMLSchema";>
+            <xs:include schemaLocation="NewXMLSchema.xsd"/>
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="TaskRequest">
+        <wsdl:part name="body" element="tns:date"/>
+    </wsdl:message>
+    <wsdl:message name="TaskResponse">
+        <wsdl:part name="body" element="tns:date"/>
+    </wsdl:message>
+    <wsdl:portType name="ForPool0">
+        <wsdl:operation name="Task">
+            <wsdl:input message="this:TaskRequest" name="Task"/>
+            <wsdl:output message="this:TaskResponse" name="TaskResponse"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="CanonicBindingForPool0" type="this:ForPool0">
+        <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="Task">
+            <soap:operation style="document" 
soapAction="http://example.com/BugFromNodeDateTimeToWait/Pool/ForPool0/Task"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="CanonicServiceForPool0">
+        <wsdl:port name="canonicPort" binding="this:CanonicBindingForPool0">
+            <soap:address 
location="http://localhost:8080/ode/processes/BugFromNodeDateTimeToWait/BugFromNodeDateTimeToWait/Pool/Pool0"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait.wsdl
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait.wsdl?rev=633247&view=auto
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait.wsdl
 (added)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/BugFromNodeDateTimeToWait.wsdl
 Mon Mar  3 11:47:26 2008
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<wsdl:definitions 
xmlns:bpdm="http://www.intalio/designer/business-process-data-modeling"; 
xmlns:bpel="http://schemas.xmlsoap.org/ws/2004/03/business-process/"; 
xmlns:diag="http://example.com/BugFromNodeDateTimeToWait"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:tns="http://www.example.org/NewXMLSchema"; 
xmlns:Pool="http://example.com/BugFromNodeDateTimeToWait/Pool"; 
xmlns:Pool0="http://example.com/BugFromNodeDateTimeToWait/Pool0"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:pnlk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/"; 
targetNamespace="http://example.com/BugFromNodeDateTimeToWait";>
+    <wsdl:import namespace="http://example.com/BugFromNodeDateTimeToWait/Pool"; 
location="BugFromNodeDateTimeToWait-Pool.wsdl"/>
+    <pnlk:partnerLinkType name="Pool0AndPool">
+        <pnlk:role name="Pool_for_Pool0" portType="Pool:ForPool0"/>
+    </pnlk:partnerLinkType>
+</wsdl:definitions>
\ No newline at end of file

Added: 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/NewXMLSchema.xsd
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/NewXMLSchema.xsd?rev=633247&view=auto
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/NewXMLSchema.xsd
 (added)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/NewXMLSchema.xsd
 Mon Mar  3 11:47:26 2008
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://www.example.org/NewXMLSchema"; 
xmlns:tns="http://www.example.org/NewXMLSchema"; elementFormDefault="qualified">
+
+    <element name="date" type="dateTime"></element>
+</schema>
\ No newline at end of file

Added: 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/deploy.xml
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/deploy.xml?rev=633247&view=auto
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/deploy.xml
 (added)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/deploy.xml
 Mon Mar  3 11:47:26 2008
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<dd:deploy 
xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd";><dd:process 
xmlns:dd="http://ode.fivesight.com/schemas/2006/06/27/dd"; 
xmlns:diag="http://example.com/BugFromNodeDateTimeToWait"; 
xmlns:tns="http://www.example.org/NewXMLSchema"; 
xmlns:Pool0="http://example.com/BugFromNodeDateTimeToWait/Pool0"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
xmlns:this="http://example.com/BugFromNodeDateTimeToWait/Pool"; name="this:Pool" 
fileName="BugFromNodeDateTimeToWait-Pool.bpel">
+  <dd:property name="PATH">BugFromNodeDateTimeToWait</dd:property>
+  <dd:property name="SVG">BugFromNodeDateTimeToWait.svg</dd:property>
+  <dd:provide partnerLink="pool0AndPoolPlkVar">
+    <dd:service name="this:CanonicServiceForPool0" port="canonicPort" />
+  </dd:provide>
+</dd:process></dd:deploy>
\ No newline at end of file

Added: 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/test.properties
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/test.properties?rev=633247&view=auto
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/test.properties
 (added)
+++ 
ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestMsgDate/test.properties
 Mon Mar  3 11:47:26 2008
@@ -0,0 +1,22 @@
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+
+namespace=http://example.com/BugFromNodeDateTimeToWait/Pool
+service=CanonicServiceForPool0
+operation=Task
+request1=<message><body><ns1:date 
xmlns:ns1="http://www.example.org/NewXMLSchema";>2008-01-01T00:00:00Z</ns1:date></body></message>
+response1=.*2008-01-01T00:00:00Z.*
\ No newline at end of file

Modified: 
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/DOMUtils.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/DOMUtils.java?rev=633247&r1=633246&r2=633247&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/DOMUtils.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.1/utils/src/main/java/org/apache/ode/utils/DOMUtils.java
 Mon Mar  3 11:47:26 2008
@@ -1021,4 +1021,20 @@
         return ret;
     }
 
+    /**
+     * Somewhat eases the pain of dealing with both Lists and Nodelists by 
converting either
+     * passed as parameter to a List.
+     * @param nl a NodeList or a List
+     * @return a List
+     */
+    public static List<Node> toList(Object nl) {
+        if (nl == null) return null;
+        if (nl instanceof List) return (List<Node>) nl;
+
+        NodeList cnl = (NodeList) nl;
+        LinkedList<Node> ll = new LinkedList<Node>();
+        for (int m = 0; m < cnl.getLength(); m++) ll.add(cnl.item(m));
+        return ll;
+    }
+
 }


Reply via email to