You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by se...@apache.org on 2009/06/02 19:42:49 UTC

svn commit: r781093 [2/5] - in /ode/trunk: ./ axis2-war/src/test/java/org/apache/ode/axis2/ axis2-war/src/test/java/org/apache/ode/axis2/instancecleanup/ axis2-war/src/test/java/org/apache/ode/dao/jpa/ axis2-war/src/test/java/org/apache/ode/daohib/bpel...

Added: ode/trunk/axis2-war/src/test/resources/TestProcessCronCleanup/testRequest.soap
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestProcessCronCleanup/testRequest.soap?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestProcessCronCleanup/testRequest.soap (added)
+++ ode/trunk/axis2-war/src/test/resources/TestProcessCronCleanup/testRequest.soap Tue Jun  2 17:42:46 2009
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+  <!-- test soap message -->
+  <SOAP-ENV:Body>
+    <TimeRequest xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsi-wsdl="http://www.intalio.com/BPMS/wsi/wsdl" xmlns:wsi-xf="http://www.intalio.com/BPMS/wsi/xforms" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ns0="http://bpms.intalio.com/FirstProcess/Time" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns="http://bpms.intalio.com/FirstProcess/Time">                   
+        <city>New York</city>                 
+    </TimeRequest>  
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.bpel?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.bpel (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.bpel Tue Jun  2 17:42:46 2009
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+<bpel:process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:Client="http://example.com/FirstProcess/Client" xmlns:this="http://example.com/FirstProcess/FirstProcess" xmlns:TimeServer="http://example.com/FirstProcess/TimeServer" xmlns:TimeService="http://ws.intalio.com/TimeService/" xmlns:diag="http://example.com/FirstProcess" xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" 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="FirstProcess" bpmn:id="_MmE9YDEV
 EdyJMOclT3liPQ" name="FirstProcess" targetNamespace="http://example.com/FirstProcess/FirstProcess">
+  <bpel:import namespace="http://example.com/FirstProcess" location="FirstProcess.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:import namespace="http://example.com/FirstProcess/FirstProcess" location="FirstProcess-FirstProcess.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:import namespace="http://ws.intalio.com/TimeService/" location="TimeService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:partnerLinks>
+    <bpel:partnerLink name="firstProcessAndClientPlkVar" partnerLinkType="diag:FirstProcessAndClient" myRole="FirstProcess_for_Client"/>
+    <bpel:partnerLink name="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar" partnerLinkType="diag:TimeServerAndFirstProcessForPortTimeServiceSoapPlk" initializePartnerRole="true" partnerRole="TimeServer_for_FirstProcess"/>
+  </bpel:partnerLinks>
+  <bpel:variables>
+    <bpel:variable name="timeServiceGetCityTimeResponseMsg" messageType="TimeService:getCityTimeSoapOut"/>
+    <bpel:variable name="timeServiceGetCityTimeRequestMsg" messageType="TimeService:getCityTimeSoapIn"/>
+    <bpel:variable name="timeServiceGetUTCTimeResponseMsg" messageType="TimeService:getUTCTimeSoapOut"/>
+    <bpel:variable name="timeServiceGetUTCTimeRequestMsg" messageType="TimeService:getUTCTimeSoapIn"/>
+    <bpel:variable name="thisEventStartMessageRequest" messageType="this:EventStartMessageRequest"/>
+    <bpel:variable name="thisEventStartMessageResponse" messageType="this:EventStartMessageResponse"/>
+  </bpel:variables>
+  <bpel:sequence>
+    <bpel:receive partnerLink="firstProcessAndClientPlkVar" portType="this:ForClient" operation="EventStartMessage" variable="thisEventStartMessageRequest" createInstance="yes" bpmn:label="EventStartMessage" bpmn:id="_PodJQDEVEdyJMOclT3liPQ"></bpel:receive>
+    <bpel:assign name="init-variables-FirstProcess">
+      <bpel:copy bpmn:label="$timeServiceGetCityTimeRequestMsg">
+        <bpel:from>
+          <bpel:literal>
+<TimeService:getCityTime>
+  <TimeService:city></TimeService:city>
+</TimeService:getCityTime></bpel:literal>
+        </bpel:from>
+        <bpel:to>$timeServiceGetCityTimeRequestMsg.parameters</bpel:to>
+      </bpel:copy>
+      <bpel:copy bpmn:label="$timeServiceGetUTCTimeRequestMsg">
+        <bpel:from>
+          <bpel:literal>
+<TimeService:getUTCTime></TimeService:getUTCTime></bpel:literal>
+        </bpel:from>
+        <bpel:to>$timeServiceGetUTCTimeRequestMsg.parameters</bpel:to>
+      </bpel:copy>
+      <bpel:copy bpmn:label="$thisEventStartMessageResponse">
+        <bpel:from>
+          <bpel:literal>
+<ns:TimeResponse>
+  <ns:UTCTime></ns:UTCTime>
+  <ns:cityTime></ns:cityTime>
+</ns:TimeResponse></bpel:literal>
+        </bpel:from>
+        <bpel:to>$thisEventStartMessageResponse.body</bpel:to>
+      </bpel:copy>
+    </bpel:assign>
+    <bpel:invoke partnerLink="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar" portType="TimeService:TimeServiceSoap" operation="getUTCTime" inputVariable="timeServiceGetUTCTimeRequestMsg" outputVariable="timeServiceGetUTCTimeResponseMsg" bpmn:label="getUTCTime" bpmn:id="_dyOQkDEmEdyJMOclT3liPQ"></bpel:invoke>
+    <bpel:assign bpmn:label="getCityTime" bpmn:id="_SsKx4DEVEdyJMOclT3liPQ">
+      <bpel:copy>
+        <bpel:from>$thisEventStartMessageRequest.body/ns:city</bpel:from>
+        <bpel:to>$timeServiceGetCityTimeRequestMsg.parameters/TimeService:city</bpel:to>
+      </bpel:copy>
+    </bpel:assign>
+    <bpel:invoke partnerLink="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar" portType="TimeService:TimeServiceSoap" operation="getCityTime" inputVariable="timeServiceGetCityTimeRequestMsg" outputVariable="timeServiceGetCityTimeResponseMsg" bpmn:label="getCityTime" bpmn:id="_SsKx4DEVEdyJMOclT3liPQ"></bpel:invoke>
+    <bpel:assign bpmn:label="EventEndMessage" bpmn:id="_UAjK4DEVEdyJMOclT3liPQ">
+      <bpel:copy>
+        <bpel:from>$timeServiceGetCityTimeResponseMsg.parameters/TimeService:getCityTimeResult</bpel:from>
+        <bpel:to>$thisEventStartMessageResponse.body/ns:cityTime</bpel:to>
+      </bpel:copy>
+      <bpel:copy>
+        <bpel:from>$timeServiceGetUTCTimeResponseMsg.parameters/TimeService:getUTCTimeResult</bpel:from>
+        <bpel:to>$thisEventStartMessageResponse.body/ns:UTCTime</bpel:to>
+      </bpel:copy>
+    </bpel:assign>
+    <bpel:reply partnerLink="firstProcessAndClientPlkVar" portType="this:ForClient" operation="EventStartMessage" variable="thisEventStartMessageResponse" bpmn:label="EventEndMessage" bpmn:id="_UAjK4DEVEdyJMOclT3liPQ"></bpel:reply>
+  </bpel:sequence>
+</bpel:process>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.wsdl?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.wsdl (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess-FirstProcess.wsdl Tue Jun  2 17:42:46 2009
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  ~ 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.
+  -->
+<wsdl:definitions xmlns:Client="http://example.com/FirstProcess/Client" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:TimeService="http://ws.intalio.com/TimeService/" xmlns:TimeServer="http://example.com/FirstProcess/TimeServer" xmlns:GetTime="http://bpms.intalio.com/FirstProcess/Time" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:diag="http://example.com/FirstProcess" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:this="http://example.com/FirstProcess/FirstProcess" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://example.com/FirstProcess/FirstProcess">
+    <wsdl:types>
+        <xs:schema targetNamespace="http://bpms.intalio.com/FirstProcess/Time">
+            <xs:include schemaLocation="GetTime.xsd"/>
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="EventStartMessageRequest">
+        <wsdl:part name="body" element="ns:TimeRequest"/>
+    </wsdl:message>
+    <wsdl:message name="EventStartMessageResponse">
+        <wsdl:part name="body" element="ns:TimeResponse"/>
+    </wsdl:message>
+    <wsdl:portType name="ForClient">
+        <wsdl:operation name="EventStartMessage">
+            <wsdl:input message="this:EventStartMessageRequest" name="EventStartMessage"/>
+            <wsdl:output message="this:EventStartMessageResponse" name="EventStartMessageResponse"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="CanonicBindingForClient" type="this:ForClient">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="EventStartMessage">
+            <soap:operation style="document" soapAction="http://example.com/FirstProcess/FirstProcess/ForClient/EventStartMessage"/>
+            <wsdl:input name="EventStartMessage">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="EventStartMessageResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="CanonicServiceForClient">
+        <wsdl:port name="canonicPort" binding="this:CanonicBindingForClient">
+            <soap:address location="http://localhost:8080/ode/processes/FirstProcess/FirstProcess/FirstProcess/Client"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.svg
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.svg?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.svg (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.svg Tue Jun  2 17:42:46 2009
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="90mm" height="50mm"><text x="10%" y="10%" fill="black" font-size="12"><tspan x="10" dy="20">SVG will be generated at deployment.</tspan><tspan x="10" dy="20">Change the preferences to generate</tspan><tspan x="10" dy="20">it all the time.</tspan></text></svg>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.wsdl?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.wsdl (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/FirstProcess.wsdl Tue Jun  2 17:42:46 2009
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  ~ 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.
+  -->
+<wsdl:definitions xmlns:bpdm="http://www.intalio/designer/business-process-data-modeling" xmlns:FirstProcess="http://example.com/FirstProcess/FirstProcess" xmlns:Client="http://example.com/FirstProcess/Client" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:TimeService="http://ws.intalio.com/TimeService/" xmlns:diag="http://example.com/FirstProcess" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://example.com/FirstProcess">
+    <wsdl:import namespace="http://example.com/FirstProcess/FirstProcess" location="FirstProcess-FirstProcess.wsdl"/>
+    <wsdl:import namespace="http://ws.intalio.com/TimeService/" location="TimeService.wsdl"/>
+    <pnlk:partnerLinkType name="TimeServerAndFirstProcessForPortTimeServiceSoapPlk">
+        <pnlk:role name="TimeServer_for_FirstProcess" portType="TimeService:TimeServiceSoap"/>
+    </pnlk:partnerLinkType>
+    <pnlk:partnerLinkType name="FirstProcessAndClient">
+        <pnlk:role name="FirstProcess_for_Client" portType="FirstProcess:ForClient"/>
+    </pnlk:partnerLinkType>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/GetTime.xsd
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/GetTime.xsd?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/GetTime.xsd (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/GetTime.xsd Tue Jun  2 17:42:46 2009
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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.
+  -->
+<xs:schema targetNamespace="http://bpms.intalio.com/FirstProcess/Time" 
+           xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" 
+           xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+           elementFormDefault="qualified">
+
+
+    <xs:element name="TimeRequest">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="city" type="xs:string"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="TimeResponse">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="UTCTime" type="xs:string"/>
+                <xs:element name="cityTime" type="xs:string"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    
+</xs:schema>
+

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/TimeService.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/TimeService.wsdl?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/TimeService.wsdl (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/TimeService.wsdl Tue Jun  2 17:42:46 2009
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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.
+  -->
+<wsdl:definitions
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://ws.intalio.com/TimeService/"
+    xmlns:s="http://www.w3.org/2001/XMLSchema"
+    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+    targetNamespace="http://ws.intalio.com/TimeService/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">A sample Time service</wsdl:documentation>
+  <wsdl:types>
+    <s:schema elementFormDefault="qualified" targetNamespace="http://ws.intalio.com/TimeService/">
+      <s:element name="getUTCTime" type="s:string" />
+      <s:element name="getUTCTimeResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="getUTCTimeResult" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="getCityTime">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="city" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="getCityTimeResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="getCityTimeResult" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+    </s:schema>
+  </wsdl:types>
+  <wsdl:message name="getUTCTimeSoapIn">
+    <wsdl:part name="parameters" element="tns:getUTCTime" />
+  </wsdl:message>
+  <wsdl:message name="getUTCTimeSoapOut">
+    <wsdl:part name="parameters" element="tns:getUTCTimeResponse" />
+  </wsdl:message>
+  <wsdl:message name="getCityTimeSoapIn">
+    <wsdl:part name="parameters" element="tns:getCityTime" />
+  </wsdl:message>
+  <wsdl:message name="getCityTimeSoapOut">
+    <wsdl:part name="parameters" element="tns:getCityTimeResponse" />
+  </wsdl:message>
+  <wsdl:portType name="TimeServiceSoap">
+    <wsdl:operation name="getUTCTime">
+      <wsdl:input message="tns:getUTCTimeSoapIn" />
+      <wsdl:output message="tns:getUTCTimeSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getCityTime">
+      <wsdl:input message="tns:getCityTimeSoapIn" />
+      <wsdl:output message="tns:getCityTimeSoapOut" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="TimeServiceSoap" type="tns:TimeServiceSoap">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="getUTCTime">
+      <soap:operation soapAction="http://ws.intalio.com/TimeService/getUTCTime" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getCityTime">
+      <soap:operation soapAction="http://ws.intalio.com/TimeService/getCityTime" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="TimeService">
+    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">A sample Time service</wsdl:documentation>
+    <wsdl:port name="TimeServiceSoap" binding="tns:TimeServiceSoap">
+      <soap:address location="http://ws.intalio.com/TimeService/" />
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/deploy.xml
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/deploy.xml?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/deploy.xml (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/deploy.xml Tue Jun  2 17:42:46 2009
@@ -0,0 +1,37 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+  ~ 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.
+  -->
+<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:Client="http://example.com/FirstProcess/Client" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns:diag="http://example.com/FirstProcess" xmlns:TimeService="http://ws.intalio.com/TimeService/"
+        xmlns:TimeServer="http://example.com/FirstProcess/TimeServer"
+        xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+        xmlns:this="http://example.com/FirstProcess/FirstProcess" name="this:FirstProcess"
+        fileName="FirstProcess-FirstProcess.bpel">
+        <dd:property name="PATH">FirstProcess</dd:property>
+        <dd:property name="SVG">FirstProcess.svg</dd:property>
+        <dd:provide partnerLink="firstProcessAndClientPlkVar">
+            <dd:service name="this:CanonicServiceForClient" port="canonicPort"></dd:service>
+        </dd:provide>
+        <dd:invoke partnerLink="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar">
+            <dd:service name="TimeService:TimeService" port="TimeServiceSoap"></dd:service>
+        </dd:invoke>        
+    </dd:process>
+</dd:deploy>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/testRequest.soap
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/testRequest.soap?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/testRequest.soap (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup/testRequest.soap Tue Jun  2 17:42:46 2009
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+  <!-- test soap message -->
+  <SOAP-ENV:Body>
+    <TimeRequest xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsi-wsdl="http://www.intalio.com/BPMS/wsi/wsdl" xmlns:wsi-xf="http://www.intalio.com/BPMS/wsi/xforms" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ns0="http://bpms.intalio.com/FirstProcess/Time" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns="http://bpms.intalio.com/FirstProcess/Time">                   
+        <city>New York</city>                 
+    </TimeRequest>  
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.bpel?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.bpel (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.bpel Tue Jun  2 17:42:46 2009
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+<bpel:process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:Client="http://example.com/FirstProcess/Client" xmlns:this="http://example.com/FirstProcess/FirstProcess" xmlns:TimeServer="http://example.com/FirstProcess/TimeServer" xmlns:TimeService="http://ws.intalio.com/TimeService/" xmlns:diag="http://example.com/FirstProcess" xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" 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="FirstProcess" bpmn:id="_MmE9YDEV
 EdyJMOclT3liPQ" name="FirstProcess" targetNamespace="http://example.com/FirstProcess/FirstProcess">
+  <bpel:import namespace="http://example.com/FirstProcess" location="FirstProcess.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:import namespace="http://example.com/FirstProcess/FirstProcess" location="FirstProcess-FirstProcess.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:import namespace="http://ws.intalio.com/TimeService/" location="TimeService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+  <bpel:partnerLinks>
+    <bpel:partnerLink name="firstProcessAndClientPlkVar" partnerLinkType="diag:FirstProcessAndClient" myRole="FirstProcess_for_Client"/>
+    <bpel:partnerLink name="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar" partnerLinkType="diag:TimeServerAndFirstProcessForPortTimeServiceSoapPlk" initializePartnerRole="true" partnerRole="TimeServer_for_FirstProcess"/>
+  </bpel:partnerLinks>
+  <bpel:variables>
+    <bpel:variable name="timeServiceGetCityTimeResponseMsg" messageType="TimeService:getCityTimeSoapOut"/>
+    <bpel:variable name="timeServiceGetCityTimeRequestMsg" messageType="TimeService:getCityTimeSoapIn"/>
+    <bpel:variable name="timeServiceGetUTCTimeResponseMsg" messageType="TimeService:getUTCTimeSoapOut"/>
+    <bpel:variable name="timeServiceGetUTCTimeRequestMsg" messageType="TimeService:getUTCTimeSoapIn"/>
+    <bpel:variable name="thisEventStartMessageRequest" messageType="this:EventStartMessageRequest"/>
+    <bpel:variable name="thisEventStartMessageResponse" messageType="this:EventStartMessageResponse"/>
+  </bpel:variables>
+  <bpel:sequence>
+    <bpel:receive partnerLink="firstProcessAndClientPlkVar" portType="this:ForClient" operation="EventStartMessage" variable="thisEventStartMessageRequest" createInstance="yes" bpmn:label="EventStartMessage" bpmn:id="_PodJQDEVEdyJMOclT3liPQ"></bpel:receive>
+    <bpel:assign name="init-variables-FirstProcess">
+      <bpel:copy bpmn:label="$timeServiceGetCityTimeRequestMsg">
+        <bpel:from>
+          <bpel:literal>
+<TimeService:getCityTime>
+  <TimeService:city></TimeService:city>
+</TimeService:getCityTime></bpel:literal>
+        </bpel:from>
+        <bpel:to>$timeServiceGetCityTimeRequestMsg.parameters</bpel:to>
+      </bpel:copy>
+      <bpel:copy bpmn:label="$timeServiceGetUTCTimeRequestMsg">
+        <bpel:from>
+          <bpel:literal>
+<TimeService:getUTCTime></TimeService:getUTCTime></bpel:literal>
+        </bpel:from>
+        <bpel:to>$timeServiceGetUTCTimeRequestMsg.parameters</bpel:to>
+      </bpel:copy>
+      <bpel:copy bpmn:label="$thisEventStartMessageResponse">
+        <bpel:from>
+          <bpel:literal>
+<ns:TimeResponse>
+  <ns:UTCTime></ns:UTCTime>
+  <ns:cityTime></ns:cityTime>
+</ns:TimeResponse></bpel:literal>
+        </bpel:from>
+        <bpel:to>$thisEventStartMessageResponse.body</bpel:to>
+      </bpel:copy>
+    </bpel:assign>
+    <bpel:invoke partnerLink="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar" portType="TimeService:TimeServiceSoap" operation="getUTCTime" inputVariable="timeServiceGetUTCTimeRequestMsg" outputVariable="timeServiceGetUTCTimeResponseMsg" bpmn:label="getUTCTime" bpmn:id="_dyOQkDEmEdyJMOclT3liPQ"></bpel:invoke>
+    <bpel:assign bpmn:label="getCityTime" bpmn:id="_SsKx4DEVEdyJMOclT3liPQ">
+      <bpel:copy>
+        <bpel:from>$thisEventStartMessageRequest.body/ns:city</bpel:from>
+        <bpel:to>$timeServiceGetCityTimeRequestMsg.parameters/TimeService:city</bpel:to>
+      </bpel:copy>
+    </bpel:assign>
+    <bpel:invoke partnerLink="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar" portType="TimeService:TimeServiceSoap" operation="getCityTime" inputVariable="timeServiceGetCityTimeRequestMsg" outputVariable="timeServiceGetCityTimeResponseMsg" bpmn:label="getCityTime" bpmn:id="_SsKx4DEVEdyJMOclT3liPQ"></bpel:invoke>
+    <bpel:assign bpmn:label="EventEndMessage" bpmn:id="_UAjK4DEVEdyJMOclT3liPQ">
+      <bpel:copy>
+        <bpel:from>$timeServiceGetCityTimeResponseMsg.parameters/TimeService:getCityTimeResult</bpel:from>
+        <bpel:to>$thisEventStartMessageResponse.body/ns:cityTime</bpel:to>
+      </bpel:copy>
+      <bpel:copy>
+        <bpel:from>$timeServiceGetUTCTimeResponseMsg.parameters/TimeService:getUTCTimeResult</bpel:from>
+        <bpel:to>$thisEventStartMessageResponse.body/ns:UTCTime</bpel:to>
+      </bpel:copy>
+    </bpel:assign>
+    <bpel:reply partnerLink="firstProcessAndClientPlkVar" portType="this:ForClient" operation="EventStartMessage" variable="thisEventStartMessageResponse" bpmn:label="EventEndMessage" bpmn:id="_UAjK4DEVEdyJMOclT3liPQ"></bpel:reply>
+  </bpel:sequence>
+</bpel:process>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.wsdl?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.wsdl (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess-FirstProcess.wsdl Tue Jun  2 17:42:46 2009
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  ~ 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.
+  -->
+<wsdl:definitions xmlns:Client="http://example.com/FirstProcess/Client" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:TimeService="http://ws.intalio.com/TimeService/" xmlns:TimeServer="http://example.com/FirstProcess/TimeServer" xmlns:GetTime="http://bpms.intalio.com/FirstProcess/Time" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:diag="http://example.com/FirstProcess" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:this="http://example.com/FirstProcess/FirstProcess" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://example.com/FirstProcess/FirstProcess">
+    <wsdl:types>
+        <xs:schema targetNamespace="http://bpms.intalio.com/FirstProcess/Time">
+            <xs:include schemaLocation="GetTime.xsd"/>
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="EventStartMessageRequest">
+        <wsdl:part name="body" element="ns:TimeRequest"/>
+    </wsdl:message>
+    <wsdl:message name="EventStartMessageResponse">
+        <wsdl:part name="body" element="ns:TimeResponse"/>
+    </wsdl:message>
+    <wsdl:portType name="ForClient">
+        <wsdl:operation name="EventStartMessage">
+            <wsdl:input message="this:EventStartMessageRequest" name="EventStartMessage"/>
+            <wsdl:output message="this:EventStartMessageResponse" name="EventStartMessageResponse"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="CanonicBindingForClient" type="this:ForClient">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="EventStartMessage">
+            <soap:operation style="document" soapAction="http://example.com/FirstProcess/FirstProcess/ForClient/EventStartMessage"/>
+            <wsdl:input name="EventStartMessage">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="EventStartMessageResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="CanonicServiceForClient">
+        <wsdl:port name="canonicPort" binding="this:CanonicBindingForClient">
+            <soap:address location="http://localhost:8080/ode/processes/FirstProcess/FirstProcess/FirstProcess/Client"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.svg
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.svg?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.svg (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.svg Tue Jun  2 17:42:46 2009
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="90mm" height="50mm"><text x="10%" y="10%" fill="black" font-size="12"><tspan x="10" dy="20">SVG will be generated at deployment.</tspan><tspan x="10" dy="20">Change the preferences to generate</tspan><tspan x="10" dy="20">it all the time.</tspan></text></svg>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.wsdl?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.wsdl (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/FirstProcess.wsdl Tue Jun  2 17:42:46 2009
@@ -0,0 +1,29 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  ~ 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.
+  -->
+<wsdl:definitions xmlns:bpdm="http://www.intalio/designer/business-process-data-modeling" xmlns:FirstProcess="http://example.com/FirstProcess/FirstProcess" xmlns:Client="http://example.com/FirstProcess/Client" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:TimeService="http://ws.intalio.com/TimeService/" xmlns:diag="http://example.com/FirstProcess" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://example.com/FirstProcess">
+    <wsdl:import namespace="http://example.com/FirstProcess/FirstProcess" location="FirstProcess-FirstProcess.wsdl"/>
+    <wsdl:import namespace="http://ws.intalio.com/TimeService/" location="TimeService.wsdl"/>
+    <pnlk:partnerLinkType name="TimeServerAndFirstProcessForPortTimeServiceSoapPlk">
+        <pnlk:role name="TimeServer_for_FirstProcess" portType="TimeService:TimeServiceSoap"/>
+    </pnlk:partnerLinkType>
+    <pnlk:partnerLinkType name="FirstProcessAndClient">
+        <pnlk:role name="FirstProcess_for_Client" portType="FirstProcess:ForClient"/>
+    </pnlk:partnerLinkType>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/GetTime.xsd
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/GetTime.xsd?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/GetTime.xsd (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/GetTime.xsd Tue Jun  2 17:42:46 2009
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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.
+  -->
+<xs:schema targetNamespace="http://bpms.intalio.com/FirstProcess/Time" 
+           xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" 
+           xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+           elementFormDefault="qualified">
+
+
+    <xs:element name="TimeRequest">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="city" type="xs:string"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="TimeResponse">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="UTCTime" type="xs:string"/>
+                <xs:element name="cityTime" type="xs:string"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    
+</xs:schema>
+

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/TimeService.wsdl
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/TimeService.wsdl?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/TimeService.wsdl (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/TimeService.wsdl Tue Jun  2 17:42:46 2009
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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.
+  -->
+<wsdl:definitions
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://ws.intalio.com/TimeService/"
+    xmlns:s="http://www.w3.org/2001/XMLSchema"
+    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+    targetNamespace="http://ws.intalio.com/TimeService/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">A sample Time service</wsdl:documentation>
+  <wsdl:types>
+    <s:schema elementFormDefault="qualified" targetNamespace="http://ws.intalio.com/TimeService/">
+      <s:element name="getUTCTime" type="s:string" />
+      <s:element name="getUTCTimeResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="getUTCTimeResult" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="getCityTime">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="city" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="getCityTimeResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="getCityTimeResult" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+    </s:schema>
+  </wsdl:types>
+  <wsdl:message name="getUTCTimeSoapIn">
+    <wsdl:part name="parameters" element="tns:getUTCTime" />
+  </wsdl:message>
+  <wsdl:message name="getUTCTimeSoapOut">
+    <wsdl:part name="parameters" element="tns:getUTCTimeResponse" />
+  </wsdl:message>
+  <wsdl:message name="getCityTimeSoapIn">
+    <wsdl:part name="parameters" element="tns:getCityTime" />
+  </wsdl:message>
+  <wsdl:message name="getCityTimeSoapOut">
+    <wsdl:part name="parameters" element="tns:getCityTimeResponse" />
+  </wsdl:message>
+  <wsdl:portType name="TimeServiceSoap">
+    <wsdl:operation name="getUTCTime">
+      <wsdl:input message="tns:getUTCTimeSoapIn" />
+      <wsdl:output message="tns:getUTCTimeSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="getCityTime">
+      <wsdl:input message="tns:getCityTimeSoapIn" />
+      <wsdl:output message="tns:getCityTimeSoapOut" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="TimeServiceSoap" type="tns:TimeServiceSoap">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="getUTCTime">
+      <soap:operation soapAction="http://ws.intalio.com/TimeService/getUTCTime" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="getCityTime">
+      <soap:operation soapAction="http://ws.intalio.com/TimeService/getCityTime" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="TimeService">
+    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">A sample Time service</wsdl:documentation>
+    <wsdl:port name="TimeServiceSoap" binding="tns:TimeServiceSoap">
+      <soap:address location="http://ws.intalio.com/TimeService/" />
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/deploy.xml
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/deploy.xml?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/deploy.xml (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/deploy.xml Tue Jun  2 17:42:46 2009
@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+  ~ 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.
+  -->
+<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:Client="http://example.com/FirstProcess/Client" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns:diag="http://example.com/FirstProcess" xmlns:TimeService="http://ws.intalio.com/TimeService/"
+        xmlns:TimeServer="http://example.com/FirstProcess/TimeServer"
+        xmlns:ns="http://bpms.intalio.com/FirstProcess/Time" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+        xmlns:this="http://example.com/FirstProcess/FirstProcess" name="this:FirstProcess"
+        fileName="FirstProcess-FirstProcess.bpel">
+        <dd:property name="PATH">FirstProcess</dd:property>
+        <dd:property name="SVG">FirstProcess.svg</dd:property>
+        <dd:provide partnerLink="firstProcessAndClientPlkVar">
+            <dd:service name="this:CanonicServiceForClient" port="canonicPort"></dd:service>
+        </dd:provide>
+        <dd:invoke partnerLink="timeServerAndFirstProcessForPortTimeServiceSoapPlkVar">
+            <dd:service name="TimeService:TimeService" port="TimeServiceSoap"></dd:service>
+        </dd:invoke>        
+        <dd:schedule when="* * * * * ?">
+            <dd:cleanup>
+                <dd:filter><![CDATA[last_active<-1w status=completed]]></dd:filter>
+            </dd:cleanup>
+        </dd:schedule>
+    </dd:process>
+</dd:deploy>
\ No newline at end of file

Added: ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/testRequest.soap
URL: http://svn.apache.org/viewvc/ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/testRequest.soap?rev=781093&view=auto
==============================================================================
--- ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/testRequest.soap (added)
+++ ode/trunk/axis2-war/src/test/resources/TestSystemCronCleanup_exclude/testRequest.soap Tue Jun  2 17:42:46 2009
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+  ~ 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.
+  -->
+
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
+  <!-- test soap message -->
+  <SOAP-ENV:Body>
+    <TimeRequest xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsi-wsdl="http://www.intalio.com/BPMS/wsi/wsdl" xmlns:wsi-xf="http://www.intalio.com/BPMS/wsi/xforms" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ns0="http://bpms.intalio.com/FirstProcess/Time" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns="http://bpms.intalio.com/FirstProcess/Time">                   
+        <city>New York</city>                 
+    </TimeRequest>  
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>

Added: ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ClusterAware.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ClusterAware.java?rev=781093&view=auto
==============================================================================
--- ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ClusterAware.java (added)
+++ ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ClusterAware.java Tue Jun  2 17:42:46 2009
@@ -0,0 +1,18 @@
+package org.apache.ode.bpel.iapi;
+
+/**
+ * The interface to implement for a custom Scheduler implementation to support
+ * Clustering.
+ * 
+ * @author sean
+ *
+ */
+public interface ClusterAware {
+    /**
+     * A custom implementation should return true if the node that this method is called
+     * is the coordinator of the cluster.
+     * 
+     * @return true when the node is coordinator
+     */
+    boolean amICoordinator();
+}

Modified: ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ProcessConf.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ProcessConf.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ProcessConf.java (original)
+++ ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/ProcessConf.java Tue Jun  2 17:42:46 2009
@@ -21,7 +21,9 @@
 import java.io.File;
 import java.io.InputStream;
 import java.net.URI;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -31,6 +33,7 @@
 
 import org.apache.ode.bpel.evt.BpelEvent;
 import org.apache.ode.bpel.rapi.ProcessModel;
+import org.apache.ode.utils.CronExpression;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
@@ -170,6 +173,8 @@
     
     Set<CLEANUP_CATEGORY> getCleanupCategories(boolean instanceSucceeded);
 
+    List<CronJob> getCronJobs();
+
     public enum CLEANUP_CATEGORY {
         INSTANCE,
         VARIABLES,
@@ -181,4 +186,62 @@
             return valueOf(CLEANUP_CATEGORY.class, lowerCase.toUpperCase());
         }
     }
+
+    public class CronJob {
+        private CronExpression _cronExpression;
+        
+        private final List<Map<String,Object>> runnableDetailList = new ArrayList<Map<String,Object>>();
+        
+        public void setCronExpression(CronExpression _cronExpression) {
+            this._cronExpression = _cronExpression;
+        }
+        
+        public CronExpression getCronExpression() {
+            return _cronExpression;
+        }
+        
+        public List<Map<String,Object>> getRunnableDetailList() {
+            return runnableDetailList;
+        }
+        
+        public String toString() {
+            StringBuffer buf = new StringBuffer();
+            
+            buf.append("Cron[");
+            buf.append(_cronExpression);
+            buf.append("] ");
+            buf.append(runnableDetailList);
+            
+            return buf.toString();
+        }
+    }
+    
+    public class CleanupInfo {
+        private List<String> _filters = new ArrayList<String>();
+        
+        private final Set<CLEANUP_CATEGORY> _categories = EnumSet.noneOf(CLEANUP_CATEGORY.class);
+        
+        public void setFilters(List<String> filters) {
+            _filters = filters;
+        }
+        
+        public List<String> getFilters() {
+            return _filters;
+        }
+        
+        public Set<CLEANUP_CATEGORY> getCategories() {
+            return _categories;
+        }
+        
+        public String toString() {
+            StringBuffer buf = new StringBuffer();
+            
+            buf.append("CleanupInfo: filters=");
+            buf.append(_filters);
+            buf.append(", categories=");
+            buf.append(_categories);
+            
+            return buf.toString();
+        }
+    }
 }

Modified: ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java (original)
+++ ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/Scheduler.java Tue Jun  2 17:42:46 2009
@@ -44,6 +44,14 @@
     String schedulePersistedJob(Map<String,Object>jobDetail,Date when)
             throws ContextException ;
 
+    /**
+     * Schedule a Runnable that will be executed on a dedicated thread pool.
+     * @param runnable
+     * @param when
+     * @return
+     * @throws ContextException
+     */
+    String scheduleMapSerializableRunnable(MapSerializableRunnable runnable, Date when) throws ContextException;
 
     void jobCompleted(String jobId);
 
@@ -110,6 +118,8 @@
 
     }
 
-
-
+    public interface MapSerializableRunnable extends Runnable, Serializable {
+        void storeToDetailsMap(Map<String, Object> details);
+        void restoreFromDetailsMap(Map<String, Object> details);
+    }
 }

Modified: ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java (original)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java Tue Jun  2 17:42:46 2009
@@ -18,6 +18,7 @@
  */
 package org.apache.ode.bpel.dao;
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.Collection;
 import java.util.List;
@@ -109,6 +110,15 @@
 
     Map<Long, Collection<CorrelationSetDAO>> getCorrelationSets(Collection<ProcessInstanceDAO> instances);
 
+    /**
+     * Creates a ProcessDAO that is not attached to the JPA session. This object is used in JPA queries
+     * when the process itself is already removed from the table.
+     * 
+     * @param id the primary key id for the process
+     * @return the ProcessDAO
+     */
+    ProcessDAO createTransientProcess(Serializable id);
+    
     ProcessDAO createProcess(QName pid, QName type, String guid, long version);
 
     /**

Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java?rev=781093&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java Tue Jun  2 17:42:46 2009
@@ -0,0 +1,31 @@
+package org.apache.ode.bpel.dao;
+
+import java.io.Serializable;
+
+/**
+ * Instances and associated data for a ProcessDAO implementation that implements this 
+ * interface can be deleted in a deferred fashion.
+ * The framework guarantees that the deleteInstances() call is repeatedly called
+ * until the call returns a number smaller than the given transaction size, even
+ * when the system restarts at some time.
+ * 
+ * @author sean
+ *
+ */
+public interface DeferredProcessInstanceCleanable {
+    /**
+     * Returns the database id.
+     * 
+     * @return database id
+     */
+    Serializable getId();
+    
+    /**
+     * Deletes instances and data for this process, the number of rows gets deletes is limited
+     * by the transaction size.
+     * 
+     * @param transactionSize the number of rows to delete
+     * @return the number of rows actually deleted
+     */
+    int deleteInstances(int transactionSize);
+}

Added: ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/FilteredInstanceDeletable.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/FilteredInstanceDeletable.java?rev=781093&view=auto
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/FilteredInstanceDeletable.java (added)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/FilteredInstanceDeletable.java Tue Jun  2 17:42:46 2009
@@ -0,0 +1,24 @@
+package org.apache.ode.bpel.dao;
+
+import java.util.Set;
+
+import org.apache.ode.bpel.common.InstanceFilter;
+import org.apache.ode.bpel.iapi.ProcessConf.CLEANUP_CATEGORY;
+
+/**
+ * An implementation of this interface provides a way to delete runtime process instances
+ * through the InstanceFilter.
+ * 
+ * @author sean
+ *
+ */
+public interface FilteredInstanceDeletable {
+    /**
+     * Deletes instance filter by the given instance filter and clean up categories.
+     * 
+     * @param filter instance filter
+     * @param categories clean up categories
+     * @return returns the number of instances that are deleted
+     */
+    int deleteInstances(InstanceFilter filter, Set<CLEANUP_CATEGORY> categories);
+}

Modified: ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ProcessDAO.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ProcessDAO.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ProcessDAO.java (original)
+++ ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/ProcessDAO.java Tue Jun  2 17:42:46 2009
@@ -104,8 +104,11 @@
 
     /**
      * Remove the process from the database (along with any instance, variable data, etc...).
+     * A ProcessDAO implementation that implements the DeferredProcessInstanceCleanable can opt to removed only
+     * the process and its routes on this call. The framework will call the deleteInstances() on 
+     * the DeferredProcessInstanceCleanable interface in another thread later.
      */
-    void delete();
+    void deleteProcessAndRoutes();
 
     CorrelatorDAO addCorrelator(String correlator);
 

Modified: ode/trunk/bpel-schemas/src/main/xsd/dd.xsd
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-schemas/src/main/xsd/dd.xsd?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/bpel-schemas/src/main/xsd/dd.xsd (original)
+++ ode/trunk/bpel-schemas/src/main/xsd/dd.xsd Tue Jun  2 17:42:46 2009
@@ -23,7 +23,8 @@
            xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03"
            elementFormDefault="qualified">
 
-    <xs:element name="deploy" id="deploy" type="dd:tDeployment"/>
+    <xs:element name="deploy" id="deploy" type="dd:tDeployment">
+    </xs:element>
 
     <xs:complexType name="tDeployment">
         <xs:sequence>
@@ -93,9 +94,9 @@
                             </xs:annotation>
                         </xs:element>
 
-                        <xs:element name="cleanup"
-                            minOccurs="0" maxOccurs="3"
-                            type="dd:tCleanup" />
+                        <xs:element name="cleanup" minOccurs="0" maxOccurs="3" type="dd:tCleanup" />
+                        <xs:element name="schedule" minOccurs="0" maxOccurs="unbounded" type="dd:tSchedule">
+                        </xs:element>
                     </xs:sequence>
 
                     <xs:attribute name="name" type="xs:QName" use="required"/>
@@ -147,7 +148,7 @@
             </xs:restriction>
         </xs:complexContent>
     </xs:complexType>
-    
+
     <xs:complexType name="tMexInterceptor" >
         <xs:annotation>
             <xs:documentation>
@@ -206,8 +207,9 @@
                     </xs:restriction>
                 </xs:simpleType>
             </xs:element>
+            <xs:element name="filter" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
-        <xs:attribute name="on" use="required">
+        <xs:attribute name="on" use="optional">
             <xs:simpleType>
                 <xs:restriction base="xs:string">
                     <xs:enumeration value="success" />
@@ -217,4 +219,12 @@
             </xs:simpleType>
         </xs:attribute>
     </xs:complexType>
+
+    <xs:complexType name="tSchedule">
+        <xs:sequence>
+            <xs:element name="cleanup" type="dd:tCleanup" minOccurs="0" maxOccurs="unbounded">
+            </xs:element>
+        </xs:sequence>
+        <xs:attribute name="when" type="xs:string" use="required"></xs:attribute>
+    </xs:complexType>
 </xs:schema>

Added: ode/trunk/bpel-schemas/src/main/xsd/schedules.xsd
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-schemas/src/main/xsd/schedules.xsd?rev=781093&view=auto
==============================================================================
--- ode/trunk/bpel-schemas/src/main/xsd/schedules.xsd (added)
+++ ode/trunk/bpel-schemas/src/main/xsd/schedules.xsd Tue Jun  2 17:42:46 2009
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://www.apache.org/ode/schemas/schedules/2009/05"
+	xmlns:schedules="http://www.apache.org/ode/schemas/schedules/2009/05"
+	elementFormDefault="qualified" xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03">
+
+	<xs:import namespace="http://www.apache.org/ode/schemas/dd/2007/03" schemaLocation="dd.xsd"></xs:import>
+	<xs:element name="schedules" id="schedules"
+		type="schedules:tSchedules" />
+
+
+	<xs:complexType name="tSchedule">
+		<xs:sequence>
+			<xs:element name="cleanup" type="dd:tCleanup"
+				minOccurs="0" maxOccurs="unbounded">
+			</xs:element>
+		</xs:sequence>
+		<xs:attribute name="when" type="xs:string" use="required"></xs:attribute>
+	</xs:complexType>
+
+
+	<xs:complexType name="tSchedules">
+		<xs:sequence maxOccurs="unbounded" minOccurs="0">
+			<xs:element name="schedule" type="schedules:tSchedule"></xs:element>
+		</xs:sequence>
+	</xs:complexType>
+</xs:schema>

Added: ode/trunk/bpel-schemas/src/main/xsd/schedules.xsdconfig
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-schemas/src/main/xsd/schedules.xsdconfig?rev=781093&view=auto
==============================================================================
--- ode/trunk/bpel-schemas/src/main/xsd/schedules.xsdconfig (added)
+++ ode/trunk/bpel-schemas/src/main/xsd/schedules.xsdconfig Tue Jun  2 17:42:46 2009
@@ -0,0 +1,32 @@
+<!--
+  ~ 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.
+  -->
+
+<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config"
+           xmlns:dd="http://www.apache.org/ode/schemas/schedules/2009/05">
+
+  <xb:namespace uri="http://www.apache.org/ode/schemas/schedules/2009/05">
+    <xb:package>org.apache.ode.bpel.schedules</xb:package>
+  </xb:namespace> 
+  
+  <xb:namespace uri="##any">
+    <xb:prefix></xb:prefix>
+    <xb:suffix></xb:suffix>
+  </xb:namespace>
+
+</xb:config>

Modified: ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessCleanupConfImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessCleanupConfImpl.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessCleanupConfImpl.java (original)
+++ ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessCleanupConfImpl.java Tue Jun  2 17:42:46 2009
@@ -12,60 +12,60 @@
 import org.apache.ode.bpel.iapi.ProcessConf.CLEANUP_CATEGORY;
 
 public class ProcessCleanupConfImpl {
-	protected static Log __log = LogFactory.getLog(ProcessCleanupConfImpl.class);
-	
-	private final Set<CLEANUP_CATEGORY> successCategories = EnumSet.noneOf(CLEANUP_CATEGORY.class);
-	private final Set<CLEANUP_CATEGORY> failureCategories = EnumSet.noneOf(CLEANUP_CATEGORY.class);
-	
-	// package default
+    protected static Log __log = LogFactory.getLog(ProcessCleanupConfImpl.class);
+    
+    private final Set<CLEANUP_CATEGORY> successCategories = EnumSet.noneOf(CLEANUP_CATEGORY.class);
+    private final Set<CLEANUP_CATEGORY> failureCategories = EnumSet.noneOf(CLEANUP_CATEGORY.class);
+    
+    // package default
     ProcessCleanupConfImpl(TDeployment.Process pinfo) {
-		for( TCleanup cleanup : pinfo.getCleanupList() ) {
-			if( cleanup.getOn() == TCleanup.On.SUCCESS || cleanup.getOn() == TCleanup.On.ALWAYS ) {
-				processACleanup(successCategories, cleanup.getCategoryList());
-			}
-			if( cleanup.getOn() == TCleanup.On.FAILURE || cleanup.getOn() == TCleanup.On.ALWAYS ) {
-				processACleanup(failureCategories, cleanup.getCategoryList());
-			}
-		}
-		
-		// validate configurations
-		Set<CLEANUP_CATEGORY> categories = getCleanupCategories(true);
-		if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) {
-			throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!");
-		}
-		categories = getCleanupCategories(false);
-		if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) {
-			throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!");
-		}
+        for( TCleanup cleanup : pinfo.getCleanupList() ) {
+            if( cleanup.getOn() == TCleanup.On.SUCCESS || cleanup.getOn() == TCleanup.On.ALWAYS ) {
+                processACleanup(successCategories, cleanup.getCategoryList());
+            }
+            if( cleanup.getOn() == TCleanup.On.FAILURE || cleanup.getOn() == TCleanup.On.ALWAYS ) {
+                processACleanup(failureCategories, cleanup.getCategoryList());
+            }
+        }
+        
+        // validate configurations
+        Set<CLEANUP_CATEGORY> categories = getCleanupCategories(true);
+        if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) {
+            throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!");
+        }
+        categories = getCleanupCategories(false);
+        if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) {
+            throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!");
+        }
     }
 
-    private void processACleanup(Set<CLEANUP_CATEGORY> categories, List<TCleanup.Category.Enum> categoryList) {
-		if( categoryList.isEmpty() ) {
-			// add all categories
-			categories.addAll(EnumSet.allOf(CLEANUP_CATEGORY.class));
-		} else {
-			for( TCleanup.Category.Enum aCategory : categoryList ) {
-				if( aCategory == TCleanup.Category.ALL) {
-					// add all categories
-					categories.addAll(EnumSet.allOf(CLEANUP_CATEGORY.class));
-				} else {
-					categories.add(CLEANUP_CATEGORY.fromString(aCategory.toString()));
-				}
-			}
-		}
+    public static void processACleanup(Set<CLEANUP_CATEGORY> categories, List<TCleanup.Category.Enum> categoryList) {
+        if( categoryList.isEmpty() ) {
+            // add all categories
+            categories.addAll(EnumSet.allOf(CLEANUP_CATEGORY.class));
+        } else {
+            for( TCleanup.Category.Enum aCategory : categoryList ) {
+                if( aCategory == TCleanup.Category.ALL) {
+                    // add all categories
+                    categories.addAll(EnumSet.allOf(CLEANUP_CATEGORY.class));
+                } else {
+                    categories.add(CLEANUP_CATEGORY.fromString(aCategory.toString()));
+                }
+            }
+        }
     }
     
     // package default
     boolean isCleanupCategoryEnabled(boolean instanceSucceeded, CLEANUP_CATEGORY category) {
-    	if( instanceSucceeded ) {
-    		return successCategories.contains(category);
-    	} else {
-    		return failureCategories.contains(category);
-    	}
+        if( instanceSucceeded ) {
+            return successCategories.contains(category);
+        } else {
+            return failureCategories.contains(category);
+        }
     }
     
     // package default
     Set<CLEANUP_CATEGORY> getCleanupCategories(boolean instanceSucceeded) {
-    	return instanceSucceeded ? successCategories : failureCategories;
+        return instanceSucceeded ? successCategories : failureCategories;
     }
 }

Modified: ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java (original)
+++ ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java Tue Jun  2 17:42:46 2009
@@ -25,6 +25,7 @@
 import java.io.InputStream;
 import java.io.FileFilter;
 import java.net.URI;
+import java.text.ParseException;
 import java.util.*;
 
 import javax.wsdl.Definition;
@@ -32,11 +33,13 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.dd.TCleanup;
 import org.apache.ode.bpel.dd.TDeployment;
 import org.apache.ode.bpel.dd.TInvoke;
 import org.apache.ode.bpel.dd.TMexInterceptor;
 import org.apache.ode.bpel.dd.TProcessEvents;
 import org.apache.ode.bpel.dd.TProvide;
+import org.apache.ode.bpel.dd.TSchedule;
 import org.apache.ode.bpel.dd.TScopeEvents;
 import org.apache.ode.bpel.dd.TService;
 import org.apache.ode.bpel.evt.BpelEvent;
@@ -48,6 +51,7 @@
 import org.apache.ode.bpel.iapi.EndpointReference;
 import org.apache.ode.bpel.rapi.ProcessModel;
 import org.apache.ode.store.DeploymentUnitDir.CBPInfo;
+import org.apache.ode.utils.CronExpression;
 import org.apache.ode.utils.DOMUtils;
 import org.apache.ode.utils.HierarchicalProperties;
 import org.apache.ode.utils.WatchDog;
@@ -111,6 +115,8 @@
         initEventList();
 
         processCleanupConfImpl = new ProcessCleanupConfImpl(pinfo);
+        
+        initCronSchedules();
     }
 
     private List<File> collectEndpointConfigFiles() {
@@ -369,6 +375,7 @@
         }
     }
 
+    @SuppressWarnings("unchecked")
     public Map<String, String> getEndpointProperties(EndpointReference epr) {
         final Map map = eprContext.getConfigLookup(epr);
         final QName service = (QName) map.get("service");
@@ -437,4 +444,40 @@
     public Set<CLEANUP_CATEGORY> getCleanupCategories(boolean instanceSucceeded) {
         return processCleanupConfImpl.getCleanupCategories(instanceSucceeded);
     }
+
+    private void initCronSchedules() {
+        for(TSchedule schedule : _pinfo.getScheduleList()) {
+            for(TCleanup cleanup : schedule.getCleanupList()) {
+                assert !cleanup.getFilterList().isEmpty();
+            }
+        }
+    }
+    
+    public List<CronJob> getCronJobs() {
+        List<CronJob> jobs = new ArrayList<CronJob>();
+        
+        for(TSchedule schedule : _pinfo.getScheduleList()) {
+            CronJob job = new CronJob();
+            try {
+                job.setCronExpression(new CronExpression(schedule.getWhen()));
+                for(final TCleanup aCleanup : schedule.getCleanupList()) {
+                    CleanupInfo cleanupInfo = new CleanupInfo();
+                    assert !aCleanup.getFilterList().isEmpty();
+                    cleanupInfo.setFilters(aCleanup.getFilterList());
+                    ProcessCleanupConfImpl.processACleanup(cleanupInfo.getCategories(), aCleanup.getCategoryList());
+                    
+                    Map<String, Object> runnableDetails = new HashMap<String, Object>();
+                    runnableDetails.put("cleanupInfo", cleanupInfo);
+                    runnableDetails.put("pid", _pid);
+                    runnableDetails.put("transactionSize", 10);
+                    job.getRunnableDetailList().add(runnableDetails);
+                }
+                jobs.add(job);
+            } catch( ParseException pe ) {
+                __log.error("Exception during parsing the schedule cron expression: " + schedule.getWhen() + ", skipped the scheduled job.", pe);
+            }
+        }
+        
+        return jobs;
+    }
 }

Modified: ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java
URL: http://svn.apache.org/viewvc/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java (original)
+++ ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/SessionManager.java Tue Jun  2 17:42:46 2009
@@ -102,7 +102,8 @@
 	        .addClass(HFaultData.class)
 	        .addClass(HActivityRecovery.class)
 	        .addClass(HResourceRoute.class)
-            .addClass(HLargeData.class);
+            .addClass(HLargeData.class)
+            .addClass(HMessageExchangeProperty.class);
   }
 
   public static TransactionManager getTransactionManager(Properties props) {

Modified: ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java (original)
+++ ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java Tue Jun  2 17:42:46 2009
@@ -45,6 +45,7 @@
 import javax.xml.namespace.QName;
 import java.io.ByteArrayOutputStream;
 import java.io.ObjectOutputStream;
+import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.*;
 
@@ -128,6 +129,13 @@
         return new ProcessDaoImpl(_sm, process);
     }
 
+    public ProcessDAO createTransientProcess(Serializable id) {
+        HProcess process = new HProcess();
+        process.setId((Long)id);
+
+        return new ProcessDaoImpl(_sm, process);
+    }
+
     public ProcessDAO getProcess(QName processId) {
 
         try {

Modified: ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java
URL: http://svn.apache.org/viewvc/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java (original)
+++ ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java Tue Jun  2 17:42:46 2009
@@ -25,6 +25,7 @@
 import org.hibernate.Session;
 
 import java.io.Serializable;
+import java.util.Collection;
 
 /**
  * Base class for our DAO objects.
@@ -56,27 +57,45 @@
 	 * @see org.apache.ode.utils.dao.DAO#getDHandle()
 	 */
 	public Serializable getDHandle() {
-    return new HibernateHandle(getClass(), _hobj.getClass(), getSession().getIdentifier(_hobj));
+        return new HibernateHandle(getClass(), _hobj.getClass(), getSession().getIdentifier(_hobj));
 	}
   
-  protected Session getSession(){
-  	return _sm.getSession();
-  }
+    protected Session getSession(){
+  	    return _sm.getSession();
+    }
   
-  public HObject getHibernateObj(){
-  	return _hobj;
-  }
+    public HObject getHibernateObj(){
+  	    return _hobj;
+    }
   
-  public boolean equals(Object obj){
-  	assert obj instanceof HibernateDao;
-    return _hobj.getId().equals(((HibernateDao)obj)._hobj.getId());
-  }
+    public Serializable getId() {
+        if( _hobj != null ) {
+            return _hobj.getId();
+        }
+        return null;
+    }
+
+    public boolean equals(Object obj){
+  	    assert obj instanceof HibernateDao;
+        return _hobj.getId().equals(((HibernateDao)obj)._hobj.getId());
+    }
   
-  public int hashCode(){
-  	return _hobj.getId().hashCode();
-  }
+    public int hashCode(){
+  	    return _hobj.getId().hashCode();
+    }
   
-  protected void update() {
-    _sm.getSession().update(_hobj);
-  }
+    protected void update() {
+        _sm.getSession().update(_hobj);
+    }
+
+    public static Object[] toIdArray(Collection<? extends HibernateDao> daos) {
+        Object[] ids = new Object[daos.size()];
+
+        int index = 0;
+        for(  HibernateDao dao : daos ) {
+            ids[index++] = dao.getId();
+        }
+
+        return ids;
+    }
 }

Modified: ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java?rev=781093&r1=781092&r2=781093&view=diff
==============================================================================
--- ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java (original)
+++ ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java Tue Jun  2 17:42:46 2009
@@ -36,7 +36,7 @@
     private HMessage _hself;
     private Session _session;
 
-    protected MessageDaoImpl(SessionManager sessionManager, HMessage hobj) {
+    public MessageDaoImpl(SessionManager sessionManager, HMessage hobj) {
         super(sessionManager, hobj);
         entering("MessageDaoImpl.MessageDaoImpl");
         _hself = hobj;