[jboss-svn-commits] JBL Code SVN: r21497 - in labs/jbossrules/trunk/drools-process/drools-bpel/src: test/java/org/drools/bpel/test and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 12 19:28:58 EDT 2008


Author: KrisVerlaenen
Date: 2008-08-12 19:28:58 -0400 (Tue, 12 Aug 2008)
New Revision: 21497

Added:
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/java/org/drools/bpel/test/BPELTest.java
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELFaultHandler.bpel
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELIf.bpel
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnAlarm.bpel
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnMessage.bpel
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELProcess.wsdl
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRepeatUntil.bpel
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRethrow.bpel
   labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELWhile.bpel
Modified:
   labs/jbossrules/trunk/drools-process/drools-bpel/src/main/java/org/drools/bpel/xpath/XMLDataType.java
Log:
JBRULES-1696: Extends WS-BPEL support

Modified: labs/jbossrules/trunk/drools-process/drools-bpel/src/main/java/org/drools/bpel/xpath/XMLDataType.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/main/java/org/drools/bpel/xpath/XMLDataType.java	2008-08-12 23:28:14 UTC (rev 21496)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/main/java/org/drools/bpel/xpath/XMLDataType.java	2008-08-12 23:28:58 UTC (rev 21497)
@@ -4,9 +4,9 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 
-import org.drools.process.core.datatype.DataType;
+import org.drools.process.core.datatype.impl.type.StringDataType;
 
-public class XMLDataType implements DataType {
+public class XMLDataType extends StringDataType {
 
 	private String typeDefinition;
 	
@@ -14,10 +14,6 @@
 		this.typeDefinition = typeDefinition;
 	}
 	
-	public boolean verifyDataType(Object value) {
-		return value instanceof String;
-	}
-
 	public String getTypeDefinition() {
 		return typeDefinition;
 	}

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/java/org/drools/bpel/test/BPELTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/java/org/drools/bpel/test/BPELTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/java/org/drools/bpel/test/BPELTest.java	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,46 @@
+package org.drools.bpel.test;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.audit.WorkingMemoryFileLogger;
+import org.drools.bpel.compiler.BPELCompiler;
+import org.drools.bpel.instance.BPELProcessInstance;
+import org.drools.process.instance.impl.demo.UIWorkItemHandler;
+
+public class BPELTest {
+
+    public static final void main(String[] args) {
+        try {
+        	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+    		new BPELCompiler().loadProcess(ruleBase, "/BPELProcess.bpel");
+            WorkingMemory workingMemory = ruleBase.newStatefulSession();
+            final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger(workingMemory);
+            UIWorkItemHandler uiHandler = new UIWorkItemHandler() {
+				private static final long serialVersionUID = 4L;
+				public void dispose() {
+            		super.dispose();
+            		logger.writeToDisk();
+            	}
+            };
+            workingMemory.getWorkItemManager().registerWorkItemHandler("WebServiceInvocation", uiHandler);
+            uiHandler.setVisible(true);
+            BPELProcessInstance processInstance = (BPELProcessInstance)
+            	workingMemory.startProcess("http://drools.jboss.org/bpel/sample");
+            processInstance.signalEvent("message",
+        		new String[] {
+    				"client", 
+    				"{http://drools.jboss.org/bpel/sample}BPELProcess", 
+    				"process",
+            		"<BPELProcessRequestMessage>" +
+            		"  <payload><input>input</input></payload>" +
+            		"  <input>hello</input>" +
+            		"</BPELProcessRequestMessage>"
+        		}
+            );
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
+
+}

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELFaultHandler.bpel
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELFaultHandler.bpel	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELFaultHandler.bpel	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="BPELProcess"
+    suppressJoinFailure="yes"
+    targetNamespace="http://drools.jboss.org/bpel/sample"
+    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://drools.jboss.org/bpel/sample">
+    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+        location="BPELProcess.wsdl" namespace="http://drools.jboss.org/bpel/sample"/>
+    <bpws:import importType="http://www.w3.org/2001/XMLSchema"
+        location="bundleentry://220/cache/www.w3.org/2001/XMLSchema.xsd" namespace="http://www.w3.org/2001/XMLSchema"/>
+    <bpws:partnerLinks>
+        <bpws:partnerLink myRole="BPELProcessProvider" name="client" partnerLinkType="tns:BPELProcess"/>
+    </bpws:partnerLinks>
+    <bpws:variables>
+        <bpws:variable messageType="tns:BPELProcessRequestMessage" name="input"/>
+        <bpws:variable messageType="tns:BPELProcessResponseMessage" name="output"/>
+        <bpws:variable name="fault" type="ns1:string"/>
+    </bpws:variables>
+    <bpws:sequence name="main">
+        <bpws:receive createInstance="yes" name="receiveInput"
+            operation="process" partnerLink="client"
+            portType="tns:BPELProcess" variable="input"/>
+        <bpws:scope name="Scope">
+            <bpws:variables>
+                <bpws:variable name="data" type="ns1:string"/>
+            </bpws:variables>
+            <bpws:faultHandlers>
+                <bpws:catch faultName="tns:ThrowDefaultFaultName" faultVariable="fault">
+                    <bpws:assign name="Assign1" validate="no">
+                        <bpws:copy>
+                            <bpws:from variable="fault"/>
+                            <bpws:to part="output" variable="output"/>
+                        </bpws:copy>
+                    </bpws:assign>
+                </bpws:catch>
+            </bpws:faultHandlers>
+            <bpws:sequence name="Sequence">
+                <bpws:assign name="Assign" validate="no">
+                    <bpws:copy>
+                        <bpws:from>
+                            <bpws:literal>Fault Data</bpws:literal>
+                        </bpws:from>
+                        <bpws:to variable="data"/>
+                    </bpws:copy>
+                </bpws:assign>
+                <bpws:throw faultName="tns:ThrowDefaultFaultName"
+                    faultVariable="data" name="Throw"/>
+            </bpws:sequence>
+        </bpws:scope>
+        <bpws:reply name="replyOutput" operation="process"
+            partnerLink="client" portType="tns:BPELProcess" variable="output"/>
+    </bpws:sequence>
+</bpws:process>

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELIf.bpel
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELIf.bpel	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELIf.bpel	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="BPELProcess"
+    suppressJoinFailure="yes"
+    targetNamespace="http://drools.jboss.org/bpel/sample"
+    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://drools.jboss.org/bpel/sample">
+    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+        location="BPELProcess.wsdl" namespace="http://drools.jboss.org/bpel/sample"/>
+    <bpws:import importType="http://www.w3.org/2001/XMLSchema"
+        location="bundleentry://220/cache/www.w3.org/2001/XMLSchema.xsd" namespace="http://www.w3.org/2001/XMLSchema"/>
+    <bpws:partnerLinks>
+        <bpws:partnerLink myRole="BPELProcessProvider" name="client" partnerLinkType="tns:BPELProcess"/>
+    </bpws:partnerLinks>
+    <bpws:variables>
+        <bpws:variable messageType="tns:BPELProcessRequestMessage" name="input"/>
+        <bpws:variable messageType="tns:BPELProcessResponseMessage" name="output"/>
+        <bpws:variable name="counter" type="ns1:integer"/>
+    </bpws:variables>
+    <bpws:sequence name="main">
+        <bpws:receive createInstance="yes" name="receiveInput"
+            operation="process" partnerLink="client"
+            portType="tns:BPELProcess" variable="input"/>
+        <bpws:assign name="counter=1" validate="no">
+            <bpws:copy>
+                <bpws:from>
+                    <bpws:literal>2
+</bpws:literal>
+                </bpws:from>
+                <bpws:to variable="counter"/>
+            </bpws:copy>
+        </bpws:assign>
+        <bpws:if name="If">
+            <bpws:empty name="Empty"/>
+            <bpws:condition><![CDATA[number($counter) = 1]]></bpws:condition>
+            <bpws:elseif>
+                <bpws:condition><![CDATA[number($counter) = 2]]></bpws:condition>
+                <bpws:empty name="Empty1"/>
+            </bpws:elseif>
+        </bpws:if>
+        <bpws:reply name="replyOutput" operation="process"
+            partnerLink="client" portType="tns:BPELProcess" variable="output"/>
+    </bpws:sequence>
+</bpws:process>

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnAlarm.bpel
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnAlarm.bpel	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnAlarm.bpel	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="BPELProcess"
+    suppressJoinFailure="yes"
+    targetNamespace="http://drools.jboss.org/bpel/sample"
+    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://drools.jboss.org/bpel/sample">
+    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+        location="BPELProcess.wsdl" namespace="http://drools.jboss.org/bpel/sample"/>
+    <bpws:import importType="http://www.w3.org/2001/XMLSchema"
+        location="bundleentry://220/cache/www.w3.org/2001/XMLSchema.xsd" namespace="http://www.w3.org/2001/XMLSchema"/>
+    <bpws:partnerLinks>
+        <bpws:partnerLink myRole="BPELProcessProvider" name="client" partnerLinkType="tns:BPELProcess"/>
+    </bpws:partnerLinks>
+    <bpws:variables>
+        <bpws:variable messageType="tns:BPELProcessRequestMessage" name="input"/>
+        <bpws:variable messageType="tns:BPELProcessResponseMessage" name="output"/>
+        <bpws:variable name="counter" type="ns1:integer"/>
+    </bpws:variables>
+    <bpws:sequence name="main">
+        <bpws:receive createInstance="yes" name="receiveInput"
+            operation="process" partnerLink="client"
+            portType="tns:BPELProcess" variable="input"/>
+        <bpws:pick name="Pick">
+            <bpws:onMessage operation="process2" partnerLink="client"
+                portType="tns:BPELProcess" variable="input">
+                <bpws:empty name="Empty1"/>
+            </bpws:onMessage>
+            <bpws:onAlarm>
+                <bpws:for><![CDATA['PT3S']]></bpws:for>
+                <bpws:scope name="scope">
+                    <bpws:empty name="Empty"/>
+                </bpws:scope>
+            </bpws:onAlarm>
+        </bpws:pick>
+        <bpws:reply name="replyOutput" operation="process"
+            partnerLink="client" portType="tns:BPELProcess" variable="output"/>
+    </bpws:sequence>
+</bpws:process>

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnMessage.bpel
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnMessage.bpel	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELPickOnMessage.bpel	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="BPELProcess"
+    suppressJoinFailure="yes"
+    targetNamespace="http://drools.jboss.org/bpel/sample"
+    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://drools.jboss.org/bpel/sample">
+    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+        location="BPELProcess.wsdl" namespace="http://drools.jboss.org/bpel/sample"/>
+    <bpws:import importType="http://www.w3.org/2001/XMLSchema"
+        location="bundleentry://220/cache/www.w3.org/2001/XMLSchema.xsd" namespace="http://www.w3.org/2001/XMLSchema"/>
+    <bpws:partnerLinks>
+        <bpws:partnerLink myRole="BPELProcessProvider" name="client" partnerLinkType="tns:BPELProcess"/>
+    </bpws:partnerLinks>
+    <bpws:variables>
+        <bpws:variable messageType="tns:BPELProcessRequestMessage" name="input"/>
+        <bpws:variable messageType="tns:BPELProcessResponseMessage" name="output"/>
+        <bpws:variable name="counter" type="ns1:integer"/>
+    </bpws:variables>
+    <bpws:sequence name="main">
+        <bpws:receive createInstance="yes" name="receiveInput"
+            operation="process" partnerLink="client"
+            portType="tns:BPELProcess" variable="input"/>
+        <bpws:pick name="Pick">
+            <bpws:onMessage operation="process2" partnerLink="client"
+                portType="tns:BPELProcess" variable="input">
+                <bpws:assign name="Assign" validate="no">
+                    <bpws:copy>
+                        <bpws:from part="input" variable="input"/>
+                        <bpws:to part="output" variable="output"/>
+                    </bpws:copy>
+                </bpws:assign>
+            </bpws:onMessage>
+            <bpws:onMessage operation="process3" partnerLink="client"
+                portType="tns:BPELProcess" variable="input">
+                <bpws:assign name="Assign1" validate="no">
+                    <bpws:copy>
+                        <bpws:from part="input" variable="input"/>
+                        <bpws:to part="output" variable="output"/>
+                    </bpws:copy>
+                </bpws:assign>
+            </bpws:onMessage>
+        </bpws:pick>
+        <bpws:reply name="replyOutput" operation="process"
+            partnerLink="client" portType="tns:BPELProcess" variable="output"/>
+    </bpws:sequence>
+</bpws:process>

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELProcess.wsdl
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELProcess.wsdl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELProcess.wsdl	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<definitions name="BPELProcess"
+        targetNamespace="http://drools.jboss.org/bpel/sample"
+        xmlns:tns="http://drools.jboss.org/bpel/sample"
+        xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:p="http://www.w3.org/2001/XMLSchema">
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     TYPE DEFINITION - List of types participating in this BPEL process 
+     The BPEL Designer will generate default request and response types
+     but you can define or import any XML Schema type and use them as part 
+     of the message types.
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
+    <types>
+        <schema attributeFormDefault="unqualified" elementFormDefault="qualified" 
+                targetNamespace="http://drools.jboss.org/bpel/sample" 
+                xmlns="http://www.w3.org/2001/XMLSchema">
+
+            <element name="BPELProcessRequest">
+                <complexType>
+                    <sequence>
+                        <element name="input" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="BPELProcessResponse">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+        </schema>
+    </types>
+
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     MESSAGE TYPE DEFINITION - Definition of the message types used as 
+     part of the port type defintions
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
+    <message name="BPELProcessRequestMessage">
+        <part name="payload" element="tns:BPELProcessRequest"/>
+        <part name="input" type="p:string"></part>
+    </message>
+    <message name="BPELProcessResponseMessage">
+        <part name="payload" element="tns:BPELProcessResponse"/>
+        <part name="output" type="p:string"></part>
+    </message>
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     PORT TYPE DEFINITION - A port type groups a set of operations into
+     a logical service unit.
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
+
+    <!-- portType implemented by the BPELProcess BPEL process -->
+    <portType name="BPELProcess">
+        <operation name="process">
+            <input  message="tns:BPELProcessRequestMessage" />
+            <output message="tns:BPELProcessResponseMessage"/>
+        </operation>
+        <operation name="process2">
+            <input  message="tns:BPELProcessRequestMessage" />
+        </operation>
+        <operation name="process3">
+            <input  message="tns:BPELProcessRequestMessage" />
+        </operation>
+    </portType>
+  
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+     PARTNER LINK TYPE DEFINITION
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->    
+    <plnk:partnerLinkType name="BPELProcess">
+        <plnk:role name="BPELProcessProvider" portType="tns:BPELProcess"/>
+    </plnk:partnerLinkType>
+    
+</definitions>

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRepeatUntil.bpel
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRepeatUntil.bpel	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRepeatUntil.bpel	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="BPELProcess"
+    suppressJoinFailure="yes"
+    targetNamespace="http://drools.jboss.org/bpel/sample"
+    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://drools.jboss.org/bpel/sample">
+    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+        location="BPELProcess.wsdl" namespace="http://drools.jboss.org/bpel/sample"/>
+    <bpws:import importType="http://www.w3.org/2001/XMLSchema"
+        location="bundleentry://220/cache/www.w3.org/2001/XMLSchema.xsd" namespace="http://www.w3.org/2001/XMLSchema"/>
+    <bpws:partnerLinks>
+        <bpws:partnerLink myRole="BPELProcessProvider" name="client" partnerLinkType="tns:BPELProcess"/>
+    </bpws:partnerLinks>
+    <bpws:variables>
+        <bpws:variable messageType="tns:BPELProcessRequestMessage" name="input"/>
+        <bpws:variable messageType="tns:BPELProcessResponseMessage" name="output"/>
+        <bpws:variable name="counter" type="ns1:integer"/>
+    </bpws:variables>
+    <bpws:sequence name="main">
+        <bpws:receive createInstance="yes" name="receiveInput"
+            operation="process" partnerLink="client"
+            portType="tns:BPELProcess" variable="input"/>
+        <bpws:assign name="counter=1" validate="no">
+            <bpws:copy>
+                <bpws:from>
+                    <bpws:literal>1</bpws:literal>
+                </bpws:from>
+                <bpws:to variable="counter"/>
+            </bpws:copy>
+        </bpws:assign>
+        <bpws:repeatUntil name="RepeatUntil">
+            <bpws:sequence name="Sequence1">
+                <bpws:empty name="Empty"/>
+                <bpws:assign name="counter++" validate="no">
+                    <bpws:copy>
+                        <bpws:from><![CDATA[number($counter) + 1]]></bpws:from>
+                        <bpws:to variable="counter"/>
+                    </bpws:copy>
+                </bpws:assign>
+            </bpws:sequence>
+            <bpws:condition><![CDATA[number($counter) > 3]]></bpws:condition>
+        </bpws:repeatUntil>
+        <bpws:reply name="replyOutput" operation="process"
+            partnerLink="client" portType="tns:BPELProcess" variable="output"/>
+    </bpws:sequence>
+</bpws:process>

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRethrow.bpel
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRethrow.bpel	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELRethrow.bpel	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="BPELProcess"
+    suppressJoinFailure="yes"
+    targetNamespace="http://drools.jboss.org/bpel/sample"
+    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://drools.jboss.org/bpel/sample">
+    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+        location="BPELProcess.wsdl" namespace="http://drools.jboss.org/bpel/sample"/>
+    <bpws:import importType="http://www.w3.org/2001/XMLSchema"
+        location="bundleentry://220/cache/www.w3.org/2001/XMLSchema.xsd" namespace="http://www.w3.org/2001/XMLSchema"/>
+    <bpws:partnerLinks>
+        <bpws:partnerLink myRole="BPELProcessProvider" name="client" partnerLinkType="tns:BPELProcess"/>
+    </bpws:partnerLinks>
+    <bpws:variables>
+        <bpws:variable messageType="tns:BPELProcessRequestMessage" name="input"/>
+        <bpws:variable messageType="tns:BPELProcessResponseMessage" name="output"/>
+        <bpws:variable name="fault" type="ns1:string"/>
+    </bpws:variables>
+    <bpws:sequence name="main">
+        <bpws:receive createInstance="yes" name="receiveInput"
+            operation="process" partnerLink="client"
+            portType="tns:BPELProcess" variable="input"/>
+        <bpws:scope name="Scope1">
+            <bpws:faultHandlers>
+                <bpws:catch faultName="tns:ThrowDefaultFaultName" faultVariable="fault">
+                    <bpws:assign name="Assign" validate="no">
+                        <bpws:copy>
+                            <bpws:from variable="fault"/>
+                            <bpws:to part="output" variable="output"/>
+                        </bpws:copy>
+                    </bpws:assign>
+                </bpws:catch>
+            </bpws:faultHandlers>
+            <bpws:scope name="Scope">
+                <bpws:variables>
+                    <bpws:variable name="data" type="ns1:string"/>
+                </bpws:variables>
+                <bpws:faultHandlers>
+                    <bpws:catch faultName="tns:ThrowDefaultFaultName" faultVariable="fault">
+                        <bpws:rethrow name="Rethrow"/>
+                    </bpws:catch>
+                </bpws:faultHandlers>
+                <bpws:sequence name="Sequence">
+                    <bpws:assign name="Assign1" validate="no">
+                        <bpws:copy>
+                            <bpws:from>
+                                <bpws:literal>xxx</bpws:literal>
+                            </bpws:from>
+                            <bpws:to variable="data"/>
+                        </bpws:copy>
+                    </bpws:assign>
+                    <bpws:throw faultName="tns:ThrowDefaultFaultName"
+                        faultVariable="data" name="Throw"/>
+                </bpws:sequence>
+            </bpws:scope>
+        </bpws:scope>
+        <bpws:reply name="replyOutput" operation="process"
+            partnerLink="client" portType="tns:BPELProcess" variable="output"/>
+    </bpws:sequence>
+</bpws:process>

Added: labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELWhile.bpel
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELWhile.bpel	                        (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-bpel/src/test/resources/BPELWhile.bpel	2008-08-12 23:28:58 UTC (rev 21497)
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="BPELProcess"
+    suppressJoinFailure="yes"
+    targetNamespace="http://drools.jboss.org/bpel/sample"
+    xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://drools.jboss.org/bpel/sample">
+    <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+        location="BPELProcess.wsdl" namespace="http://drools.jboss.org/bpel/sample"/>
+    <bpws:import importType="http://www.w3.org/2001/XMLSchema"
+        location="bundleentry://220/cache/www.w3.org/2001/XMLSchema.xsd" namespace="http://www.w3.org/2001/XMLSchema"/>
+    <bpws:partnerLinks>
+        <bpws:partnerLink myRole="BPELProcessProvider" name="client" partnerLinkType="tns:BPELProcess"/>
+    </bpws:partnerLinks>
+    <bpws:variables>
+        <bpws:variable messageType="tns:BPELProcessRequestMessage" name="input"/>
+        <bpws:variable messageType="tns:BPELProcessResponseMessage" name="output"/>
+        <bpws:variable name="counter" type="ns1:integer"/>
+    </bpws:variables>
+    <bpws:sequence name="main">
+        <bpws:receive createInstance="yes" name="receiveInput"
+            operation="process" partnerLink="client"
+            portType="tns:BPELProcess" variable="input"/>
+        <bpws:assign name="counter=1" validate="no">
+            <bpws:copy>
+                <bpws:from>
+                    <bpws:literal>1</bpws:literal>
+                </bpws:from>
+                <bpws:to variable="counter"/>
+            </bpws:copy>
+        </bpws:assign>
+        <bpws:while name="While">
+            <bpws:condition><![CDATA[number($counter) < 3]]></bpws:condition>
+            <bpws:sequence name="Sequence">
+                <bpws:empty name="Empty"/>
+                <bpws:assign name="counter++" validate="no">
+                    <bpws:copy>
+                        <bpws:from><![CDATA[number($counter) + 1]]></bpws:from>
+                        <bpws:to variable="counter"/>
+                    </bpws:copy>
+                </bpws:assign>
+            </bpws:sequence>
+        </bpws:while>
+        <bpws:reply name="replyOutput" operation="process"
+            partnerLink="client" portType="tns:BPELProcess" variable="output"/>
+    </bpws:sequence>
+</bpws:process>




More information about the jboss-svn-commits mailing list