You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by as...@apache.org on 2006/11/08 02:54:32 UTC
svn commit: r472363 [2/2] - in /incubator/ode/trunk:
bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/
bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/
bpel-obj/src/main/java/org/apache/ode/bpel/o/
bpel-runtime/src/main/java/org/ap...
Modified: incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/ActivityRecoveryTest.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/ActivityRecoveryTest.java?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/ActivityRecoveryTest.java (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/ActivityRecoveryTest.java Tue Nov 7 17:54:31 2006
@@ -32,7 +32,7 @@
import org.apache.ode.bpel.iapi.MessageExchangeContext;
import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
-import org.apache.ode.bpel.o.FailureHandling;
+import org.apache.ode.bpel.o.OFailureHandling;
import org.apache.ode.bpel.pmapi.BpelManagementFacade;
import org.apache.ode.bpel.pmapi.TActivityInfo;
import org.apache.ode.bpel.pmapi.TActivityStatus;
@@ -52,6 +52,7 @@
static final String[] ACTIONS = new String[]{ "retry", "cancel", "fault" };
int _invoked;
int _failFor;
+ boolean _responseSent;
MockBpelServer _server;
BpelManagementFacade _management;
@@ -74,22 +75,22 @@
assertCompleted(true, 5, null);
}
- public void testCancelRecoveryAction() throws Exception {
+ public void testFaultRecoveryAction() throws Exception {
execute("FailureToRecovery", 4);
assertRecovery(3, ACTIONS);
recover("retry");
assertRecovery(4, ACTIONS);
- recover("cancel");
- assertCompleted(true, 4, null);
+ recover("fault");
+ assertCompleted(false, 4, OFailureHandling.FAILURE_FAULT_NAME);
}
- public void testFaultRecoveryAction() throws Exception {
- execute("FailureToRecovery", 4);
+ public void testCancelRecoveryAction() throws Exception {
+ execute("FailureToCancel", 4);
assertRecovery(3, ACTIONS);
recover("retry");
assertRecovery(4, ACTIONS);
- recover("fault");
- assertCompleted(false, 4, FailureHandling.FAILURE_FAULT_NAME);
+ recover("cancel");
+ assertCompleted(true, 4, null);
}
public void testImmediateFailure() throws Exception {
@@ -99,7 +100,7 @@
public void testImmediateFault() throws Exception {
execute("FailureToFault", 2);
- assertCompleted(false, 1, FailureHandling.FAILURE_FAULT_NAME);
+ assertCompleted(false, 1, OFailureHandling.FAILURE_FAULT_NAME);
}
public void testInheritence() throws Exception {
@@ -113,14 +114,20 @@
return new MessageExchangeContext() {
public void invokePartner(final PartnerRoleMessageExchange mex) throws ContextException {
- ++_invoked;
- if (_invoked > _failFor) {
- Message response = mex.createMessage(mex.getOperation().getOutput().getMessage().getQName());
- response.setMessage(DOMUtils.newDocument().createElementNS(NAMESPACE, "tns:ResponseElement"));
- mex.reply(response);
- } else
- mex.replyWithFailure(MessageExchange.FailureType.COMMUNICATION_ERROR, "BangGoesInvoke", null);
- //mex.replyWithFailure(FailureType, String, Element);
+System.out.println("-- Invoke: " + mex.getOperation().getName());
+ if (mex.getOperation().getName().equals("invoke")) {
+ // Failing invocation.
+ ++_invoked;
+ if (_invoked > _failFor) {
+ Message response = mex.createMessage(mex.getOperation().getOutput().getMessage().getQName());
+ response.setMessage(DOMUtils.newDocument().createElementNS(NAMESPACE, "tns:ResponseElement"));
+ mex.reply(response);
+ } else {
+System.out.println("-- Failed: " + _invoked);
+ mex.replyWithFailure(MessageExchange.FailureType.COMMUNICATION_ERROR, "BangGoesInvoke", null);
+ }
+ } else if (mex.getOperation().getName().equals("respond"))
+ _responseSent = true;
}
public void onAsyncReply(MyRoleMessageExchange myRoleMex) { }
@@ -129,6 +136,7 @@
};
_server.deploy(new File(new URI(this.getClass().getResource("/recovery").toString())));
_management = _server.getBpelManagementFacade();
+System.out.println("-- Start test");
}
protected void tearDown() throws Exception {
@@ -158,11 +166,16 @@
TInstanceInfo instance = _management.listAllInstances().getInstanceInfoList().getInstanceInfoArray(0);
TInstanceInfo.Failures failures = instance.getFailures();
assertTrue(failures == null || failures.getCount() == 0);
+System.out.println("-- Status: " + instance.getStatus());
+System.out.println("-- Fault: " + instance.getFaultInfo());
if (successful) {
assertTrue(instance.getStatus() == TInstanceStatus.COMPLETED);
+ assertTrue(_responseSent);
} else if (faultName == null) {
assertTrue(instance.getStatus() == TInstanceStatus.TERMINATED);
+ assertFalse(_responseSent);
} else {
+ assertFalse(_responseSent);
assertTrue(instance.getStatus() == TInstanceStatus.FAILED);
TFaultInfo faultInfo = instance.getFaultInfo();
assertTrue(faultInfo != null && faultInfo.getName().equals(faultName));
@@ -175,8 +188,11 @@
protected void assertRecovery(int invoked, String[] actions) {
// Test in aggregate to see how many activities we have in this state.
TInstanceInfo instance = _management.listAllInstances().getInstanceInfoList().getInstanceInfoArray(0);
+ assertTrue(instance.getStatus() == TInstanceStatus.ACTIVE);
+ assertFalse(_responseSent);
TInstanceInfo.Failures failures = instance.getFailures();
assertTrue(failures != null && failures.getCount() == 1);
+System.out.println("-- Failures count: " + failures.getCount());
// Look for individual activities inside the process instance.
@SuppressWarnings("unused")
TScopeInfo rootScope = _management.getScopeInfoWithActivity(instance.getRootScope().getSiid(), true).getScopeInfo();
Modified: incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/runtime/MockBpelServer.java Tue Nov 7 17:54:31 2006
@@ -76,17 +76,18 @@
createDataSource();
createDAOConnection();
createScheduler();
- _store = new ProcessStoreImpl(new File("."), null, null);
-
if (_daoCF == null)
throw new RuntimeException("No DAO");
_server.setDaoConnectionFactory(_daoCF);
if (_scheduler == null)
throw new RuntimeException("No scheduler");
+ //_store = new ProcessStoreImpl(new File("."), _dataSource, _txManager);
+ _store = new ProcessStoreImpl(new File("."), null, null);
_server.setScheduler(_scheduler);
_server.setEndpointReferenceContext(createEndpointReferenceContext());
_server.setMessageExchangeContext(createMessageExchangeContext());
_server.setBindingContext(createBindingContext());
+ _server.setProcessStore(_store);
_server.init();
_server.start();
} catch (Exception except) {
Modified: incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/deploy.xml
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/deploy.xml?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/deploy.xml (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/deploy.xml Tue Nov 7 17:54:31 2006
@@ -11,6 +11,9 @@
<invoke partnerLink="failingPartnerLink">
<service name="wns:FailingService" port="soap"/>
</invoke>
+ <invoke partnerLink="instantiatingPartnerLink">
+ <service name="wns:ResponseService" port="soap"/>
+ </invoke>
</process>
<process name="pns:FailureToFault">
@@ -21,6 +24,9 @@
<invoke partnerLink="failingPartnerLink">
<service name="wns:FailingService" port="soap"/>
</invoke>
+ <invoke partnerLink="instantiatingPartnerLink">
+ <service name="wns:ResponseService" port="soap"/>
+ </invoke>
</process>
<process name="pns:FailureNoRetry">
@@ -31,6 +37,22 @@
<invoke partnerLink="failingPartnerLink">
<service name="wns:FailingService" port="soap"/>
</invoke>
+ <invoke partnerLink="instantiatingPartnerLink">
+ <service name="wns:ResponseService" port="soap"/>
+ </invoke>
+ </process>
+
+ <process name="pns:FailureToCancel">
+ <active>true</active>
+ <provide partnerLink="instantiatingPartnerLink">
+ <service name="wns:FailureToCancel" port="soap"/>
+ </provide>
+ <invoke partnerLink="failingPartnerLink">
+ <service name="wns:FailingService" port="soap"/>
+ </invoke>
+ <invoke partnerLink="instantiatingPartnerLink">
+ <service name="wns:ResponseService" port="soap"/>
+ </invoke>
</process>
<process name="pns:FailureInheritence">
@@ -40,6 +62,9 @@
</provide>
<invoke partnerLink="failingPartnerLink">
<service name="wns:FailingService" port="soap"/>
+ </invoke>
+ <invoke partnerLink="instantiatingPartnerLink">
+ <service name="wns:ResponseService" port="soap"/>
</invoke>
</process>
</deploy>
Modified: incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-inheritence.bpel
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-inheritence.bpel?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-inheritence.bpel (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-inheritence.bpel Tue Nov 7 17:54:31 2006
@@ -6,10 +6,11 @@
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ext="http://ode.apache.org/activityRecovery">
- <ext:failureHandling>
- <ext:retryFor>2</ext:retryFor>
- <ext:retryDelay>0</ext:retryDelay>
- </ext:failureHandling>
+ <ext:failureHandling>
+ <ext:retryFor>2</ext:retryFor>
+ <ext:retryDelay>0</ext:retryDelay>
+ </ext:failureHandling>
+
<import location="services.wsdl"
namespace="http://ode.apache.org/bpel/unit-test"
importType="http://schemas.xmlsoap.org/wsdl/"/>
@@ -17,7 +18,7 @@
<partnerLinks>
<partnerLink name="instantiatingPartnerLink"
partnerLinkType="tns:InstantiatingPartnerLinkType"
- myRole="me"/>
+ myRole="me" partnerRole="partner" initializePartnerRole="yes"/>
<partnerLink name="failingPartnerLink"
partnerLinkType="tns:FailingPartnerLinkType"
partnerRole="partner" initializePartnerRole="yes"/>
@@ -35,12 +36,30 @@
operation="instantiate"
variable="request"
createInstance="yes"/>
- <invoke name="invoke"
- partnerLink="failingPartnerLink"
- portType="tns:FailingPortType"
- operation="invoke"
- inputVariable="request"
- outputVariable="response"/>
+ <flow>
+ <links>
+ <link name="successfulInvoke"/>
+ </links>
+ <invoke name="invoke"
+ partnerLink="failingPartnerLink"
+ portType="tns:FailingPortType"
+ operation="invoke"
+ inputVariable="request"
+ outputVariable="response">
+ <sources>
+ <source linkName="successfulInvoke"/>
+ </sources>
+ </invoke>
+ <invoke name="response"
+ partnerLink="instantiatingPartnerLink"
+ portType="tns:ResponsePortType"
+ operation="respond"
+ inputVariable="response">
+ <targets>
+ <target linkName="successfulInvoke"/>
+ </targets>
+ </invoke>
+ </flow>
</sequence>
</process>
Modified: incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-no-retry.bpel
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-no-retry.bpel?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-no-retry.bpel (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-no-retry.bpel Tue Nov 7 17:54:31 2006
@@ -13,7 +13,7 @@
<partnerLinks>
<partnerLink name="instantiatingPartnerLink"
partnerLinkType="tns:InstantiatingPartnerLinkType"
- myRole="me"/>
+ myRole="me" partnerRole="partner" initializePartnerRole="yes"/>
<partnerLink name="failingPartnerLink"
partnerLinkType="tns:FailingPartnerLinkType"
partnerRole="partner" initializePartnerRole="yes"/>
@@ -31,12 +31,30 @@
operation="instantiate"
variable="request"
createInstance="yes"/>
- <invoke name="invoke"
- partnerLink="failingPartnerLink"
- portType="tns:FailingPortType"
- operation="invoke"
- inputVariable="request"
- outputVariable="response"/>
+ <flow>
+ <links>
+ <link name="successfulInvoke"/>
+ </links>
+ <invoke name="invoke"
+ partnerLink="failingPartnerLink"
+ portType="tns:FailingPortType"
+ operation="invoke"
+ inputVariable="request"
+ outputVariable="response">
+ <sources>
+ <source linkName="successfulInvoke"/>
+ </sources>
+ </invoke>
+ <invoke name="response"
+ partnerLink="instantiatingPartnerLink"
+ portType="tns:ResponsePortType"
+ operation="respond"
+ inputVariable="response">
+ <targets>
+ <target linkName="successfulInvoke"/>
+ </targets>
+ </invoke>
+ </flow>
</sequence>
</process>
Modified: incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-fault.bpel
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-fault.bpel?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-fault.bpel (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-fault.bpel Tue Nov 7 17:54:31 2006
@@ -13,7 +13,7 @@
<partnerLinks>
<partnerLink name="instantiatingPartnerLink"
partnerLinkType="tns:InstantiatingPartnerLinkType"
- myRole="me"/>
+ myRole="me" partnerRole="partner" initializePartnerRole="yes"/>
<partnerLink name="failingPartnerLink"
partnerLinkType="tns:FailingPartnerLinkType"
partnerRole="partner" initializePartnerRole="yes"/>
@@ -31,16 +31,33 @@
operation="instantiate"
variable="request"
createInstance="yes"/>
- <invoke name="invoke"
- partnerLink="failingPartnerLink"
- portType="tns:FailingPortType"
- operation="invoke"
- inputVariable="request"
- outputVariable="response">
- <ext:failureHandling>
- <ext:faultOnFailure>true</ext:faultOnFailure>
- </ext:failureHandling>
- </invoke>
+ <flow>
+ <links>
+ <link name="successfulInvoke"/>
+ </links>
+ <invoke name="invoke"
+ partnerLink="failingPartnerLink"
+ portType="tns:FailingPortType"
+ operation="invoke"
+ inputVariable="request"
+ outputVariable="response">
+ <sources>
+ <source linkName="successfulInvoke"/>
+ </sources>
+ <ext:failureHandling>
+ <ext:faultOnFailure>true</ext:faultOnFailure>
+ </ext:failureHandling>
+ </invoke>
+ <invoke name="response"
+ partnerLink="instantiatingPartnerLink"
+ portType="tns:ResponsePortType"
+ operation="respond"
+ inputVariable="response">
+ <targets>
+ <target linkName="successfulInvoke"/>
+ </targets>
+ </invoke>
+ </flow>
</sequence>
</process>
Modified: incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-recovery.bpel
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-recovery.bpel?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-recovery.bpel (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/failure-to-recovery.bpel Tue Nov 7 17:54:31 2006
@@ -13,7 +13,7 @@
<partnerLinks>
<partnerLink name="instantiatingPartnerLink"
partnerLinkType="tns:InstantiatingPartnerLinkType"
- myRole="me"/>
+ myRole="me" partnerRole="partner" initializePartnerRole="yes"/>
<partnerLink name="failingPartnerLink"
partnerLinkType="tns:FailingPartnerLinkType"
partnerRole="partner" initializePartnerRole="yes"/>
@@ -31,17 +31,34 @@
operation="instantiate"
variable="request"
createInstance="yes"/>
- <invoke name="invoke"
- partnerLink="failingPartnerLink"
- portType="tns:FailingPortType"
- operation="invoke"
- inputVariable="request"
- outputVariable="response">
- <ext:failureHandling>
- <ext:retryFor>2</ext:retryFor>
- <ext:retryDelay>0</ext:retryDelay>
- </ext:failureHandling>
- </invoke>
+ <flow>
+ <links>
+ <link name="successfulInvoke"/>
+ </links>
+ <invoke name="invoke"
+ partnerLink="failingPartnerLink"
+ portType="tns:FailingPortType"
+ operation="invoke"
+ inputVariable="request"
+ outputVariable="response">
+ <sources>
+ <source linkName="successfulInvoke"/>
+ </sources>
+ <ext:failureHandling>
+ <ext:retryFor>2</ext:retryFor>
+ <ext:retryDelay>0</ext:retryDelay>
+ </ext:failureHandling>
+ </invoke>
+ <invoke name="response"
+ partnerLink="instantiatingPartnerLink"
+ portType="tns:ResponsePortType"
+ operation="respond"
+ inputVariable="response">
+ <targets>
+ <target linkName="successfulInvoke"/>
+ </targets>
+ </invoke>
+ </flow>
</sequence>
</process>
Modified: incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/services.wsdl
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/services.wsdl?view=diff&rev=472363&r1=472362&r2=472363
==============================================================================
--- incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/services.wsdl (original)
+++ incubator/ode/trunk/bpel-runtime/src/test/resources/recovery/services.wsdl Tue Nov 7 17:54:31 2006
@@ -31,6 +31,11 @@
<output message="tns:Response"/>
</operation>
</portType>
+ <portType name="ResponsePortType">
+ <operation name="respond">
+ <input message="tns:Response"/>
+ </operation>
+ </portType>
<binding name="InstantiatingBinding" type="tns:InstantiatingPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
@@ -55,6 +60,16 @@
</operation>
</binding>
+ <binding name="ResponseBinding" type="tns:ResponsePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="respond">
+ <soap:operation/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ </operation>
+ </binding>
+
<service name="FailingService">
<port name="soap" binding="tns:FailingBinding">
<soap:address location="http://localhost/FailingEndpoint"/>
@@ -67,6 +82,12 @@
</port>
</service>
+ <service name="FailureToCancel">
+ <port name="soap" binding="tns:InstantiatingBinding">
+ <soap:address location="http://localhost/pxe/soap/FailureToCancel"/>
+ </port>
+ </service>
+
<service name="FailureToFault">
<port name="soap" binding="tns:InstantiatingBinding">
<soap:address location="http://localhost/pxe/soap/FailureToFault"/>
@@ -79,12 +100,19 @@
</port>
</service>
+ <service name="ResponseService">
+ <port name="soap" binding="tns:ResponseBinding">
+ <soap:address location="http://localhost/ResponseEndpoint"/>
+ </port>
+ </service>
+
<plnk:partnerLinkType name="FailingPartnerLinkType">
<plnk:role name="partner" portType="tns:FailingPortType"/>
</plnk:partnerLinkType>
<plnk:partnerLinkType name="InstantiatingPartnerLinkType">
<plnk:role name="me" portType="tns:InstantiatingPortType"/>
+ <plnk:role name="partner" portType="tns:ResponsePortType"/>
</plnk:partnerLinkType>
</definitions>