incubator-agila-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mr...@apache.org
Subject svn commit: r165042 [21/30] - in /incubator/agila/trunk: ./ config/ modules/ modules/bpel/ modules/bpel/client/ modules/bpel/client/api/ modules/bpel/client/api/src/ modules/bpel/client/api/src/conf/ modules/bpel/client/api/src/java/ modules/bpel/client/api/src/java/org/ modules/bpel/client/api/src/java/org/apache/ modules/bpel/client/api/src/java/org/apache/agila/ modules/bpel/client/api/src/java/org/apache/agila/bpel/ modules/bpel/client/api/src/java/org/apache/agila/bpel/client/ modules/bpel/client/api/src/test/ modules/bpel/client/api/src/test/junit/ modules/bpel/client/api/src/test/junit/org/ modules/bpel/client/api/src/test/junit/org/apache/ modules/bpel/client/api/src/test/junit/org/apache/agila/ modules/bpel/client/api/src/test/junit/org/apache/agila/bpel/ modules/bpel/client/api/src/test/junit/org/apache/agila/bpel/client/ modules/bpel/client/web/ modules/bpel/client/web/src/ modules/bpel/client/web/src/conf/ modules/bpel/client/web/src/java/ modules/bpel/client/web/src/java/org/ modules/bpel/client/web/src/java/org/apache/ modules/bpel/client/web/src/java/org/apache/agila/ modules/bpel/client/web/src/java/org/apache/agila/bpel/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/common/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/deployer/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/deployer/action/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/deployer/form/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/engine/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/engine/action/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/engine/form/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/global/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/global/action/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/security/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/security/action/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/security/form/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/user/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/user/action/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/user/form/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/util/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/worklist/ modules/bpel/client/web/src/java/org/apache/agila/bpel/web/worklist/action/ modules/bpel/client/web/src/webapp/ modules/bpel/client/web/src/webapp/META-INF/ modules/bpel/client/web/src/webapp/WEB-INF/ modules/bpel/client/web/src/webapp/WEB-INF/classes/ modules/bpel/client/web/src/webapp/images/ modules/bpel/client/web/src/webapp/images/audit/ modules/bpel/client/web/src/webapp/style/ modules/bpel/common/ modules/bpel/common/src/ modules/bpel/common/src/aspect/ modules/bpel/common/src/conf/ modules/bpel/common/src/java/ modules/bpel/common/src/java/org/ modules/bpel/common/src/java/org/apache/ modules/bpel/common/src/java/org/apache/agila/ modules/bpel/common/src/java/org/apache/agila/bpel/ modules/bpel/common/src/java/org/apache/agila/bpel/common/ modules/bpel/common/src/java/org/apache/agila/bpel/common/aspect/ modules/bpel/common/src/java/org/apache/agila/bpel/common/configuration/ modules/bpel/common/src/java/org/apache/agila/bpel/common/util/ modules/bpel/common/src/java/org/apache/agila/bpel/common/util/logger/ modules/bpel/common/src/test/ modules/bpel/common/src/test/junit/ modules/bpel/common/src/test/junit/org/ modules/bpel/common/src/test/junit/org/apache/ modules/bpel/common/src/test/junit/org/apache/agila/ modules/bpel/common/src/test/junit/org/apache/agila/bpel/ modules/bpel/common/src/test/junit/org/apache/agila/bpel/common/ modules/bpel/common/src/test/junit/org/apache/agila/bpel/common/util/ modules/bpel/dist/ modules/bpel/dist/src/ modules/bpel/dist/src/java/ modules/bpel/dist/src/java/org/ modules/bpel/dist/src/java/org/apache/ modules/bpel/dist/src/java/org/apache/agila/ modules/bpel/dist/src/java/org/apache/agila/bpel/ modules/bpel/dist/src/java/org/apache/agila/bpel/util/ modules/bpel/dist/src/script/ modules/bpel/engine/ modules/bpel/engine/common/ modules/bpel/engine/common/src/ modules/bpel/engine/common/src/aspect/ modules/bpel/engine/common/src/hibernate/ modules/bpel/engine/common/src/hibernate/org/ modules/bpel/engine/common/src/hibernate/org/apache/ modules/bpel/engine/common/src/hibernate/org/apache/agila/ modules/bpel/engine/common/src/hibernate/org/apache/agila/bpel/ modules/bpel/engine/common/src/hibernate/org/apache/agila/bpel/engine/ modules/bpel/engine/common/src/hibernate/org/apache/agila/bpel/engine/common/ modules/bpel/engine/common/src/java/ modules/bpel/engine/common/src/java/org/ modules/bpel/engine/common/src/java/org/apache/ modules/bpel/engine/common/src/java/org/apache/agila/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/aspect/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/event/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/event/execution/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/event/execution/impl/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/event/lifecycle/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/event/lifecycle/dao/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/lifecycle/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/monitoring/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/persistence/ modules/bpel/engine/common/src/java/org/apache/agila/bpel/engine/common/transaction/ modules/bpel/engine/common/src/test/ modules/bpel/engine/common/src/test/junit/ modules/bpel/engine/common/src/test/junit/org/ modules/bpel/engine/common/src/test/junit/org/apache/ modules/bpel/engine/common/src/test/junit/org/apache/agila/ modules/bpel/engine/common/src/test/junit/org/apache/agila/bpel/ modules/bpel/engine/common/src/test/junit/org/apache/agila/bpel/engine/ modules/bpel/engine/common/src/test/junit/org/apache/agila/bpel/engine/common/ modules/bpel/engine/common/src/test/junit/org/apache/agila/bpel/engine/common/event/ modules/bpel/engine/common/src/test/resources/ modules/bpel/engine/core/ modules/bpel/engine/core/src/ modules/bpel/engine/core/src/aspect/ modules/bpel/engine/core/src/hibernate/ modules/bpel/engine/core/src/hibernate/org/ modules/bpel/engine/core/src/hibernate/org/apache/ modules/bpel/engine/core/src/hibernate/org/apache/agila/ modules/bpel/engine/core/src/hibernate/org/apache/agila/bpel/ modules/bpel/engine/core/src/hibernate/org/apache/agila/bpel/engine/ modules/bpel/engine/core/src/java/ modules/bpel/engine/core/src/java/org/ modules/bpel/engine/core/src/java/org/apache/ modules/bpel/engine/core/src/java/org/apache/agila/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/exception/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/definition/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/definition/impl/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/definition/impl/dao/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/dynamic/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/dynamic/impl/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/dynamic/impl/dao/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/core/dynamic/impl/xao/ modules/bpel/engine/core/src/java/org/apache/agila/bpel/engine/priv/expression/ modules/bpel/engine/core/s
Date Wed, 27 Apr 2005 20:28:07 GMT
Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/cache.ccf
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/cache.ccf?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/cache.ccf (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/cache.ccf Wed Apr 27 13:27:43 2005
@@ -0,0 +1,7 @@
+jcs.default=
+jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
+jcs.default.cacheattributes.MaxObjects=1000
+jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
+jcs.default.cacheattributes.cacheattributes.UseMemoryShrinker=true
+jcs.default.cacheattributes.cacheattributes.MaxMemoryIdleTimeSeconds=3600
+jcs.default.cacheattributes.cacheattributes.ShrinkerIntervalSeconds=60

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/hibernate.cfg.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/hibernate.cfg.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/hibernate.cfg.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/hibernate.cfg.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,56 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-configuration PUBLIC
+    "-//Hibernate/Hibernate Configuration DTD//EN"
+    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
+
+<hibernate-configuration>
+
+    <session-factory>
+
+        <!-- HSQLDB configuration -->
+
+        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
+        <property name="connection.url">jdbc:hsqldb:hsql://192.168.138.2</property>
+        <property name="connection.username">sa</property>
+        <property name="connection.password"></property>
+        <property name="dialect">net.sf.hibernate.dialect.HSQLDialect</property>
+
+        <!-- McKoi configuration -->
+
+        <!--        <property name="connection.driver_class">com.mckoi.JDBCDriver</property> -->
+        <!--        <property name="connection.url">jdbc:mckoi://localhost/</property> -->
+        <!--        <property name="connection.username">root</property> -->
+        <!--        <property name="connection.password">toor</property> -->
+        <!--        <property name="dialect">net.sf.hibernate.dialect.McKoiDialect</property> -->
+
+        <property name="connection.pool_size">10</property>
+        <property name="statement_cache.size">50</property>
+
+        <property name="c3p0.max_size">10</property>
+        <property name="c3p0.min_size">1</property>
+        <property name="c3p0.timeout">60</property>
+        <property name="c3p0.max_statements">50</property>
+
+        <property name="transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFactory</property>
+
+        <property name="show_sql">true</property>
+        <property name="use_outer_join">true</property>
+
+        <mapping resource="org/apache/agila/bpel/engine/activity.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/alarmevent.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/assignment.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/correlationref.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/correlationsset.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/executioncontext.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/executionevent.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/link.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/messageevent.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/process.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/processinstance.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/property.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/propertyalias.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/valuedproperty.hbm.xml"/>
+        <mapping resource="org/apache/agila/bpel/engine/ectaskpersister.hbm.xml"/> 
+    </session-factory>
+
+</hibernate-configuration>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-defs.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-defs.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-defs.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-defs.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://www.apache.org/agila/examples/loop/service/" 
+		xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+		xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+	<bpel:property name="counterId" type="xsd:string"/>
+	<bpel:propertyAlias propertyName="counterId" messageType="counterMsg" part="main" query="/counterId"/>
+	<bpel:propertyAlias propertyName="counterId" messageType="otherMsg" part="main" query="/counterId"/>
+</definitions>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-message.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-message.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-message.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop-message.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<agila-msg xmlns="http://www.apache.org/agila/types/message/">
+	<partner>loopPartner</partner>
+	<port>loopPort</port>
+	<operation>loopOp</operation>
+	<message>
+		<main>
+			<counter>0</counter>
+			<counterId>110</counterId>
+		</main>
+	</message>
+</agila-msg>
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/loop.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<process name="loop"
+    targetNamespace="http://www.apache.org/agila/example/loop/process/"
+    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+    xmlns:def="http://www.apache.org/agila/examples/loop/service/"
+    abstractProcess="no">
+	<variables>
+		<variable name="loopVar" type="loopVarType"/>
+	</variables>
+	<correlationSets>
+		<correlationSet name="counterCorrel" properties="def:counterId"/>
+	</correlationSets>
+	<partnerLinks>
+        	<partnerLink name="loopPartner" partnerLinkType="lns:loopPartnerLinkType" myRole="loopService"/>
+	</partnerLinks>
+
+	<sequence>
+		<receive partnerLink="loopPartner" portType="loopPort" operation="loopOp" variable="loopVar" createInstance="yes">
+			<correlations>
+				<correlation set="counterCorrel" initiate="yes"/>
+			</correlations>
+		</receive>
+		<while condition="10 &gt; bpws:getVariableData('loopVar', 'main', '/counter')">
+			<assign>
+				<copy>
+					<from expression="bpws:getVariableData('loopVar', 'main', '/counter') + 1"/>
+					<to variable="loopVar" part="main" query="/counter"/>
+				</copy>
+			</assign>
+		</while>
+	</sequence>
+</process>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/process.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/process.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/process.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/process.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,132 @@
+<process
+    name="shippingService"
+    targetNamespace="http://acme.com/shipping"
+    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" 
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+	<!--    xmlns="http://localhost:8080/agila/wsbp200303.xsd"-->
+	<!--
+    xmlns:sns="http://ship.org/wsdl/shipping"
+    xmlns:props="http://example.com/shipProps/"
+    abstractProcess="yes"
+-->
+	<!--
+        <partnerLinks>
+            <partnerLink name="customer"
+                partnerLinkType="sns:shippingLT"
+                partnerRole="shippingServiceCustomer"
+                myRole="shippingService"/>
+        </partnerLinks>
+        <correlationSets>
+            <correlationSet name="shipOrder"
+                properties="props:shipOrderID"/>
+        </correlationSets>
+    -->
+	<variables>
+		<variable name="shipRequest" messageType="sns:shippingRequestMsg"/>
+		<variable name="shipNotice" messageType="sns:shippingNoticeMsg"/>
+		<variable name="itemsShipped" type="props:itemCountType"/>
+	</variables>
+	<sequence>
+		<assign>
+			<copy>
+				<from variable="fromVariable" part="fromPart"/>
+				<to variable="toVariable" part="toPart"/>
+			</copy>
+			<copy>
+				<from variable="fromVariable" property="fromProperty"/>
+				<to variable="toVariable" property="toProperty"/>
+			</copy>
+			<copy>
+				<from partnerLink="fromPartnerLink" endpointReference="fromEndpointReference"/>
+				<to partnerLink="toPartnerLink" endpointReference="fromEndpointReference"/>
+			</copy>
+			<copy>
+				<from expression="fromExpression"/>
+				<to variable="toVariable" part="toPart"/>
+			</copy>
+			<copy>
+				<from> ... literal value ... </from>
+				<to variable="toVariable" part="toPart"/>
+			</copy>
+		</assign>
+		<invoke partnerLink="customer" portType="sns:shippingServiceCustomerPT" operation="shippingNotice" inputVariable="shipNotice" outputVariable="ncname" name="ncname" joinCondition="bool-expr" suppressJoinFailure="yes|no">
+			<source linkName="ncname1" transitionCondition="bool-expr1"/>
+			<source linkName="ncname2" transitionCondition="bool-expr2"/>
+			<target linkName="ncname1"/>
+			<target linkName="ncname2"/>
+			<correlations>
+				<correlation set="shipOrder" pattern="out"/>
+				<correlation set="Invoice" initiate="yes" pattern="out"/>
+			</correlations>
+			<catch faultName="qname1" faultVariable="ncname1">
+            </catch>
+			<catch faultName="qname2" faultVariable="ncname2">
+            </catch>
+			<catchAll>
+            </catchAll>
+			<compensationHandler>
+				<invoke partnerLink="Seller" portType="SP:Purchasing" operation="CancelPurchase" inputVariable="getResponse" outputVariable="getConfirmation"/>
+			</compensationHandler>
+		</invoke>
+		<!--
+        -->
+		<receive partnerLink="customer" portType="sns:shippingServicePT" operation="shippingRequest" variable="shipRequest">
+			<correlations>
+				<correlation set="shipOrder" initiate="yes"/>
+			</correlations>
+		</receive>
+		<switch>
+			<case condition="bpws:getVariableProperty('shipRequest','props:shipComplete')">
+				<sequence>
+					<assign>
+						<copy>
+							<from variable="shipRequest" property="props:itemsCount"/>
+							<to variable="shipNotice" property="props:itemsCount"/>
+						</copy>
+					</assign>
+					<invoke partnerLink="customer" portType="sns:shippingServiceCustomerPT" operation="shippingNotice" inputVariable="shipNotice">
+						<correlations>
+							<correlation set="shipOrder" pattern="out"/>
+						</correlations>
+					</invoke>
+				</sequence>
+			</case>
+			<otherwise>
+				<sequence>
+					<assign>
+						<copy>
+							<from expression="0"/>
+							<to variable="itemsShipped"/>
+						</copy>
+					</assign>
+					<while condition="bpws:getVariableData('itemsShipped') &lt;
+                    bpws:getVariableProperty('shipRequest','props:itemsTotal')">
+						<sequence>
+							<assign>
+								<copy>
+									<from variable="shipRequest" property="props:itemsCount"/>
+									<to variable="shipNotice" property="props:itemsCount"/>
+								</copy>
+							</assign>
+							<invoke partnerLink="customer" portType="sns:shippingServiceCustomerPT" operation="shippingNotice" inputVariable="shipNotice">
+								<correlations>
+									<correlation set="shipOrder" pattern="out"/>
+								</correlations>
+							</invoke>
+							<assign>
+								<copy>
+									<from expression="bpws:getVariableData('itemsShipped')
+                                    +
+                                    bpws:getVariableProperty('shipNotice',
+                                    'props:itemsCount')"/>
+									<to variable="itemsShipped"/>
+								</copy>
+							</assign>
+						</sequence>
+					</while>
+				</sequence>
+			</otherwise>
+		</switch>
+	</sequence>
+</process>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign-defs.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign-defs.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign-defs.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign-defs.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://www.apache.org/agila/test/assign/service/"
+        xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+	<property name="numberprop" type="xsd:int"/>
+	<propertyAlias propertyName="numberprop" messageType="assignVarType" part="mainpart" query="/number/subnumber"/>
+    
+</definitions>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-assign.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<process name="test-assign"
+    targetNamespace="http://www.apache.org/agila/test/assign/process/"
+    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+	xmlns:ns1="http://DefaultNS1"
+	xmlns:ns2="http://DefaultNS2"
+    abstractProcess="no">
+
+	<variables>
+		<variable name="assignVar1" type="assignVarType"/>
+		<variable name="assignVar2" type="assignVarType"/>
+		<variable name="assignVar3" type="assignVarType"/>
+		<variable name="assignVar4" type="assignVarType"/>
+		<variable name="assignVar5" type="assignVarType"/>
+	</variables>
+	<sequence>
+        <assign>
+            <copy>
+                <from>1</from>
+                <to variable="assignVar1" part="mainpart" query="/number/subnumber"/>
+            </copy>
+            <copy>
+                <from variable="assignVar1" part="mainpart"/>
+                <to variable="assignVar2" part="mainpart"/>
+            </copy>
+            <copy>
+                <from variable="assignVar1" part="mainpart"/>
+                <to variable="assignVar2" part="mainpart"/>
+            </copy>
+        </assign>
+        <assign>
+            <copy>
+                <from variable="assignVar2" property="numberprop"/>
+                <to variable="assignVar3" property="numberprop"/>
+            </copy>
+        </assign>
+        <assign>
+            <copy>
+                <from expression="bpws:getVariableData('assignVar3', 'mainpart', '/number/subnumber') + 1"/>
+                <to variable="assignVar4" part="mainpart" query="/number/ns1:subnumber"/>
+            </copy>
+            <copy>
+                <from variable="assignVar4" part="mainpart" query="/number/ns1:subnumber"/>
+                <to variable="assignVar5" part="mainpart" query="/number/ns1:subnumber"/>
+            </copy>
+            <copy>
+                <from variable="assignVar4" part="mainpart" query="/number/ns1:subnumber"/>
+                <to variable="assignVar5" part="mainpart" query="/number/ns2:subnumber[2]"/>
+            </copy>            
+        </assign>
+	</sequence>
+</process>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow-defs.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow-defs.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow-defs.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow-defs.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://www.apache.org/agila/test/flow/service/"
+    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+	<property name="tstflowid" type="xsd:string"/>
+	<propertyAlias propertyName="tstflowid" messageType="flowTestMsg" part="main" query="/tstflowid"/>
+
+</definitions>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-flow.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,43 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<process name="test-flow"
+    targetNamespace="http://www.apache.org/agila/test/flow/process/"
+    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+    xmlns:def="http://www.apache.org/agila/test/flow/service/"
+    abstractProcess="no">
+
+    <correlationSets>
+        <correlationSet properties="def:tstflowid" name="flowCorr"/>
+    </correlationSets>
+
+    <sequence>
+
+        <receive partnerLink="initiatingPartner" portType="initiatingPort" operation="initiatingOp" createInstance="true">
+            <correlations>
+                <correlation set="flowCorr" initiate="yes"/>
+            </correlations>
+        </receive>
+
+        <flow>
+            <sequence>
+                <invoke partnerLink="firstBranchPartner" portType="firstBranchPort" operation="firstBranchOp"/>
+                <receive partnerLink="firstBranchPartner" portType="firstBranchPort" operation="firstBranchOp">
+                    <correlations>
+                        <correlation set="flowCorr" initiate="no"/>
+                    </correlations>
+                </receive>
+            </sequence>
+            <sequence>
+                <invoke partnerLink="secondBranchPartner" portType="secondBranchPort" operation="secondBranchOp"/>
+                <receive partnerLink="secondBranchPartner" portType="secondBranchPort" operation="secondBranchOp">
+                    <correlations>
+                        <correlation set="flowCorr" initiate="no"/>
+                    </correlations>
+                </receive>
+            </sequence>
+        </flow>
+
+        <invoke partnerLink="lastPartner" portType="lastPort" operation="lastOp"/>
+
+    </sequence>
+
+</process>
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke-defs.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke-defs.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke-defs.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke-defs.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<definitions name="test-invoke"
+        targetNamespace="http://www.apache.org/agila/test/invoke/service/"
+        xmlns:tns="http://www.apache.org/agila/test/invoke/service/"
+        xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
+        xmlns="http://schemas.xmlsoap.org/wsdl/"
+        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
+		xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+                                                                                                                                               
+        >
+                                                                                                                                               
+    <types>
+        <schema attributeFormDefault="qualified" elementFormDefault="qualified"
+                targetNamespace="http://www.apache.org/agila/test/invoke/service/"
+                xmlns="http://www.w3.org/2001/XMLSchema">
+          <element name="testMessageIn">
+                <complexType>
+                    <sequence>
+                        <element name="input" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+                                                                                                                                               
+            <element name="testMessageOut">
+                <complexType>
+                    <sequence>
+                        <element name="result" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+        </schema>
+    </types>
+
+	<message name="messageIn">
+        <part name="partOp" element="tns:testMessageIn"/>
+    </message>
+	<message name="messageOut">
+        <part name="partOp" element="tns:testMessageOut"/>
+    </message>
+	
+
+	<portType name="porttype">
+        <operation name="operation">
+            <input  message="tns:messageIn" />
+            <output message="tns:messageOut"/>
+        </operation>
+    </portType>
+		                                                                                                                                       
+	<plnk:partnerLinkType name="partnerType">
+        <plnk:role name="externalProvider">
+            <plnk:portType name="tns:porttype"/>
+        </plnk:role>
+    </plnk:partnerLinkType>
+</definitions>
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-invoke.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,35 @@
+<!-- external BPEL Process [Generated by the Oracle BPEL Designer] -->
+<process name="test-invoke" targetNamespace="http://www.apache.org/agila/test/invoke/service/" 
+	suppressJoinFailure="yes" xmlns:tns="http://www.apache.org/agila/test/invoke/service/" 
+	xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" 
+	xmlns:bpelx="http://schemas.oracle.com/bpel/extension" 
+	xmlns:ora="http://schemas.oracle.com/xpath/extension" 
+	xmlns:ns1="http://www.apache.org/agila/test/invoke/service/">
+        <!-- ================================================================= -->
+        <!-- PARTNERLINKS                                                      -->
+        <!-- List of services participating in this BPEL process               -->
+        <!-- ================================================================= -->
+        <partnerLinks>
+                <!-- The 'client' role represents the requester of this service. -->
+                <partnerLink name="partner" partnerLinkType="ns1:partnerType" myRole="externalProvider"/>
+        </partnerLinks>
+ 		<variables>
+                <!-- Reference to the message passed as input during initiation -->
+                <variable name="inputVar" messageType="testMessageIn"/>
+                <!--
+          Reference to the message that will be returned to the requester
+          -->
+                <variable name="outputVar" messageType="testMessageOut"/>
+        </variables>
+		<sequence name="main">
+                <assign name="assign-1">
+					<copy>
+                                <from>1</from>
+                                <to variable="inputVar" part="input" query=""/>
+                    </copy>
+                </assign>
+                <invoke name="invoke-1" partnerLink="partner" portType="ns1:porttype" operation="operation" outputVariable="outputVar" inputVariable="inputVar"/>
+        </sequence>
+</process>
+
+

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick-defs.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick-defs.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick-defs.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick-defs.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://www.apache.org/agila/test/pick/service/"
+    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+	<property name="tstpickid" type="xsd:string"/>
+	<propertyAlias propertyName="tstpickid" messageType="pickTestMsg" part="main" query="/pickid"/>
+
+</definitions>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-pick.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<process name="test-pick"
+    targetNamespace="http://www.apache.org/agila/test/pick/process/"
+    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+    xmlns:def="http://www.apache.org/agila/test/pick/service/"
+    abstractProcess="no">
+
+    <correlationSets>
+        <correlationSet properties="def:tstpickid" name="pickCorr"/>
+    </correlationSets>
+
+    <pick name="bigPick" createInstance="yes">
+        <onMessage partnerLink="outPartner" portType="outPort" operation="outOp">
+            <correlations>
+                <correlation set="pickCorr" initiate="yes"/>
+            </correlations>
+            <pick name="smallPick">
+                <onMessage partnerLink="inPartner" portType="inPort" operation="inOp">
+                    <correlations>
+                        <correlation set="pickCorr" initiate="no"/>
+                    </correlations>
+                    <invoke partnerLink="aPartner" portType="aPort" operation="anOp"/>
+                </onMessage>
+                <onAlarm for="PT1M">
+                    <invoke partnerLink="otherPartner" portType="otherPort" operation="otherOp"/>
+                </onAlarm>
+            </pick>
+        </onMessage>
+        <onMessage partnerLink="secPartner" portType="secPort" operation="secOp">
+            <invoke partnerLink="somePartner" portType="somePort" operation="someOp"/>
+        </onMessage>
+    </pick>
+
+</process>
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply-defs.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply-defs.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply-defs.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply-defs.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://www.apache.org/agila/test/reply/service/"
+    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+	<property name="tstreplyid" type="xsd:string"/>
+	<propertyAlias propertyName="tstreplyid" messageType="replyTestMsg" part="main" query="/tstreplyid"/>
+
+</definitions>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-reply.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<process name="test-flow"
+    targetNamespace="http://www.apache.org/agila/test/reply/process/"
+    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+    xmlns:def="http://www.apache.org/agila/test/reply/service/"
+    abstractProcess="no">
+
+    <variables>
+        <variable name="testFlowVar" type="testFlowVarType"/>
+    </variables>
+
+    <correlationSets>
+        <correlationSet properties="def:tstreplyid" name="replyCorr"/>
+    </correlationSets>
+
+    <sequence>
+        <receive partnerLink="initiatingPartner" portType="initiatingPort" operation="initiatingOp"
+            variable="testFlowVar" createInstance="true"/>
+
+		<empty/>
+		
+		<empty/>
+		
+        <reply partnerLink="initiatingPartner" portType="initiatingPort" operation="initiatingOp" variable="testFlowVar">
+            <correlations>
+                <correlation set="replyCorr" initiate="yes"/>
+            </correlations>
+        </reply>
+
+    </sequence>
+
+</process>
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch-defs.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch-defs.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch-defs.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch-defs.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://www.apache.org/agila/test/reply/service/"
+    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
+
+</definitions>

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/test-switch.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<process name="test-switch"
+    targetNamespace="http://www.apache.org/agila/test/switch/process/"
+    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
+    abstractProcess="no">
+
+    <sequence>
+        <receive partnerLink="switchPartner" portType="switchPort" operation="switchOp"
+            variable="switchVar" createInstance="true"/>
+        <switch>
+            <case condition="bpws:getVariableData('switchVar', 'main', '/value') > 100">
+                <invoke name="hugeInvoke" partnerLink="hugePartner" portType="hugePort"
+                    operation="hugeOp" inputVariable="switchVar"/>
+            </case>
+            <case condition="bpws:getVariableData('switchVar', 'main', '/value') > 10">
+                <invoke name="bigInvoke" partnerLink="bigPartner" portType="bigPort"
+                    operation="bigOp" inputVariable="switchVar"/>
+            </case>
+            <otherwise>
+                <invoke name="smallInvoke" partnerLink="smallPartner" portType="smallPort"
+                    operation="smallOp" inputVariable="switchVar"/>
+            </otherwise>
+        </switch>
+    </sequence>
+</process>
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/testservice.wsdl
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/testservice.wsdl?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/testservice.wsdl (added)
+++ incubator/agila/trunk/modules/bpel/engine/core/src/test/resources/testservice.wsdl Wed Apr 27 13:27:43 2005
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions targetNamespace="http://DefaultNS" xmlns="http://schemas.xmlsoap.org/wsdl/">
+	<import location="http://ws.cdyne.com/ziptogeo/zip2geo.asmx?WSDL"/>
+</definitions>	
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/deployer/locator.ent
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/locator.ent?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/locator.ent (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/locator.ent Wed Apr 27 13:27:43 2005
@@ -0,0 +1 @@
+<!ENTITY % dependencies SYSTEM "file:../../dependencies.ent">%dependencies;

Added: incubator/agila/trunk/modules/bpel/engine/deployer/maven.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/maven.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/maven.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/maven.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,29 @@
+<project default="jar:jar"
+    xmlns:j="jelly:core"
+    xmlns:u="jelly:util"
+    xmlns:ant="jelly:ant"
+    xmlns:maven="jelly:maven"
+    xmlns:m="maven"
+    xmlns:deploy="deploy">
+
+    <!-- Module specific build, called by the reactor of the root module to build -->
+    <!-- all submodules. -->
+    <goal name="buildmodule">
+        <attainGoal name="jar:install"/>
+    </goal>
+
+    <goal name="sitemodule">
+        <attainGoal name="site:generate"/>
+    </goal>
+
+    <preGoal name="java:compile">
+        <!-- Copying necessary resources -->
+        <copy toDir="${maven.build.dest}">
+            <fileset dir="src/aspect">
+                <include name="*.*"/>
+            </fileset>
+        </copy>
+    </preGoal>
+
+
+</project>
\ No newline at end of file

Added: incubator/agila/trunk/modules/bpel/engine/deployer/project.properties
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/project.properties?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/project.properties (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/project.properties Wed Apr 27 13:27:43 2005
@@ -0,0 +1,2 @@
+maven.junit.fork=true
+maven.multiproject.type=jar

Added: incubator/agila/trunk/modules/bpel/engine/deployer/project.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/project.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/project.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/project.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<!DOCTYPE project [
+<!ENTITY % locator SYSTEM "file:locator.ent">%locator;
+]>
+<project>
+    <extend>${basedir}/../../project.xml</extend>
+    <name>Agila Deployer</name>
+    <id>agila-deployer</id>
+    <package>org.apache.agila.bpel.deployer</package>
+
+    <shortDescription>Agila Deployer</shortDescription>
+
+    <description>
+        The Agila deployer takes WS-BPEL process descriptions as input, parses them and
+        creates necessary structures in the process engine to make processes available.
+    </description>
+
+    <dependencies>
+        &dependency-agila-agila-common;
+        &dependency-agila-agila-engine-common;
+        &dependency-agila-agila-engine;
+        &dependency-commons-logging;
+    	&dependency-log4j;
+        &dependency-axis;
+        &dependency-dom4j;
+        &dependency-msv;
+        &dependency-msv-isorelax;
+        &dependency-msv-relaxdata;
+        &dependency-msv-xsdlib;
+	    &dependency-wsvt-model;
+	    &dependency-wsvt-validator;
+        &dependency-xmldb-api;
+    </dependencies>
+
+    <build>
+
+        <nagEmailAddress>
+            wf-agila-devel@lists.sourceforge.net
+        </nagEmailAddress>
+
+        <sourceDirectory>src/java</sourceDirectory>
+        <aspectSourceDirectory>src/aspect</aspectSourceDirectory>
+
+        <resources>
+            <resource>
+                <directory>src/conf</directory>
+                <include name="*.*"/>
+                <exclude name="agila-configuration.xml"/>
+            </resource>
+        </resources>
+
+        <!--        <unitTestSourceDirectory>src/test/junit</unitTestSourceDirectory>-->
+
+        <!-- Unit test cases -->
+        <unitTest>
+            <includes>
+                <include>**/Test*.java</include>
+            </includes>
+            <resources>
+                <resource>
+                    <directory>src/conf</directory>
+                    <include>agila-configuration.xml</include>
+                </resource>
+                <resource>
+                    <directory>src/hibernate</directory>
+                    <include>hibernate.cfg.xml</include>
+                </resource>
+            </resources>
+        </unitTest>
+
+        <!-- Integration unit test cases -->
+        <integrationUnitTest/>
+
+        <jars>
+        </jars>
+        
+        <nagEmailAddress>wf-agila-devel@lists.sourceforge.net</nagEmailAddress>
+    </build>
+    
+    &site-reports;
+    
+</project>

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/aspect/jboss-aop.xml
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/aspect/jboss-aop.xml?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/aspect/jboss-aop.xml (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/aspect/jboss-aop.xml Wed Apr 27 13:27:43 2005
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<aop>
+	<!-- Tracing binding, includes debug messages at method entrance and exit -->
+   <bind pointcut="execution(public * org.smcp.*->*(..)) AND !all(*.aspect.*)">
+      <interceptor class="org.apache.agila.bpel.util.aspect.LoggingInterceptor"/>
+   </bind>
+   
+   <!-- Transaction commit, includes transaction behaviour at methods entranc and exit -->
+   <bind pointcut="all(@transactional)">
+       <interceptor class="org.apache.agila.bpel.util.aspect.TransactionInterceptor"/>       
+   </bind>
+
+</aop>

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployer.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployer.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployer.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployer.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer;
+
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+
+import org.apache.agila.bpel.deployer.exception.DeploymentException;
+
+/**
+ * Allows the deployment of a process xml description.
+ * Implementations of AgilaDeployer interface assume
+ * that the process xml description is valid and compliant with the
+ * specification.
+ */
+public interface AgilaDeployer {
+    /**
+     * deploys the process in the engine from a process description as String
+     * @param xmlProcessDescription
+     * @throws DeploymentException
+     */
+    public void deploy(String xmlProcessDescription) throws DeploymentException;
+
+    public void deploy(String xmlProcess, String xmlProcessDefinition) throws DeploymentException;
+
+    /**
+     * deploys the process in the engine from a process description as InputStream
+     * @param xmlProcessDescription
+     * @throws DeploymentException
+     */
+    public void deploy(InputStream xmlProcessDescription) throws DeploymentException;
+
+    /**
+     * deploy the process in the engine from a process description as URL
+     * @param xmlProcessDescription
+     * @throws DeploymentException
+     */
+    public void deploy(URL xmlProcessDescription) throws DeploymentException;
+
+    /**
+     * deploy the process in the engine from a process description as File
+     * @param xmlProcessDescription
+     * @throws DeploymentException
+     */
+    public void deploy(File xmlProcessDescription) throws DeploymentException;
+
+    /**
+     * Deploys any resource in Agila. No validation is applied.
+     * @param resourceContent
+     * @throws DeploymentException
+     */
+    public void deployResource(String resourceContent) throws DeploymentException;
+
+    /**
+     * Deploys a WSDL description, applying neccessary validations.
+     * @param resourceContent
+     * @param validate
+     * @return an array containing all error messages
+     * @throws DeploymentException
+     */
+    public String[] deployWSDL(String resourceContent, boolean validate) throws DeploymentException;
+
+    /**
+     * Deploys a BPEL description, applying neccessary validations.
+     * @param resourceContent
+     * @return an array containing all error messages
+     * @throws DeploymentException
+     */
+    public String[] deployBPEL(String resourceContent) throws DeploymentException;
+}

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployerFactory.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployerFactory.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployerFactory.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/AgilaDeployerFactory.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer;
+
+import org.apache.agila.bpel.deployer.priv.AgilaDeployerImpl;
+
+public class AgilaDeployerFactory {
+    private AgilaDeployerFactory() {
+    }
+
+    public static AgilaDeployer getAgilaDeployer() {
+        return new AgilaDeployerImpl();
+    }
+}

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/DeployerUI.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/DeployerUI.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/DeployerUI.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/DeployerUI.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,310 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.sql.DriverManager;
+
+import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JScrollBar;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.WindowConstants;
+import javax.swing.filechooser.FileFilter;
+
+import org.dom4j.Document;
+import org.dom4j.Node;
+import org.dom4j.io.SAXReader;
+
+/**
+ * UI Client to deploy process
+ */
+public class DeployerUI extends JPanel implements Runnable {
+
+    private JTextField choosenFileTextField = new JTextField("Enter process filename");
+
+    private JButton chooseFileButton = new JButton("Choose ...");
+    private JButton deployButton = new JButton("Deploy");
+    private JButton exitButton = new JButton("Exit");
+    private JButton retryButton = new JButton("Retry");
+
+//    JLabel dbstatus = new JLabel();
+//    private ImageIcon dbStatusOk = new ImageIcon("d:\\greenspot10_10.jpg");
+//    private ImageIcon dbStatusWrk = new ImageIcon("d:\\orangespot10_10.jpg");
+//    private ImageIcon dbStatusNok = new ImageIcon("d:\\redspot10_10.jpg");
+
+    File selectedFile;
+
+    private Insets gbInsets = new Insets(0, 0, 5, 5);
+    private Insets marginInsets = new Insets(0, 0, 0, 0);
+    private int componentwidth = 65;
+
+    private JTextArea consoleTextArea = new JTextArea();
+    private JScrollPane msgScrollPane = new JScrollPane(consoleTextArea);
+
+    private String databaseDriverClass;
+    private String databaseConnectionURL;
+    private String connectionUsername;
+    private String connectionPassword;
+
+    public DeployerUI() {
+        init();
+    }
+
+    private void getDatabaseConfiguration() throws Exception {
+        Document doc = null;
+        SAXReader reader = new SAXReader();
+        try {
+            doc = reader.read(getClass().getClassLoader().getResource("hibernate.cfg.xml"));
+        } catch (Exception e) {
+            throw new Exception("Unable to load the database configuration file", e);
+        }
+
+//        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
+        Node connectionDriverClassNode =
+                doc.selectSingleNode("//hibernate-configuration/session-factory/property[@name=\"connection.driver_class\"]");
+        if (connectionDriverClassNode == null) {
+            throw new Exception("The property 'connection.driver_class' is not defined in the hibernate.cfg.xml");
+        }
+        databaseDriverClass = connectionDriverClassNode.getText();
+
+//        <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
+        Node connectionUrlNode =
+                doc.selectSingleNode("//hibernate-configuration/session-factory/property[@name=\"connection.url\"]");
+        if (connectionUrlNode == null) {
+            throw new Exception("The property 'connection.url' is not defined in the hibernate.cfg.xml");
+        }
+        databaseConnectionURL = connectionUrlNode.getText();
+
+//        <property name="connection.username">sa</property>
+        Node connectionUsernameNode =
+                doc.selectSingleNode("//hibernate-configuration/session-factory/property[@name=\"connection.username\"]");
+        if (connectionUsernameNode == null) {
+            throw new Exception("The property 'connection.username' is not defined in the hibernate.cfg.xml");
+        }
+        connectionUsername = connectionUsernameNode.getText();
+
+//        <property name="connection.password"></property>
+        Node connectionPasswordNode =
+                doc.selectSingleNode("//hibernate-configuration/session-factory/property[@name=\"connection.password\"]");
+        if (connectionPasswordNode == null) {
+            throw new Exception("The property 'connection.password' is not defined in the hibernate.cfg.xml");
+        }
+        connectionPassword = connectionPasswordNode.getText();
+    }
+
+    public void run() {
+        consoleTextArea.setText("");
+//        dbstatus.setToolTipText("Database connection ...");
+//        dbstatus.setIcon(dbStatusWrk);
+
+        appendConsole("Try to connect to DB ...\n");
+        try {
+            getDatabaseConfiguration();
+            Class.forName(databaseDriverClass);
+        } catch (Exception e) {
+//            dbstatus.setIcon(dbStatusNok);
+//            dbstatus.setToolTipText("No database connection");
+            appendConsole(e.getMessage() + "\n");
+            appendConsole("No database connection\n");
+            retryButton.setEnabled(true);
+            return;
+        }
+        try {
+            DriverManager.getConnection(databaseConnectionURL, connectionUsername, connectionPassword);
+        } catch (Exception e) {
+//            dbstatus.setIcon(dbStatusNok);
+//            dbstatus.setToolTipText("No database connection");
+            appendConsole(e.getMessage() + "\n");
+            appendConsole("No database connection\nCheck your database is running\n");
+            retryButton.setEnabled(true);
+            return;
+        }
+//        dbstatus.setToolTipText("Database connected");
+//        dbstatus.setIcon(dbStatusOk);
+        chooseFileButton.setEnabled(true);
+        appendConsole("Database connection established !\n");
+    }
+
+    private void init() {
+        setBorder(BorderFactory.createTitledBorder("Agila process deployer"));
+        setLayout(new GridBagLayout());
+
+        add(choosenFileTextField, new GridBagConstraints(0, 0, 5, 1, 1, 0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
+                gbInsets, 0, 0));
+
+        chooseFileButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                chooseFile();
+            }
+        });
+        chooseFileButton.setPreferredSize(new Dimension(componentwidth, 23));
+        chooseFileButton.setMargin(marginInsets);
+        chooseFileButton.setEnabled(false);
+        add(chooseFileButton, new GridBagConstraints(6, 0, 1, 1, 0, 0,
+                GridBagConstraints.CENTER, GridBagConstraints.NONE,
+                gbInsets, 0, 0));
+
+        add(Box.createHorizontalStrut(componentwidth), new GridBagConstraints(0, 6, 1, 1, 0, 0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
+                gbInsets, 0, 0));
+
+        retryButton.setPreferredSize(new Dimension(componentwidth, 23));
+        retryButton.setMargin(marginInsets);
+        retryButton.setEnabled(false);
+
+        class ActionListenerImpl implements ActionListener {
+            private Runnable run;
+
+            public ActionListenerImpl(Runnable run) {
+                this.run = run;
+            }
+
+            public void actionPerformed(ActionEvent e) {
+                Thread t = new Thread(run);
+                t.start();
+                retryButton.setEnabled(false);
+            }
+        }
+
+        retryButton.addActionListener(new ActionListenerImpl(this));
+        add(retryButton, new GridBagConstraints(1, 6, 1, 1, 0, 0,
+                GridBagConstraints.CENTER, GridBagConstraints.NONE,
+                gbInsets, 0, 0));
+
+        deployButton.setPreferredSize(new Dimension(componentwidth, 23));
+        deployButton.setMargin(marginInsets);
+        deployButton.setEnabled(false);
+        deployButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                deployFile();
+            }
+        });
+        add(deployButton, new GridBagConstraints(2, 6, 1, 1, 0, 0,
+                GridBagConstraints.CENTER, GridBagConstraints.NONE,
+                gbInsets, 0, 0));
+
+        exitButton.setPreferredSize(new Dimension(componentwidth, 23));
+        exitButton.setMargin(marginInsets);
+        exitButton.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                System.exit(0);
+            }
+        });
+        add(exitButton, new GridBagConstraints(3, 6, 1, 1, 0, 0,
+                GridBagConstraints.CENTER, GridBagConstraints.NONE,
+                gbInsets, 0, 0));
+
+//        dbstatus.setIcon(dbStatusNok);
+//        dbstatus.setToolTipText("No database connection");
+//        add(dbstatus, new GridBagConstraints(5, 1, 1, 1, 0, 0,
+//                GridBagConstraints.CENTER, GridBagConstraints.NONE,
+//                gbInsets, 0, 0));
+
+
+        consoleTextArea.setEditable(false);
+        consoleTextArea.setBackground(Color.LIGHT_GRAY);
+
+
+        msgScrollPane.setBorder(BorderFactory.createTitledBorder("messages"));
+//        msgScrollPane.getHorizontalScrollBar().setVisible(true);
+        msgScrollPane.setAutoscrolls(true);
+        appendConsole("\n\n\n");
+        add(msgScrollPane, new GridBagConstraints(0, 1, 7, 5, 0, 0,
+                GridBagConstraints.CENTER, GridBagConstraints.BOTH,
+                gbInsets, 0, 0));
+    }
+
+    private void deployFile() {
+        selectedFile = new File(choosenFileTextField.getText());
+        if (selectedFile.getPath().endsWith(".xml")) {
+            try {
+                AgilaDeployerFactory.getAgilaDeployer().deploy(selectedFile);
+                appendConsole("Deployment successful !");
+                return;
+            } catch (Exception e) {
+                appendConsole(e.getMessage() + "\n");
+            }
+        } else {
+            appendConsole("Please select an 'xml' file !\n");
+        }
+    }
+
+    private void appendConsole(String s) {
+        consoleTextArea.append(s);
+        JScrollBar verticalScrollBar = msgScrollPane.getVerticalScrollBar();
+        verticalScrollBar.setValue(verticalScrollBar.getMaximum());
+    }
+
+    private void chooseFile() {
+        JFileChooser chooser = new JFileChooser();
+        chooser.setFileFilter(new FileFilter() {
+            public String getDescription() {
+                return "xml process";
+            }
+
+            public boolean accept(File f) {
+                boolean res = false;
+                if (f.getName().endsWith(".xml")) {
+                    res = true;
+                } else if (f.isDirectory()) {
+                    res = true;
+                }
+                return res;
+            }
+        });
+        chooser.showOpenDialog(this);
+        selectedFile = chooser.getSelectedFile();
+        if (selectedFile != null) {
+            deployButton.setEnabled(true);
+            choosenFileTextField.setText(selectedFile.getPath());
+        } else {
+            appendConsole("Click Choose... to select a file !\n");
+        }
+    }
+
+    public static void main(String[] args) {
+        JFrame f = new JFrame("Agila process deployer");
+        f.setResizable(false);
+//        String frameIcon = "d:\\ticon.jpg";
+//        f.setIconImage(new ImageIcon(frameIcon).getImage());
+        DeployerUI ui = new DeployerUI();
+        f.getContentPane().add(ui);
+        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+        f.pack();
+        f.show();
+        Dimension dScreen = Toolkit.getDefaultToolkit().getScreenSize();
+        f.setLocation((dScreen.width - f.getWidth()) >> 1, (dScreen.height - f.getHeight()) >> 1);
+        Thread t = new Thread(ui);
+        t.start();
+    }
+}
+

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/AxisServiceCreationException.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/AxisServiceCreationException.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/AxisServiceCreationException.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/AxisServiceCreationException.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer.exception;
+
+/***
+ * Thrown when the Axis service corresponding to the deployed process can't be created.
+ * @author mriou
+ */
+public class AxisServiceCreationException extends RuntimeException {
+	
+	/**
+	 * @param message
+	 */
+	public AxisServiceCreationException(String message) {
+		super(message);
+		// TODO Auto-generated constructor stub
+	}
+	/**
+	 * @param message
+	 * @param cause
+	 */
+	public AxisServiceCreationException(String message, Throwable cause) {
+		super(message, cause);
+		// TODO Auto-generated constructor stub
+	}
+	/**
+	 * @param cause
+	 */
+	public AxisServiceCreationException(Throwable cause) {
+		super(cause);
+		// TODO Auto-generated constructor stub
+	}
+}

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DeploymentException.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DeploymentException.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DeploymentException.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DeploymentException.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer.exception;
+
+/**
+ * Base exception for the deployer part
+ */
+public class DeploymentException extends Exception {
+
+    public DeploymentException(String message) {
+        super(message);
+    }
+
+    public DeploymentException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public DeploymentException(Throwable cause) {
+        super(cause);
+    }
+}

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DocumentParsingException.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DocumentParsingException.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DocumentParsingException.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/exception/DocumentParsingException.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer.exception;
+
+/**
+ * Used when errors occured during the parsing of process description.
+ */
+public class DocumentParsingException extends DeploymentException {
+    public DocumentParsingException(String message) {
+        super(message);
+    }
+
+    public DocumentParsingException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public DocumentParsingException(Throwable cause) {
+        super(cause);
+    }
+}

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployer.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployer.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployer.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployer.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,287 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer.priv;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Attribute;
+import org.dom4j.Element;
+
+import org.apache.log4j.Logger;
+
+import org.apache.agila.bpel.deployer.exception.DeploymentException;
+import org.apache.agila.bpel.deployer.priv.context.DeployerContext;
+import org.apache.agila.bpel.engine.common.persistence.DBSessionException;
+import org.apache.agila.bpel.engine.priv.core.definition.Activity;
+import org.apache.agila.bpel.engine.priv.core.definition.ActivityFactory;
+import org.apache.agila.bpel.engine.priv.core.definition.CorrelationRef;
+import org.apache.agila.bpel.engine.priv.core.definition.StructuredActivity;
+import org.apache.agila.bpel.engine.priv.core.definition.AgilaProcess;
+
+/**
+ * parent class of specific activity deployer
+ */
+public abstract class ActivityDeployer {
+
+    protected Logger log = Logger.getLogger(getClass());
+
+    // this flag indicates if the deploy loop should deploy the
+    // children elements or not
+    protected boolean processChildren = true;
+
+    protected ActivityDeployer() {
+    }
+
+    /**
+     * The token "activity" can be any of the following:
+     * • <receive>
+     * • <reply>
+     * • <invoke>
+     * • <assign>
+     * • <throw>
+     * • <terminate>
+     * • <wait>
+     * • <empty>
+     * • <sequence>
+     * • <switch>
+     * • <while>
+     * • <pick>
+     * • <flow>
+     * • <scope>
+     * • <compensate>
+     * 
+     * @param pe 
+     * @return 
+     */
+    public static Element getActivityElement(final Element pe) {
+        Element res = null;
+        Element tmp = null;
+        res = ((res != null) || (tmp = pe.element("assign")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("compensate")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("empty")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("flow")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("invoke")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("pick")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("receive")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("reply")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("sequence")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("scope")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("switch")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("terminate")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("throw")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("wait")) == null) ? res : tmp;
+        res = ((res != null) || (tmp = pe.element("while")) == null) ? res : tmp;
+        return res;
+    }
+
+
+    /**
+     * @param element        
+     * @param agilaProcess 
+     * @return 
+     * @throws DeploymentException 
+     */
+    final public Activity deploy(Element element, AgilaProcess agilaProcess, DeployerContext context) 
+    		throws DeploymentException {
+        Activity activity = createActivity(element, agilaProcess, context);
+        processChildren(activity, element, context);
+        return activity;
+    }
+
+    /**
+     * @param element        
+     * @param parentActivity 
+     * @return 
+     * @throws DeploymentException 
+     */
+    final public Activity deploy(Element element, StructuredActivity parentActivity, DeployerContext context) 
+    		throws DeploymentException {
+        Activity activity = createActivity(element, parentActivity, context);
+        processChildren(activity, element, context);
+        return activity;
+    }
+
+    private void processChildren(Activity activity, Element element, DeployerContext context) throws DeploymentException {
+        if ((activity instanceof StructuredActivity) && (processChildren == true)) {
+            List elements = element.elements();
+            int eltsSize = elements.size();
+            for (int i = 0; i < eltsSize; i++) {
+                Element e = (Element) elements.get(i);
+                log.info("<" + e.getName() + ">");
+                ActivityDeployer ad = null;
+                try {
+                    ad = ActivityDeployerFactory.getActivityDeployer(e.getName());
+                } catch (DeploymentException ex) {
+                    throw new DeploymentException(ex);
+                }
+                Activity returnedActivity = ad.deploy(e, (StructuredActivity) activity, context);
+                
+                // Setting a flag on a receive if it's immediately followed by a Reply
+//                if ("receive".equals(e.getName())) {
+//                    if (i < (eltsSize - 1)) {
+//                        Element next = (Element) elements.get(i + 1);
+//                        if ("reply".equals(next.getName())) {
+//                            if ("sequence".equals(element.getName())) {
+//                                ((Receive) returnedActivity).setReply(true);
+//                            }
+//                        }
+//                    }
+//                }
+
+                log.info("</" + e.getName() + ">");
+            }
+        }
+    }
+
+    /**
+     * Standard Attributes for Each Activity
+     * <p/>
+     * name="ncname"?
+     * joinCondition="bool-expr"?
+     * suppressJoinFailure="yes|no"?>
+     * 
+     * @param element  
+     * @param activity 
+     */
+    final protected void processStandardAttributes(Element element, Activity activity, DeployerContext context) {
+        Attribute name = element.attribute("name");
+        if (name != null) {
+            log.debug("name=" + name);
+            activity.setName(name.getValue());
+        }
+
+        Attribute joinCondition = element.attribute("joinCondition");
+        if (joinCondition != null) {
+            log.debug("joinCondition=" + joinCondition);
+            activity.setJoinCondition(joinCondition.getValue());
+        }
+
+/*      TODO manage the suppressJoinFailure when avaliable in the implementation
+        Attribute suppressJoinFailure = element.attribute("suppressJoinFailure");
+        if (suppressJoinFailure != null) {
+            log.debug("suppressJoinFailure=" + suppressJoinFailure);
+            activity.setPartner(partnerLink.getValue());
+        }
+*/
+    }
+
+    /**
+     * Standard Elements for Each Activity
+     * <p/>
+     * <source linkName="ncname" transitionCondition="bool-expr"?/>*
+     * <target linkName="ncname"/>*
+     * 
+     * @param element  
+     * @param activity 
+     */
+    final protected void processStandardElements(Element element, Activity activity, DeployerContext context) {
+        Iterator sourceElements = element.elementIterator("source");
+        processSource(sourceElements, activity);
+
+        Iterator targetElements = element.elementIterator("target");
+        processTarget(targetElements, activity);
+    }
+
+
+    private void processSource(Iterator sourceElements, Activity activity) {
+        while (sourceElements.hasNext()) {
+            Element element = (Element) sourceElements.next();
+            log.info("not yet managed element : " + element);
+        }
+    }
+
+    private void processTarget(Iterator targetElements, Activity activity) {
+        while (targetElements.hasNext()) {
+            Element element = (Element) targetElements.next();
+            log.info("not yet managed element : " + element);
+        }
+    }
+
+    protected int getCorrelationPattern(String patternAsString) {
+        int res = CorrelationRef.NONE;
+        if ("in".equalsIgnoreCase(patternAsString)) {
+            res = CorrelationRef.IN;
+        } else if ("out".equalsIgnoreCase(patternAsString)) {
+            res = CorrelationRef.OUT;
+        } else if ("out-in".equalsIgnoreCase(patternAsString)) {
+            res = CorrelationRef.OUT_IN;
+        }
+        return res;
+    }
+
+    /**
+     * @param element        
+     * @param agilaProcess 
+     * @return 
+     * @throws DeploymentException 
+     */
+    final protected Activity createActivity(Element element, AgilaProcess agilaProcess, 
+            DeployerContext context) throws DeploymentException {
+        Activity activity = null;
+//        log.debug("Creating " + StringUtil.getClassName(getActivityClass().getName()) + " ...");
+        try {
+            activity = ActivityFactory.createActivity(getActivityClass(), agilaProcess);
+        } catch (DBSessionException e) {
+            throw new DeploymentException(e);
+        }
+        processElements(element, activity, context);
+        return activity;
+    }
+
+    /**
+     * @param element        
+     * @param parentActivity 
+     * @return 
+     * @throws DeploymentException 
+     */
+    final protected Activity createActivity(Element element, StructuredActivity parentActivity, 
+            DeployerContext context) throws DeploymentException {
+        Activity activity = null;
+//        log.debug("Creating " + StringUtil.getClassName(getActivityClass().getName()) + " ...");
+        try {
+            activity = ActivityFactory.createActivity(getActivityClass(), parentActivity);
+        } catch (DBSessionException e) {
+            throw new DeploymentException(e);
+        }
+
+        processElements(element, activity, context);
+
+        return activity;
+    }
+
+    private void processElements(Element element, Activity activity, 
+            DeployerContext context) throws DeploymentException {
+        processStandardAttributes(element, activity, context);
+        processSpecificAttributes(element, activity, context);
+        processStandardElements(element, activity, context);
+        processSpecificElements(element, activity, context);
+    }
+
+    protected abstract void processSpecificElements(Element element, Activity activity, 
+            DeployerContext context) throws DeploymentException;
+
+    protected abstract void processSpecificAttributes(Element element, Activity activity, 
+            DeployerContext context) throws DeploymentException;
+
+    protected abstract Class getActivityClass();
+
+    protected String truncNamespace(String string) {
+        int index = string.lastIndexOf(":");
+        return string.substring(index + 1);
+    }
+
+}

Added: incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployerFactory.java
URL: http://svn.apache.org/viewcvs/incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployerFactory.java?rev=165042&view=auto
==============================================================================
--- incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployerFactory.java (added)
+++ incubator/agila/trunk/modules/bpel/engine/deployer/src/java/org/apache/agila/bpel/deployer/priv/ActivityDeployerFactory.java Wed Apr 27 13:27:43 2005
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.agila.bpel.deployer.priv;
+
+import org.apache.agila.bpel.common.util.StringUtil;
+import org.apache.agila.bpel.deployer.exception.DeploymentException;
+
+import org.apache.log4j.Logger;
+
+public class ActivityDeployerFactory {
+
+    private static Logger log = Logger.getLogger(ActivityDeployerFactory.class);
+
+    public static ActivityDeployer getActivityDeployer(String activityName) throws DeploymentException {
+        Object activityDeployer = null;
+        try {
+            String strActivityName = StringUtil.capitalizeFirstCharacter(activityName);
+            log.debug("Instantiate : " + "org.apache.agila.bpel.deployer.priv." + strActivityName + "Deployer");
+            activityDeployer = Class.forName("org.apache.agila.bpel.deployer.priv." + strActivityName + "Deployer").newInstance();
+        } catch (Exception e) {
+            throw new DeploymentException("Unable to instanciate the activity deployer due to " + e.getMessage(), e);
+        }
+        return (ActivityDeployer) activityDeployer;
+    }
+
+}



Mime
View raw message