You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by bo...@apache.org on 2007/08/20 23:32:23 UTC
svn commit: r567837 - in /ode/trunk:
bpel-scripts/src/main/resources/2.0/good/AsyncProcess/
bpel-scripts/src/main/resources/2.0/good/if/
bpel-test/src/test/resources/bpel/2.0/TestFaultHandlers/
bpel-test/src/test/resources/bpel/2.0/TestFlowActivity1/ b...
Author: boisvert
Date: Mon Aug 20 14:32:21 2007
New Revision: 567837
URL: http://svn.apache.org/viewvc?rev=567837&view=rev
Log:
Remove deprecated <bpel:then> element that never made it to BPEL 2.0 final (c.f. issue 237)
Modified:
ode/trunk/bpel-scripts/src/main/resources/2.0/good/AsyncProcess/AsyncProcess2.bpel
ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If1-2.0.bpel
ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If2-2.0.bpel
ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If3-2.0.bpel
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFaultHandlers/testFaultHandlers.bpel
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity1/TestActivityFlow.bpel
ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity2/TestActivityFlow.bpel
Modified: ode/trunk/bpel-scripts/src/main/resources/2.0/good/AsyncProcess/AsyncProcess2.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-scripts/src/main/resources/2.0/good/AsyncProcess/AsyncProcess2.bpel?rev=567837&r1=567836&r2=567837&view=diff
==============================================================================
--- ode/trunk/bpel-scripts/src/main/resources/2.0/good/AsyncProcess/AsyncProcess2.bpel (original)
+++ ode/trunk/bpel-scripts/src/main/resources/2.0/good/AsyncProcess/AsyncProcess2.bpel Mon Aug 20 14:32:21 2007
@@ -124,8 +124,7 @@
</copy>
</assign>
<if name="switch">
- <condition>bpws:getVariableData('Request', 'payload', '/typ:AsyncRequest/typ:Order/typ:OrderType/text()') = 'BookOrder'</condition>
- <then>
+ <condition>bpws:getVariableData('Request', 'payload', '/typ:AsyncRequest/typ:Order/typ:OrderType/text()') = 'BookOrder'</condition>
<invoke name="BookOrderInvoke"
operation="BookOrder"
inputVariable="Request"
@@ -136,7 +135,6 @@
<correlation set="OrderCorrelator" initiate="yes" pattern="out" />
</correlations>
</invoke>
- </then>
<else>
<invoke name="PaperOrderInvoke"
operation="PaperOrder"
Modified: ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If1-2.0.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If1-2.0.bpel?rev=567837&r1=567836&r2=567837&view=diff
==============================================================================
--- ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If1-2.0.bpel (original)
+++ ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If1-2.0.bpel Mon Aug 20 14:32:21 2007
@@ -52,14 +52,12 @@
<sequence>
<if>
<condition>$var1/TestPart = 'abc'</condition>
- <then>
<assign>
<copy>
<from>'case1'</from>
<to>$var2</to>
</copy>
</assign>
- </then>
<elseif>
<condition>$var1/TestPart = 'def'</condition>
<assign>
Modified: ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If2-2.0.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If2-2.0.bpel?rev=567837&r1=567836&r2=567837&view=diff
==============================================================================
--- ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If2-2.0.bpel (original)
+++ ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If2-2.0.bpel Mon Aug 20 14:32:21 2007
@@ -19,22 +19,22 @@
-->
<process name="if2-2.0"
- targetNamespace="http://ode/bpel/unit-test"
- xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
- xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
- xmlns:tns="http://ode/bpel/unit-test"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:test="http://ode/bpel/unit-test.wsdl"
- suppressJoinFailure="yes">
+ targetNamespace="http://ode/bpel/unit-test"
+ xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
+ xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
+ xmlns:tns="http://ode/bpel/unit-test"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:test="http://ode/bpel/unit-test.wsdl"
+ suppressJoinFailure="yes">
<import namespace="http://ode/bpel/unit-test"
- importType="http://schemas.xmlsoap.org/wsdl/"
- location="./test.wsdl" />
+ importType="http://schemas.xmlsoap.org/wsdl/"
+ location="./test.wsdl" />
<partnerLinks>
<partnerLink name="testPartnerLink"
- partnerLinkType="test:TestPartnerLinkType"
- myRole="me" />
+ partnerLinkType="test:TestPartnerLinkType"
+ myRole="me" />
</partnerLinks>
<variables>
@@ -44,52 +44,50 @@
<sequence>
<receive name="startReceive"
- createInstance="yes"
- partnerLink="testPartnerLink"
- portType="test:TestPortType"
- operation="testOperation"
- variable="var1"/>
+ createInstance="yes"
+ partnerLink="testPartnerLink"
+ portType="test:TestPortType"
+ operation="testOperation"
+ variable="var1"/>
<sequence>
<if>
- <condition>$var1/TestPart = 'def'</condition>
- <then>
- <assign>
- <copy>
- <from>'case1'</from>
- <to>$var2</to>
- </copy>
- </assign>
- </then>
- <elseif>
- <condition>$var1/TestPart = 'abc'</condition>
- <assign>
- <copy>
- <from>'case2'</from>
- <to>$var2</to>
- </copy>
- </assign>
- </elseif>
- <else>
- <assign>
- <copy>
- <from>'otherwise'</from>
- <to>$var2</to>
- </copy>
- </assign>
- </else>
+ <condition>$var1/TestPart = 'def'</condition>
+ <assign>
+ <copy>
+ <from>'case1'</from>
+ <to>$var2</to>
+ </copy>
+ </assign>
+ <elseif>
+ <condition>$var1/TestPart = 'abc'</condition>
+ <assign>
+ <copy>
+ <from>'case2'</from>
+ <to>$var2</to>
+ </copy>
+ </assign>
+ </elseif>
+ <else>
+ <assign>
+ <copy>
+ <from>'otherwise'</from>
+ <to>$var2</to>
+ </copy>
+ </assign>
+ </else>
</if>
<assign name="b">
- <copy>
- <from>$var2</from>
- <to>$var1/TestPart</to>
- </copy>
+ <copy>
+ <from>$var2</from>
+ <to>$var1/TestPart</to>
+ </copy>
</assign>
</sequence>
<reply name="endReply"
- operation="testOperation"
- partnerLink="testPartnerLink"
- portType="test:TestPortType"
- variable="var1"/>
+ operation="testOperation"
+ partnerLink="testPartnerLink"
+ portType="test:TestPortType"
+ variable="var1"/>
</sequence>
</process>
Modified: ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If3-2.0.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If3-2.0.bpel?rev=567837&r1=567836&r2=567837&view=diff
==============================================================================
--- ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If3-2.0.bpel (original)
+++ ode/trunk/bpel-scripts/src/main/resources/2.0/good/if/If3-2.0.bpel Mon Aug 20 14:32:21 2007
@@ -52,14 +52,12 @@
<sequence>
<if>
<condition>$var1/TestPart = 'foo'</condition>
- <then>
<assign>
<copy>
<from>'case1'</from>
<to>$var2</to>
</copy>
</assign>
- </then>
<elseif>
<condition>$var1/TestPart = 'bar'</condition>
<assign>
Modified: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFaultHandlers/testFaultHandlers.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFaultHandlers/testFaultHandlers.bpel?rev=567837&r1=567836&r2=567837&view=diff
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFaultHandlers/testFaultHandlers.bpel (original)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFaultHandlers/testFaultHandlers.bpel Mon Aug 20 14:32:21 2007
@@ -1,40 +1,40 @@
-<!--
- ~ 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.
--->
-
-<process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ../../../../../../../bpel-schemas/src/main/resources/wsbpel_executable.xsd"
- xmlns:tns="http://ode/bpel/unit-test/testFaultHandlers"
- xmlns:wns="http://ode/bpel/unit-test/testFaultHandlers.wsdl"
- xmlns:prb="http://ode/bpel/unit-test/ProbeService.wsdl"
- xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
- name="TestFaultHandlersProcess"
- targetNamespace="http://ode/bpel/unit-test/testFaultHandlers"
- queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
- expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+<!--
+ ~ 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.
+-->
+
+<process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ../../../../../../../bpel-schemas/src/main/resources/wsbpel_executable.xsd"
+ xmlns:tns="http://ode/bpel/unit-test/testFaultHandlers"
+ xmlns:wns="http://ode/bpel/unit-test/testFaultHandlers.wsdl"
+ xmlns:prb="http://ode/bpel/unit-test/ProbeService.wsdl"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ name="TestFaultHandlersProcess"
+ targetNamespace="http://ode/bpel/unit-test/testFaultHandlers"
+ queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+ expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
suppressJoinFailure="yes">
-
- <import location="testFaultHandlers.wsdl"
- namespace="http://ode/bpel/unit-test/testFaultHandlers.wsdl"
- importType="http://schemas.xmlsoap.org/wsdl/" />
- <import location="../ProbeService/probeService.wsdl"
- namespace="http://ode/bpel/unit-test/ProbeService.wsdl"
- importType="http://schemas.xmlsoap.org/wsdl/"/>
+
+ <import location="testFaultHandlers.wsdl"
+ namespace="http://ode/bpel/unit-test/testFaultHandlers.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+ <import location="../ProbeService/probeService.wsdl"
+ namespace="http://ode/bpel/unit-test/ProbeService.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/"/>
<!-- Unit test fault handlers -->
<!-- throw -->
@@ -59,9 +59,9 @@
<catchAll>
<sequence>
<assign>
- <copy>
- <from>
- <literal><![CDATA[caught fault with catchAll]]></literal>
+ <copy>
+ <from>
+ <literal><![CDATA[caught fault with catchAll]]></literal>
</from>
<to variable="probeInput" part="probeName"/>
</copy>
@@ -120,9 +120,9 @@
<sequence>
<assign>
- <copy>
- <from>
- <literal><![CDATA[caught testFault]]></literal>
+ <copy>
+ <from>
+ <literal><![CDATA[caught testFault]]></literal>
</from>
<to variable="probeInput" part="probeName"/>
</copy>
@@ -152,56 +152,54 @@
</faultHandlers>
<if>
- <!-- throws a named fault -->
+ <!-- throws a named fault -->
<condition>$request.faultIndicator1 = 'yes'</condition>
- <then>
- <sequence>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[throw testFault]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe1" partnerLink="probe"
- portType="prb:probeMessagePT"
- operation="probe"
- inputVariable="probeInput"
- outputVariable="probeInput">
- </invoke>
- <throw faultName="tns:testFault"/>
- </sequence>
- </then>
- <!-- throws an unknown fault -->
- <elseif>
- <condition>$request.faultIndicator2 = 'yes'</condition>
- <sequence>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[throw unknown fault]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe1" partnerLink="probe"
- portType="prb:probeMessagePT"
- operation="probe"
- inputVariable="probeInput"
- outputVariable="probeInput">
- </invoke>
-
- <throw faultName="tns:unknownFault"/>
- </sequence>
+ <sequence>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[throw testFault]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe1" partnerLink="probe"
+ portType="prb:probeMessagePT"
+ operation="probe"
+ inputVariable="probeInput"
+ outputVariable="probeInput">
+ </invoke>
+ <throw faultName="tns:testFault"/>
+ </sequence>
+ <!-- throws an unknown fault -->
+ <elseif>
+ <condition>$request.faultIndicator2 = 'yes'</condition>
+ <sequence>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[throw unknown fault]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe1" partnerLink="probe"
+ portType="prb:probeMessagePT"
+ operation="probe"
+ inputVariable="probeInput"
+ outputVariable="probeInput">
+ </invoke>
+
+ <throw faultName="tns:unknownFault"/>
+ </sequence>
</elseif>
</if>
</scope>
<assign>
- <copy>
- <from>
- <literal><![CDATA[process complete]]></literal>
+ <copy>
+ <from>
+ <literal><![CDATA[process complete]]></literal>
</from>
<to variable="probeInput" part="probeName"/>
</copy>
Modified: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity1/TestActivityFlow.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity1/TestActivityFlow.bpel?rev=567837&r1=567836&r2=567837&view=diff
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity1/TestActivityFlow.bpel (original)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity1/TestActivityFlow.bpel Mon Aug 20 14:32:21 2007
@@ -1,310 +1,308 @@
-<!--
- ~ 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.
--->
-
-<process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ../../../../../../../bpel-schemas/src/main/resources/wsbpel_executable.xsd"
- xmlns:tns="http://ode/bpel/unit-test/testFlowActivity1"
- xmlns:wns="http://ode/bpel/unit-test/testFlowActivity1.wsdl"
- xmlns:prb="http://ode/bpel/unit-test/ProbeService.wsdl"
- xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
- xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
- name="TestActivityFlow"
- targetNamespace="http://ode/bpel/unit-test/testFlowActivity1"
- suppressJoinFailure="yes"
- queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
- expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
-
- <!-- Test Flow using XPath 20 -->
-
- <import location="TestActivityFlow.wsdl"
- namespace="http://ode/bpel/unit-test/testFlowActivity1.wsdl"
- importType="http://schemas.xmlsoap.org/wsdl/" />
- <import location="../ProbeService/probeService.wsdl"
- namespace="http://ode/bpel/unit-test/ProbeService.wsdl"
- importType="http://schemas.xmlsoap.org/wsdl/"/>
-
- <!-- test control flow elements -->
- <!-- sequence -->
- <!-- flow ( links ) -->
- <!-- swith -->
- <!-- while -->
- <partnerLinks>
- <partnerLink name="request" partnerLinkType="wns:testFlowActivityRequest" myRole="testFlowActivityService"/>
- <partnerLink name="probe" partnerLinkType="wns:probeRequest" partnerRole="probeService" initializePartnerRole="yes"/>
- </partnerLinks>
- <variables>
- <variable name="request" messageType="wns:requestMessage"/>
- <variable name="probeInput" messageType="prb:probeMessage"/>
- <variable name="reply" messageType="wns:replyMessage"/>
- <variable name="internalState" messageType="wns:internalProcessData"/>
- </variables>
- <sequence>
- <flow>
- <links>
- <link name="receive-to-assign1"/>
- <link name="assign1-to-probe1"/>
- <link name="assign1-to-probe2"/>
- <link name="probe1-to-probe3"/>
- <link name="probe2-to-probe3"/>
- </links>
- <receive name="receive1" partnerLink="request" portType="wns:testFlowActivityPT"
- operation="request" variable="request" createInstance="yes">
- <sources>
- <source linkName="receive-to-assign1"/>
- </sources>
- </receive>
- <!-- Copy input variables to internal accumulators -->
- <!-- After the copy the process splits into two execution paths -->
- <sequence>
- <targets>
- <target linkName="receive-to-assign1"/>
- </targets>
- <sources>
- <source linkName="assign1-to-probe1"/>
- <source linkName="assign1-to-probe2"/>
- </sources>
- <assign name="assign1">
- <copy>
- <from>$request.requestMessageData/requestID</from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- <copy>
- <from variable="request" property="wns:testProbeData"/>
- <to variable="probeInput" part="probeData"/>
- </copy>
- </assign>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[root process splits into A and B]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe2" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- <!-- probe1 outbound status is dependent on the request input testFlow1 -->
- <sequence>
- <targets>
- <target linkName="assign1-to-probe1"/>
- </targets>
- <sources>
- <source linkName="probe1-to-probe3">
- <transitionCondition>bpws:getVariableProperty("request", "wns:testFlow1") =
- 'yes'</transitionCondition>
- </source>
- </sources>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[process A completes]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe3" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- <!-- probe2 outbound status is dependent on the request input testFlow2 -->
- <sequence>
- <targets>
- <target linkName="assign1-to-probe2"/>
- </targets>
- <sources>
- <source linkName="probe2-to-probe3">
- <transitionCondition>$request.requestMessageData/flowIndicators/indicatorTwo =
- 'yes'</transitionCondition>
- </source>
- </sources>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[process B completes]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe4" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- <!-- The split execution path from assign1 joins on probe3 -->
- <!-- Probe3 will only fire if the transition condition from probe1 and probe2 both evaluate to true -->
- <sequence>
- <targets>
- <joinCondition>$probe1-to-probe3 and $probe2-to-probe3</joinCondition>
- <target linkName="probe1-to-probe3"/>
- <target linkName="probe2-to-probe3"/>
- </targets>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[processes A and B merge on process C]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe5" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </flow>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[merge into root process]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe6" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <!-- from the input data loopIndicator set the number of loop interations -->
- <assign>
- <copy>
- <from>
- <literal><![CDATA[test switch statement]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe7" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <if>
- <condition>bpws:getVariableProperty("request", "wns:loopInd") = 'min'</condition>
- <then>
- <sequence>
- <assign name="flow1-min-assign">
- <copy>
- <from>5</from>
- <to variable="internalState" part="loop1"/>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[case min: set loop iterations = 5]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe8" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </then>
- <elseif>
- <condition>$request.requestMessageData/loopIndicator = 'max'</condition>
- <sequence>
- <assign name="flow1-max-assign">
- <copy>
- <from>10</from>
- <to variable="internalState" part="loop1"/>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[case max: set loop iterations = 10]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe9" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </elseif>
- <else>
- <sequence>
- <assign name="flow1-default-assign">
- <copy>
- <from>0</from>
- <to variable="internalState" part="loop1"/>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[otherwise: set loop iterations = 0]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </else>
- </if>
-
- <assign name="while-increment-initialize">
- <copy>
- <from>0</from>
- <to variable="internalState" part="loop1Counter"></to>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[test loop iterations]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <while>
- <condition>$internalState.loop1Counter < $internalState.loop1</condition>
- <sequence>
- <assign name="while-increment">
- <copy>
- <from>$internalState.loop1Counter + 1</from>
- <to variable="internalState" part="loop1Counter"/>
- </copy>
- <copy>
- <from>$internalState.loop1Counter + 1</from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe11" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
-
- </sequence>
- </while>
- <!-- copy internal accumulators to the reply message -->
- <assign>
- <copy>
- <from>
- <literal><![CDATA[test1Process complete]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe12" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <assign name="assign2">
- <copy>
- <from variable="probeInput" part="probeName"/>
- <to variable="reply" part="replyID"/>
- </copy>
- <copy>
- <from variable="probeInput" part="probeData"/>
- <to variable="reply" part="replyText"/>
- </copy>
- </assign>
- <reply name="reply" partnerLink="request" portType="wns:testFlowActivityPT" operation="request"
- variable="reply"> </reply>
- </sequence>
+<!--
+ ~ 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.
+-->
+
+<process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ../../../../../../../bpel-schemas/src/main/resources/wsbpel_executable.xsd"
+ xmlns:tns="http://ode/bpel/unit-test/testFlowActivity1"
+ xmlns:wns="http://ode/bpel/unit-test/testFlowActivity1.wsdl"
+ xmlns:prb="http://ode/bpel/unit-test/ProbeService.wsdl"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ name="TestActivityFlow"
+ targetNamespace="http://ode/bpel/unit-test/testFlowActivity1"
+ suppressJoinFailure="yes"
+ queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+ expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+
+ <!-- Test Flow using XPath 20 -->
+
+ <import location="TestActivityFlow.wsdl"
+ namespace="http://ode/bpel/unit-test/testFlowActivity1.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+ <import location="../ProbeService/probeService.wsdl"
+ namespace="http://ode/bpel/unit-test/ProbeService.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/"/>
+
+ <!-- test control flow elements -->
+ <!-- sequence -->
+ <!-- flow ( links ) -->
+ <!-- swith -->
+ <!-- while -->
+ <partnerLinks>
+ <partnerLink name="request" partnerLinkType="wns:testFlowActivityRequest" myRole="testFlowActivityService"/>
+ <partnerLink name="probe" partnerLinkType="wns:probeRequest" partnerRole="probeService" initializePartnerRole="yes"/>
+ </partnerLinks>
+ <variables>
+ <variable name="request" messageType="wns:requestMessage"/>
+ <variable name="probeInput" messageType="prb:probeMessage"/>
+ <variable name="reply" messageType="wns:replyMessage"/>
+ <variable name="internalState" messageType="wns:internalProcessData"/>
+ </variables>
+ <sequence>
+ <flow>
+ <links>
+ <link name="receive-to-assign1"/>
+ <link name="assign1-to-probe1"/>
+ <link name="assign1-to-probe2"/>
+ <link name="probe1-to-probe3"/>
+ <link name="probe2-to-probe3"/>
+ </links>
+ <receive name="receive1" partnerLink="request" portType="wns:testFlowActivityPT"
+ operation="request" variable="request" createInstance="yes">
+ <sources>
+ <source linkName="receive-to-assign1"/>
+ </sources>
+ </receive>
+ <!-- Copy input variables to internal accumulators -->
+ <!-- After the copy the process splits into two execution paths -->
+ <sequence>
+ <targets>
+ <target linkName="receive-to-assign1"/>
+ </targets>
+ <sources>
+ <source linkName="assign1-to-probe1"/>
+ <source linkName="assign1-to-probe2"/>
+ </sources>
+ <assign name="assign1">
+ <copy>
+ <from>$request.requestMessageData/requestID</from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ <copy>
+ <from variable="request" property="wns:testProbeData"/>
+ <to variable="probeInput" part="probeData"/>
+ </copy>
+ </assign>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[root process splits into A and B]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe2" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <!-- probe1 outbound status is dependent on the request input testFlow1 -->
+ <sequence>
+ <targets>
+ <target linkName="assign1-to-probe1"/>
+ </targets>
+ <sources>
+ <source linkName="probe1-to-probe3">
+ <transitionCondition>bpws:getVariableProperty("request", "wns:testFlow1") =
+ 'yes'</transitionCondition>
+ </source>
+ </sources>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[process A completes]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe3" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <!-- probe2 outbound status is dependent on the request input testFlow2 -->
+ <sequence>
+ <targets>
+ <target linkName="assign1-to-probe2"/>
+ </targets>
+ <sources>
+ <source linkName="probe2-to-probe3">
+ <transitionCondition>$request.requestMessageData/flowIndicators/indicatorTwo =
+ 'yes'</transitionCondition>
+ </source>
+ </sources>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[process B completes]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe4" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <!-- The split execution path from assign1 joins on probe3 -->
+ <!-- Probe3 will only fire if the transition condition from probe1 and probe2 both evaluate to true -->
+ <sequence>
+ <targets>
+ <joinCondition>$probe1-to-probe3 and $probe2-to-probe3</joinCondition>
+ <target linkName="probe1-to-probe3"/>
+ <target linkName="probe2-to-probe3"/>
+ </targets>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[processes A and B merge on process C]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe5" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ </flow>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[merge into root process]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe6" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <!-- from the input data loopIndicator set the number of loop interations -->
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[test switch statement]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe7" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <if>
+ <condition>bpws:getVariableProperty("request", "wns:loopInd") = 'min'</condition>
+ <sequence>
+ <assign name="flow1-min-assign">
+ <copy>
+ <from>5</from>
+ <to variable="internalState" part="loop1"/>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[case min: set loop iterations = 5]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe8" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <elseif>
+ <condition>$request.requestMessageData/loopIndicator = 'max'</condition>
+ <sequence>
+ <assign name="flow1-max-assign">
+ <copy>
+ <from>10</from>
+ <to variable="internalState" part="loop1"/>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[case max: set loop iterations = 10]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe9" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ </elseif>
+ <else>
+ <sequence>
+ <assign name="flow1-default-assign">
+ <copy>
+ <from>0</from>
+ <to variable="internalState" part="loop1"/>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[otherwise: set loop iterations = 0]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ </else>
+ </if>
+
+ <assign name="while-increment-initialize">
+ <copy>
+ <from>0</from>
+ <to variable="internalState" part="loop1Counter"></to>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[test loop iterations]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <while>
+ <condition>$internalState.loop1Counter < $internalState.loop1</condition>
+ <sequence>
+ <assign name="while-increment">
+ <copy>
+ <from>$internalState.loop1Counter + 1</from>
+ <to variable="internalState" part="loop1Counter"/>
+ </copy>
+ <copy>
+ <from>$internalState.loop1Counter + 1</from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe11" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+
+ </sequence>
+ </while>
+ <!-- copy internal accumulators to the reply message -->
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[test1Process complete]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe12" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <assign name="assign2">
+ <copy>
+ <from variable="probeInput" part="probeName"/>
+ <to variable="reply" part="replyID"/>
+ </copy>
+ <copy>
+ <from variable="probeInput" part="probeData"/>
+ <to variable="reply" part="replyText"/>
+ </copy>
+ </assign>
+ <reply name="reply" partnerLink="request" portType="wns:testFlowActivityPT" operation="request"
+ variable="reply"> </reply>
+ </sequence>
</process>
Modified: ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity2/TestActivityFlow.bpel
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity2/TestActivityFlow.bpel?rev=567837&r1=567836&r2=567837&view=diff
==============================================================================
--- ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity2/TestActivityFlow.bpel (original)
+++ ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestFlowActivity2/TestActivityFlow.bpel Mon Aug 20 14:32:21 2007
@@ -1,308 +1,306 @@
-<!--
- ~ 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.
--->
-
-<process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ../../../../../../../bpel-schemas/src/main/resources/wsbpel_executable.xsd"
- xmlns:tns="http://ode/bpel/unit-test/testFlowActivity2"
- xmlns:wns="http://ode/bpel/unit-test/testFlowActivity2.wsdl"
- xmlns:prb="http://ode/bpel/unit-test/ProbeService.wsdl"
- xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
- xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
- name="TestActivityFlow"
- targetNamespace="http://ode/bpel/unit-test/testFlowActivity2"
- suppressJoinFailure="yes">
-
- <!-- Test Flow using XPath 10 -->
-
- <import location="TestActivityFlow.wsdl"
- namespace="http://ode/bpel/unit-test/testFlowActivity2.wsdl"
- importType="http://schemas.xmlsoap.org/wsdl/" />
- <import location="../ProbeService/probeService.wsdl"
- namespace="http://ode/bpel/unit-test/ProbeService.wsdl"
- importType="http://schemas.xmlsoap.org/wsdl/"/>
-
- <!-- test control flow elements -->
- <!-- sequence -->
- <!-- flow ( links ) -->
- <!-- swith -->
- <!-- while -->
- <partnerLinks>
- <partnerLink name="request" partnerLinkType="wns:testFlowActivityRequest" myRole="testFlowActivityService"/>
- <partnerLink name="probe" partnerLinkType="wns:probeRequest" partnerRole="probeService" initializePartnerRole="yes"/>
- </partnerLinks>
- <variables>
- <variable name="request" messageType="wns:requestMessage"/>
- <variable name="probeInput" messageType="prb:probeMessage"/>
- <variable name="reply" messageType="wns:replyMessage"/>
- <variable name="internalState" messageType="wns:internalProcessData"/>
- </variables>
- <sequence>
- <flow>
- <links>
- <link name="receive-to-assign1"/>
- <link name="assign1-to-probe1"/>
- <link name="assign1-to-probe2"/>
- <link name="probe1-to-probe3"/>
- <link name="probe2-to-probe3"/>
- </links>
- <receive name="receive1" partnerLink="request" portType="wns:testFlowActivityPT"
- operation="request" variable="request" createInstance="yes">
- <sources>
- <source linkName="receive-to-assign1"/>
- </sources>
- </receive>
- <!-- Copy input variables to internal accumulators -->
- <!-- After the copy the process splits into two execution paths -->
- <sequence>
- <targets>
- <target linkName="receive-to-assign1"/>
- </targets>
- <sources>
- <source linkName="assign1-to-probe1"/>
- <source linkName="assign1-to-probe2"/>
- </sources>
- <assign name="assign1">
- <copy>
- <from>$request.requestMessageData/requestID</from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- <copy>
- <from variable="request" property="wns:testProbeData"/>
- <to variable="probeInput" part="probeData"/>
- </copy>
- </assign>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[root process splits into A and B]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe2" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- <!-- probe1 outbound status is dependent on the request input testFlow1 -->
- <sequence>
- <targets>
- <target linkName="assign1-to-probe1"/>
- </targets>
- <sources>
- <source linkName="probe1-to-probe3">
- <transitionCondition>bpws:getVariableProperty("request", "wns:testFlow1") =
- 'yes'</transitionCondition>
- </source>
- </sources>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[process A completes]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe3" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- <!-- probe2 outbound status is dependent on the request input testFlow2 -->
- <sequence>
- <targets>
- <target linkName="assign1-to-probe2"/>
- </targets>
- <sources>
- <source linkName="probe2-to-probe3">
- <transitionCondition>$request.requestMessageData/flowIndicators/indicatorTwo =
- 'yes'</transitionCondition>
- </source>
- </sources>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[process B completes]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe4" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- <!-- The split execution path from assign1 joins on probe3 -->
- <!-- Probe3 will only fire if the transition condition from probe1 and probe2 both evaluate to true -->
- <sequence>
- <targets>
- <joinCondition>$probe1-to-probe3 and $probe2-to-probe3</joinCondition>
- <target linkName="probe1-to-probe3"/>
- <target linkName="probe2-to-probe3"/>
- </targets>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[processes A and B merge on process C]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe5" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </flow>
- <assign>
- <copy>
- <from>
- <literal><![CDATA[merge into root process]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe6" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <!-- from the input data loopIndicator set the number of loop interations -->
- <assign>
- <copy>
- <from>
- <literal><![CDATA[test switch statement]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe7" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <if>
- <condition>bpws:getVariableProperty("request", "wns:loopInd") = 'min'</condition>
- <then>
- <sequence>
- <assign name="flow1-min-assign">
- <copy>
- <from>5</from>
- <to variable="internalState" part="loop1"/>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[case min: set loop iterations = 5]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe8" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </then>
- <elseif>
- <condition>$request.requestMessageData/loopIndicator = 'max'</condition>
- <sequence>
- <assign name="flow1-max-assign">
- <copy>
- <from>10</from>
- <to variable="internalState" part="loop1"/>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[case max: set loop iterations = 10]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe9" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </elseif>
- <else>
- <sequence>
- <assign name="flow1-default-assign">
- <copy>
- <from>0</from>
- <to variable="internalState" part="loop1"/>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[otherwise: set loop iterations = 0]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"
- > </invoke>
- </sequence>
- </else>
- </if>
-
- <assign name="while-increment-initialize">
- <copy>
- <from>0</from>
- <to variable="internalState" part="loop1Counter"></to>
- </copy>
- <copy>
- <from>
- <literal><![CDATA[test loop iterations]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <while>
- <condition>$internalState.loop1Counter < $internalState.loop1</condition>
- <sequence>
- <assign name="while-increment">
- <copy>
- <from>$internalState.loop1Counter + 1</from>
- <to variable="internalState" part="loop1Counter"/>
- </copy>
- <copy>
- <from>$internalState.loop1Counter + 1</from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe11" partnerLink="probe" portType="prb:probeMessagePT"
- operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
-
- </sequence>
- </while>
- <!-- copy internal accumulators to the reply message -->
- <assign>
- <copy>
- <from>
- <literal><![CDATA[test1Process complete]]></literal>
- </from>
- <to variable="probeInput" part="probeName"/>
- </copy>
- </assign>
- <invoke name="probe12" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
- inputVariable="probeInput" outputVariable="probeInput"> </invoke>
- <assign name="assign2">
- <copy>
- <from variable="probeInput" part="probeName"/>
- <to variable="reply" part="replyID"/>
- </copy>
- <copy>
- <from variable="probeInput" part="probeData"/>
- <to variable="reply" part="replyText"/>
- </copy>
- </assign>
- <reply name="reply" partnerLink="request" portType="wns:testFlowActivityPT" operation="request"
- variable="reply"> </reply>
- </sequence>
+<!--
+ ~ 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.
+-->
+
+<process xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ../../../../../../../bpel-schemas/src/main/resources/wsbpel_executable.xsd"
+ xmlns:tns="http://ode/bpel/unit-test/testFlowActivity2"
+ xmlns:wns="http://ode/bpel/unit-test/testFlowActivity2.wsdl"
+ xmlns:prb="http://ode/bpel/unit-test/ProbeService.wsdl"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ name="TestActivityFlow"
+ targetNamespace="http://ode/bpel/unit-test/testFlowActivity2"
+ suppressJoinFailure="yes">
+
+ <!-- Test Flow using XPath 10 -->
+
+ <import location="TestActivityFlow.wsdl"
+ namespace="http://ode/bpel/unit-test/testFlowActivity2.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+ <import location="../ProbeService/probeService.wsdl"
+ namespace="http://ode/bpel/unit-test/ProbeService.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/"/>
+
+ <!-- test control flow elements -->
+ <!-- sequence -->
+ <!-- flow ( links ) -->
+ <!-- swith -->
+ <!-- while -->
+ <partnerLinks>
+ <partnerLink name="request" partnerLinkType="wns:testFlowActivityRequest" myRole="testFlowActivityService"/>
+ <partnerLink name="probe" partnerLinkType="wns:probeRequest" partnerRole="probeService" initializePartnerRole="yes"/>
+ </partnerLinks>
+ <variables>
+ <variable name="request" messageType="wns:requestMessage"/>
+ <variable name="probeInput" messageType="prb:probeMessage"/>
+ <variable name="reply" messageType="wns:replyMessage"/>
+ <variable name="internalState" messageType="wns:internalProcessData"/>
+ </variables>
+ <sequence>
+ <flow>
+ <links>
+ <link name="receive-to-assign1"/>
+ <link name="assign1-to-probe1"/>
+ <link name="assign1-to-probe2"/>
+ <link name="probe1-to-probe3"/>
+ <link name="probe2-to-probe3"/>
+ </links>
+ <receive name="receive1" partnerLink="request" portType="wns:testFlowActivityPT"
+ operation="request" variable="request" createInstance="yes">
+ <sources>
+ <source linkName="receive-to-assign1"/>
+ </sources>
+ </receive>
+ <!-- Copy input variables to internal accumulators -->
+ <!-- After the copy the process splits into two execution paths -->
+ <sequence>
+ <targets>
+ <target linkName="receive-to-assign1"/>
+ </targets>
+ <sources>
+ <source linkName="assign1-to-probe1"/>
+ <source linkName="assign1-to-probe2"/>
+ </sources>
+ <assign name="assign1">
+ <copy>
+ <from>$request.requestMessageData/requestID</from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ <copy>
+ <from variable="request" property="wns:testProbeData"/>
+ <to variable="probeInput" part="probeData"/>
+ </copy>
+ </assign>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[root process splits into A and B]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe2" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <!-- probe1 outbound status is dependent on the request input testFlow1 -->
+ <sequence>
+ <targets>
+ <target linkName="assign1-to-probe1"/>
+ </targets>
+ <sources>
+ <source linkName="probe1-to-probe3">
+ <transitionCondition>bpws:getVariableProperty("request", "wns:testFlow1") =
+ 'yes'</transitionCondition>
+ </source>
+ </sources>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[process A completes]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe3" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <!-- probe2 outbound status is dependent on the request input testFlow2 -->
+ <sequence>
+ <targets>
+ <target linkName="assign1-to-probe2"/>
+ </targets>
+ <sources>
+ <source linkName="probe2-to-probe3">
+ <transitionCondition>$request.requestMessageData/flowIndicators/indicatorTwo =
+ 'yes'</transitionCondition>
+ </source>
+ </sources>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[process B completes]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe4" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <!-- The split execution path from assign1 joins on probe3 -->
+ <!-- Probe3 will only fire if the transition condition from probe1 and probe2 both evaluate to true -->
+ <sequence>
+ <targets>
+ <joinCondition>$probe1-to-probe3 and $probe2-to-probe3</joinCondition>
+ <target linkName="probe1-to-probe3"/>
+ <target linkName="probe2-to-probe3"/>
+ </targets>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[processes A and B merge on process C]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe5" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ </flow>
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[merge into root process]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe6" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <!-- from the input data loopIndicator set the number of loop interations -->
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[test switch statement]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe7" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <if>
+ <condition>bpws:getVariableProperty("request", "wns:loopInd") = 'min'</condition>
+ <sequence>
+ <assign name="flow1-min-assign">
+ <copy>
+ <from>5</from>
+ <to variable="internalState" part="loop1"/>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[case min: set loop iterations = 5]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe8" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ <elseif>
+ <condition>$request.requestMessageData/loopIndicator = 'max'</condition>
+ <sequence>
+ <assign name="flow1-max-assign">
+ <copy>
+ <from>10</from>
+ <to variable="internalState" part="loop1"/>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[case max: set loop iterations = 10]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe9" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ </elseif>
+ <else>
+ <sequence>
+ <assign name="flow1-default-assign">
+ <copy>
+ <from>0</from>
+ <to variable="internalState" part="loop1"/>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[otherwise: set loop iterations = 0]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"
+ > </invoke>
+ </sequence>
+ </else>
+ </if>
+
+ <assign name="while-increment-initialize">
+ <copy>
+ <from>0</from>
+ <to variable="internalState" part="loop1Counter"></to>
+ </copy>
+ <copy>
+ <from>
+ <literal><![CDATA[test loop iterations]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe10" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <while>
+ <condition>$internalState.loop1Counter < $internalState.loop1</condition>
+ <sequence>
+ <assign name="while-increment">
+ <copy>
+ <from>$internalState.loop1Counter + 1</from>
+ <to variable="internalState" part="loop1Counter"/>
+ </copy>
+ <copy>
+ <from>$internalState.loop1Counter + 1</from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe11" partnerLink="probe" portType="prb:probeMessagePT"
+ operation="probe" inputVariable="probeInput" outputVariable="probeInput"/>
+
+ </sequence>
+ </while>
+ <!-- copy internal accumulators to the reply message -->
+ <assign>
+ <copy>
+ <from>
+ <literal><![CDATA[test1Process complete]]></literal>
+ </from>
+ <to variable="probeInput" part="probeName"/>
+ </copy>
+ </assign>
+ <invoke name="probe12" partnerLink="probe" portType="prb:probeMessagePT" operation="probe"
+ inputVariable="probeInput" outputVariable="probeInput"> </invoke>
+ <assign name="assign2">
+ <copy>
+ <from variable="probeInput" part="probeName"/>
+ <to variable="reply" part="replyID"/>
+ </copy>
+ <copy>
+ <from variable="probeInput" part="probeData"/>
+ <to variable="reply" part="replyText"/>
+ </copy>
+ </assign>
+ <reply name="reply" partnerLink="request" portType="wns:testFlowActivityPT" operation="request"
+ variable="reply"> </reply>
+ </sequence>
</process>