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;
+ }
+
}