[jboss-svn-commits] JBL Code SVN: r18755 - in labs/jbosstm/trunk/XTS: WS-T and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Mar 7 05:57:42 EST 2008


Author: adinn
Date: 2008-03-07 05:57:42 -0500 (Fri, 07 Mar 2008)
New Revision: 18755

Modified:
   labs/jbosstm/trunk/XTS/WS-C/build.xml
   labs/jbosstm/trunk/XTS/WS-T/build.xml
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestAbortedVoteParticipant.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestInitialisation.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestNoExceptionParticipant.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestPreparedVoteParticipant.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestReadOnlyVoteParticipant.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestSystemExceptionParticipant.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestTransactionRolledBackExceptionParticipant.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestWrongStateExceptionParticipant.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessActivityTerminatorServiceTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionCoordinatorTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionParticipantTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionServiceTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionCoordinatorTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionParticipantTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionServiceTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionCoordinatorTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionParticipantTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionCoordinatorProcessor.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionParticipantProcessor.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionCoordinatorProcessor.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionParticipantProcessor.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantProcessor.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestSuite.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCCoordinatorTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCParticipantTestCase.java
   labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCServiceTestCase.java
Log:
fixed deploy rules to use JBOSS_HOME; modified all WS-T tests so they compile; disabled WS-T Service tests pending rework because they don't take account of the client and server state model. changes for JBTM-339

Modified: labs/jbosstm/trunk/XTS/WS-C/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WS-C/build.xml	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-C/build.xml	2008-03-07 10:57:42 UTC (rev 18755)
@@ -31,7 +31,9 @@
 
     <!-- ================================================================== -->
 
-    <property name="deploy.dir"              value="deploy"/>
+    <property environment="env"/>
+    <property name="jboss.dir" value="${env.JBOSS_HOME}"/>
+    <property name="deploy.dir" value="${jboss.dir}/server/default/deploy"/>
     <property name="hostname" value="localhost"/>
     <property name="port" value="8080"/>
 
@@ -63,8 +65,11 @@
 
     <property name="jta.lib.jars" value="jbossjta.jar"/>
     <property name="jta.ext.jars" value="jbossts-common.jar commons-logging.jar"/>
+    <!--
     <property name="xts.ext.jars" value="stax-api-1.0.jar wstx-asl-2.0.3.jar"/>
-    <property name="xts.ext.compile.jars" value="servlet.jar saaj-api.jar"/>
+    -->
+    <property name="xts.ext.jars" value=""/>
+    <property name="xts.ext.compile.jars" value="stax-api-1.0.jar wstx-asl-2.0.3.jar servlet.jar saaj-api.jar"/>
 
     <property name="tests.libs" value="junit.jar"/>
 

Modified: labs/jbosstm/trunk/XTS/WS-T/build.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/build.xml	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/build.xml	2008-03-07 10:57:42 UTC (rev 18755)
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   JBoss, Home of Professional Open Source
   Copyright 2006, Red Hat Middleware LLC, and individual contributors
@@ -31,7 +32,9 @@
 
     <!-- ================================================================== -->
 
-    <property name="deploy.dir"              value="c:/jwsdp-1.0"/>
+    <property environment="env"/>
+    <property name="jboss.dir" value="${env.JBOSS_HOME}"/>
+    <property name="deploy.dir" value="${jboss.dir}/server/default/deploy"/>
     <property name="hostname" value="localhost"/>
     <property name="port" value="8080"/>
     <property name="ws-c.home"               value="../WS-C"/>
@@ -66,8 +69,12 @@
 
     <property name="jta.lib.jars" value="jbossjta.jar"/>
     <property name="jta.ext.jars" value="jbossts-common.jar commons-logging.jar"/>
+    <!--
     <property name="xts.ext.jars" value="stax-api-1.0.jar wstx-asl-2.0.3.jar"/>
     <property name="xts.ext.compile.jars" value="servlet.jar"/>
+    -->
+    <property name="xts.ext.jars" value=""/>
+    <property name="xts.ext.compile.jars" value="stax-api-1.0.jar wstx-asl-2.0.3.jar servlet.jar"/>
 
     <property name="tests.libs"              value="junit.jar"/>
     <property name="ws-c.libs"               value="ws-c.jar"/>

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestAbortedVoteParticipant.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestAbortedVoteParticipant.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestAbortedVoteParticipant.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -28,7 +28,7 @@
 
 package com.arjuna.wst.tests;
 
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.Aborted;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.TransactionRolledBackException;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestInitialisation.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestInitialisation.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -23,18 +23,29 @@
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 
-import com.arjuna.webservices.wsarjtx.processors.ParticipantManagerParticipantProcessor;
-import com.arjuna.webservices.wsarjtx.processors.TerminatorParticipantProcessor;
-import com.arjuna.webservices.wsat.Participant;
+// import com.arjuna.webservices.wsarjtx.processors.ParticipantManagerParticipantProcessor;
+import com.arjuna.webservices.wsarjtx.processors.TerminationCoordinatorProcessor;
+import com.arjuna.wst.Participant;
 import com.arjuna.webservices.wsat.processors.CompletionCoordinatorProcessor;
 import com.arjuna.webservices.wsat.processors.ParticipantProcessor;
+import com.arjuna.webservices.wsat.ParticipantInboundEvents;
+import com.arjuna.webservices.wsat.AtomicTransactionConstants;
 import com.arjuna.webservices.wsba.processors.CoordinatorCompletionParticipantProcessor;
 import com.arjuna.webservices.wsba.processors.ParticipantCompletionParticipantProcessor;
+import com.arjuna.webservices.wsba.ParticipantCompletionParticipantInboundEvents;
+import com.arjuna.webservices.wsba.BusinessActivityConstants;
+import com.arjuna.webservices.wsba.CoordinatorCompletionParticipantInboundEvents;
+import com.arjuna.webservices.wsaddr.EndpointReferenceType;
+import com.arjuna.webservices.wsaddr.AttributedURIType;
+import com.arjuna.webservices.SoapRegistry;
 import com.arjuna.wst.BAParticipantManager;
 import com.arjuna.wst.BusinessActivityTerminator;
 import com.arjuna.wst.BusinessAgreementWithCoordinatorCompletionParticipant;
 import com.arjuna.wst.BusinessAgreementWithParticipantCompletionParticipant;
 import com.arjuna.wst.CompletionCoordinatorParticipant;
+import com.arjuna.wst.messaging.engines.ParticipantEngine;
+import com.arjuna.wst.messaging.engines.ParticipantCompletionParticipantEngine;
+import com.arjuna.wst.messaging.engines.CoordinatorCompletionParticipantEngine;
 
 /**
  * Initialise the test.
@@ -55,16 +66,34 @@
     private final Participant testWrongStateExceptionParticipant            = new TestWrongStateExceptionParticipant();
     private final Participant testSystemExceptionParticipant                = new TestSystemExceptionParticipant();
 
+    private ParticipantInboundEvents testPreparedVoteParticipantEngine;
+    private ParticipantInboundEvents testAbortedVoteParticipantEngine;
+    private ParticipantInboundEvents testReadOnlyParticipantEngine;
+    private ParticipantInboundEvents testNoExceptionParticipantEngine;
+    private ParticipantInboundEvents testTransactionRolledBackExceptionParticipantEngine;
+    private ParticipantInboundEvents testWrongStateExceptionParticipantEngine;
+    private ParticipantInboundEvents testSystemExceptionParticipantEngine;
+
     private final BusinessAgreementWithParticipantCompletionParticipant testSystemExceptionBusinessAgreementWithParticipantCompletionParticipant = new TestSystemExceptionBusinessAgreementWithParticipantCompletionParticipant();
     private final BusinessAgreementWithParticipantCompletionParticipant testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipant = new TestWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipant();
     private final BusinessAgreementWithParticipantCompletionParticipant testNoExceptionBusinessAgreementWithParticipantCompletionParticipant = new TestNoExceptionBusinessAgreementWithParticipantCompletionParticipant();
     private final BusinessAgreementWithParticipantCompletionParticipant testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipant = new TestFaultedExceptionBusinessAgreementWithParticipantCompletionParticipant();
 
+    private ParticipantCompletionParticipantInboundEvents testSystemExceptionBusinessAgreementWithParticipantCompletionParticipantEngine;
+    private ParticipantCompletionParticipantInboundEvents testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipantEngine;
+    private ParticipantCompletionParticipantInboundEvents testNoExceptionBusinessAgreementWithParticipantCompletionParticipantEngine;
+    private ParticipantCompletionParticipantInboundEvents testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipantEngine;
+
     private final BusinessAgreementWithCoordinatorCompletionParticipant testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipant = new TestSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipant();
     private final BusinessAgreementWithCoordinatorCompletionParticipant testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipant = new TestWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipant();
     private final BusinessAgreementWithCoordinatorCompletionParticipant testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipant = new TestNoExceptionBusinessAgreementWithCoordinatorCompletionParticipant();
     private final BusinessAgreementWithCoordinatorCompletionParticipant testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipant = new TestFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipant();
 
+    private CoordinatorCompletionParticipantInboundEvents testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine;
+    private CoordinatorCompletionParticipantInboundEvents testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine;
+    private CoordinatorCompletionParticipantInboundEvents testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine;
+    private CoordinatorCompletionParticipantInboundEvents testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine;
+
     private final BAParticipantManager testNoExceptionBAPMParticipant                    = new TestNoExceptionBAPMParticipant();
     private final BAParticipantManager testWrongStateExceptionBAPMParticipant            = new TestWrongStateExceptionBAPMParticipant();
     private final BAParticipantManager testSystemExceptionBAPMParticipant                = new TestSystemExceptionBAPMParticipant();
@@ -73,46 +102,71 @@
     private final BusinessActivityTerminator testUnknownTransactionExceptionBusinessActivityTerminator = new TestUnknownTransactionExceptionBusinessActivityTerminator();
     private final BusinessActivityTerminator testTransactionRolledBackExceptionBusinessActivityTerminator = new TestTransactionRolledBackExceptionBusinessActivityTerminator();
     private final BusinessActivityTerminator testSystemExceptionBusinessActivityTerminator = new TestSystemExceptionBusinessActivityTerminator();
-    
+
     /**
      * The context has been initialized.
      * @param servletContextEvent The servlet context event.
      */
     public void contextInitialized(final ServletContextEvent servletContextEvent)
     {
-        final CompletionCoordinatorProcessor completionCoordinatorProcessor = CompletionCoordinatorProcessor.getCoordinator() ;
+        final CompletionCoordinatorProcessor completionCoordinatorProcessor = CompletionCoordinatorProcessor.getProcessor() ;
         completionCoordinatorProcessor.activateParticipant(testNoExceptionCompletionCoordinatorParticipant, TestUtil.NOEXCEPTION_TRANSACTION_IDENTIFIER);
         completionCoordinatorProcessor.activateParticipant(testTransactionRolledExceptionCompletionCoordinatorParticipant, TestUtil.TRANSACTIONROLLEDBACKEXCEPTION_TRANSACTION_IDENTIFIER);
         completionCoordinatorProcessor.activateParticipant(testUnknownTransactionExceptionCompletionCoordinatorParticipant, TestUtil.UNKNOWNTRANSACTIONEXCEPTION_TRANSACTION_IDENTIFIER);
         completionCoordinatorProcessor.activateParticipant(testSystemExceptionCompletionCoordinatorParticipant, TestUtil.SYSTEMEXCEPTION_TRANSACTION_IDENTIFIER);
 
-        final ParticipantProcessor participantProcessor = ParticipantProcessor.getParticipant() ;
-        participantProcessor.activateParticipant(testPreparedVoteParticipant, TestUtil.PREPAREDVOTE_PARTICIPANT_IDENTIFIER);
-        participantProcessor.activateParticipant(testAbortedVoteParticipant, TestUtil.ABORTEDVOTE_PARTICIPANT_IDENTIFIER);
-        participantProcessor.activateParticipant(testReadOnlyParticipant, TestUtil.READONLYVOTE_PARTICIPANT_IDENTIFIER);
-        participantProcessor.activateParticipant(testNoExceptionParticipant, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantProcessor.activateParticipant(testTransactionRolledBackExceptionParticipant, TestUtil.TRANSACTIONROLLEDBACKEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantProcessor.activateParticipant(testWrongStateExceptionParticipant, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantProcessor.activateParticipant(testSystemExceptionParticipant, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
+        final ParticipantProcessor participantProcessor = ParticipantProcessor.getProcessor() ;
+        final AttributedURIType coordinatorURI = new AttributedURIType(SoapRegistry.getRegistry().getServiceURI(AtomicTransactionConstants.SERVICE_COORDINATOR));
 
-        final ParticipantCompletionParticipantProcessor participantCompletionParticipantProcessor = ParticipantCompletionParticipantProcessor.getParticipant() ;
-        participantCompletionParticipantProcessor.activateParticipant(testSystemExceptionBusinessAgreementWithParticipantCompletionParticipant, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantCompletionParticipantProcessor.activateParticipant(testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipant, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantCompletionParticipantProcessor.activateParticipant(testNoExceptionBusinessAgreementWithParticipantCompletionParticipant, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantCompletionParticipantProcessor.activateParticipant(testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipant, TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER);
+        testPreparedVoteParticipantEngine = new ParticipantEngine(testPreparedVoteParticipant, TestUtil.PREPAREDVOTE_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorURI));
+        testAbortedVoteParticipantEngine = new ParticipantEngine(testAbortedVoteParticipant, TestUtil.ABORTEDVOTE_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorURI));
+        testReadOnlyParticipantEngine = new ParticipantEngine(testReadOnlyParticipant, TestUtil.READONLYVOTE_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorURI));
+        testNoExceptionParticipantEngine = new ParticipantEngine(testNoExceptionParticipant, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorURI));
+        testTransactionRolledBackExceptionParticipantEngine = new ParticipantEngine(testTransactionRolledBackExceptionParticipant, TestUtil.TRANSACTIONROLLEDBACKEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorURI));
+        testWrongStateExceptionParticipantEngine = new ParticipantEngine(testWrongStateExceptionParticipant, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorURI));
+        testSystemExceptionParticipantEngine = new ParticipantEngine(testSystemExceptionParticipant, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorURI));
 
-        final CoordinatorCompletionParticipantProcessor coordinatorCompletionParticipantProcessor = CoordinatorCompletionParticipantProcessor.getParticipant() ;
-        coordinatorCompletionParticipantProcessor.activateParticipant(testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipant, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
-        coordinatorCompletionParticipantProcessor.activateParticipant(testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipant, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
-        coordinatorCompletionParticipantProcessor.activateParticipant(testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipant, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
-        coordinatorCompletionParticipantProcessor.activateParticipant(testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipant, TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER);
+        participantProcessor.activateParticipant(testPreparedVoteParticipantEngine, TestUtil.PREPAREDVOTE_PARTICIPANT_IDENTIFIER);
+        participantProcessor.activateParticipant(testAbortedVoteParticipantEngine, TestUtil.ABORTEDVOTE_PARTICIPANT_IDENTIFIER);
+        participantProcessor.activateParticipant(testReadOnlyParticipantEngine, TestUtil.READONLYVOTE_PARTICIPANT_IDENTIFIER);
+        participantProcessor.activateParticipant(testNoExceptionParticipantEngine, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
+        participantProcessor.activateParticipant(testTransactionRolledBackExceptionParticipantEngine, TestUtil.TRANSACTIONROLLEDBACKEXCEPTION_PARTICIPANT_IDENTIFIER);
+        participantProcessor.activateParticipant(testWrongStateExceptionParticipantEngine, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
+        participantProcessor.activateParticipant(testSystemExceptionParticipantEngine, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
 
-        final ParticipantManagerParticipantProcessor participantManagerParticipantProcessor = ParticipantManagerParticipantProcessor.getParticipant() ;
-        participantManagerParticipantProcessor.activateParticipant(testNoExceptionBAPMParticipant, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantManagerParticipantProcessor.activateParticipant(testWrongStateExceptionBAPMParticipant, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
-        participantManagerParticipantProcessor.activateParticipant(testSystemExceptionBAPMParticipant, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
+        final ParticipantCompletionParticipantProcessor participantCompletionParticipantProcessor = ParticipantCompletionParticipantProcessor.getProcessor() ;
+        final AttributedURIType participantCompletionCoordinatorURI = new AttributedURIType(SoapRegistry.getRegistry().getServiceURI(BusinessActivityConstants.SERVICE_PARTICIPANT_COMPLETION_COORDINATOR));
 
-        final TerminatorParticipantProcessor terminatorParticipantProcessor = TerminatorParticipantProcessor.getParticipant() ;
+        testSystemExceptionBusinessAgreementWithParticipantCompletionParticipantEngine = new ParticipantCompletionParticipantEngine(TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(participantCompletionCoordinatorURI), testSystemExceptionBusinessAgreementWithParticipantCompletionParticipant);
+        testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipantEngine = new ParticipantCompletionParticipantEngine(TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(participantCompletionCoordinatorURI), testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipant);
+        testNoExceptionBusinessAgreementWithParticipantCompletionParticipantEngine = new ParticipantCompletionParticipantEngine(TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(participantCompletionCoordinatorURI), testNoExceptionBusinessAgreementWithParticipantCompletionParticipant);
+        testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipantEngine = new ParticipantCompletionParticipantEngine(TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(participantCompletionCoordinatorURI), testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipant);
+
+        participantCompletionParticipantProcessor.activateParticipant(testSystemExceptionBusinessAgreementWithParticipantCompletionParticipantEngine, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
+        participantCompletionParticipantProcessor.activateParticipant(testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipantEngine, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
+        participantCompletionParticipantProcessor.activateParticipant(testNoExceptionBusinessAgreementWithParticipantCompletionParticipantEngine, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
+        participantCompletionParticipantProcessor.activateParticipant(testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipantEngine, TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER);
+
+        final CoordinatorCompletionParticipantProcessor coordinatorCompletionParticipantProcessor = CoordinatorCompletionParticipantProcessor.getProcessor() ;
+        final AttributedURIType coordinatorCompletionCoordinatorURI = new AttributedURIType(SoapRegistry.getRegistry().getServiceURI(BusinessActivityConstants.SERVICE_PARTICIPANT_COMPLETION_COORDINATOR));
+
+        testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine = new CoordinatorCompletionParticipantEngine(TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorCompletionCoordinatorURI), testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
+        testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine = new CoordinatorCompletionParticipantEngine(TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorCompletionCoordinatorURI), testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
+        testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine = new CoordinatorCompletionParticipantEngine(TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorCompletionCoordinatorURI), testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
+        testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine = new CoordinatorCompletionParticipantEngine(TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER, new EndpointReferenceType(coordinatorCompletionCoordinatorURI), testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
+
+
+        coordinatorCompletionParticipantProcessor.activateParticipant(testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
+        coordinatorCompletionParticipantProcessor.activateParticipant(testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
+        coordinatorCompletionParticipantProcessor.activateParticipant(testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
+        coordinatorCompletionParticipantProcessor.activateParticipant(testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine, TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER);
+
+        // final ParticipantManagerParticipantProcessor participantManagerParticipantProcessor = ParticipantManagerParticipantProcessor.getParticipant() ;
+        // participantManagerParticipantProcessor.activateParticipant(testNoExceptionBAPMParticipant, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
+        // participantManagerParticipantProcessor.activateParticipant(testWrongStateExceptionBAPMParticipant, TestUtil.WRONGSTATEEXCEPTION_PARTICIPANT_IDENTIFIER);
+        // participantManagerParticipantProcessor.activateParticipant(testSystemExceptionBAPMParticipant, TestUtil.SYSTEMEXCEPTION_PARTICIPANT_IDENTIFIER);
+
+        final TerminationCoordinatorProcessor terminatorParticipantProcessor = TerminationCoordinatorProcessor.getProcessor() ;
         terminatorParticipantProcessor.activateParticipant(testNoExceptionBusinessActivityTerminator, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);
         terminatorParticipantProcessor.activateParticipant(testTransactionRolledBackExceptionBusinessActivityTerminator, TestUtil.TRANSACTIONROLLEDBACKEXCEPTION_TRANSACTION_IDENTIFIER);
         terminatorParticipantProcessor.activateParticipant(testUnknownTransactionExceptionBusinessActivityTerminator, TestUtil.UNKNOWNTRANSACTIONEXCEPTION_TRANSACTION_IDENTIFIER);
@@ -125,39 +179,39 @@
      */
     public void contextDestroyed(final ServletContextEvent servletContextEvent)
     {
-        final CompletionCoordinatorProcessor completionCoordinatorProcessor = CompletionCoordinatorProcessor.getCoordinator() ;
+        final CompletionCoordinatorProcessor completionCoordinatorProcessor = CompletionCoordinatorProcessor.getProcessor() ;
         completionCoordinatorProcessor.deactivateParticipant(testNoExceptionCompletionCoordinatorParticipant);
         completionCoordinatorProcessor.deactivateParticipant(testTransactionRolledExceptionCompletionCoordinatorParticipant);
         completionCoordinatorProcessor.deactivateParticipant(testUnknownTransactionExceptionCompletionCoordinatorParticipant);
         completionCoordinatorProcessor.deactivateParticipant(testSystemExceptionCompletionCoordinatorParticipant);
 
-        final ParticipantProcessor participantProcessor = ParticipantProcessor.getParticipant() ;
-        participantProcessor.deactivateParticipant(testPreparedVoteParticipant);
-        participantProcessor.deactivateParticipant(testAbortedVoteParticipant);
-        participantProcessor.deactivateParticipant(testReadOnlyParticipant);
-        participantProcessor.deactivateParticipant(testNoExceptionParticipant);
-        participantProcessor.deactivateParticipant(testTransactionRolledBackExceptionParticipant);
-        participantProcessor.deactivateParticipant(testWrongStateExceptionParticipant);
-        participantProcessor.deactivateParticipant(testSystemExceptionParticipant);
+        final ParticipantProcessor participantProcessor = ParticipantProcessor.getProcessor() ;
+        participantProcessor.deactivateParticipant(testPreparedVoteParticipantEngine);
+        participantProcessor.deactivateParticipant(testAbortedVoteParticipantEngine);
+        participantProcessor.deactivateParticipant(testReadOnlyParticipantEngine);
+        participantProcessor.deactivateParticipant(testNoExceptionParticipantEngine);
+        participantProcessor.deactivateParticipant(testTransactionRolledBackExceptionParticipantEngine);
+        participantProcessor.deactivateParticipant(testWrongStateExceptionParticipantEngine);
+        participantProcessor.deactivateParticipant(testSystemExceptionParticipantEngine);
         
-        final ParticipantCompletionParticipantProcessor participantCompletionParticipantProcessor = ParticipantCompletionParticipantProcessor.getParticipant() ;
-        participantCompletionParticipantProcessor.deactivateParticipant(testSystemExceptionBusinessAgreementWithParticipantCompletionParticipant);
-        participantCompletionParticipantProcessor.deactivateParticipant(testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipant);
-        participantCompletionParticipantProcessor.deactivateParticipant(testNoExceptionBusinessAgreementWithParticipantCompletionParticipant);
-        participantCompletionParticipantProcessor.deactivateParticipant(testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipant);
+        final ParticipantCompletionParticipantProcessor participantCompletionParticipantProcessor = ParticipantCompletionParticipantProcessor.getProcessor() ;
+        participantCompletionParticipantProcessor.deactivateParticipant(testSystemExceptionBusinessAgreementWithParticipantCompletionParticipantEngine);
+        participantCompletionParticipantProcessor.deactivateParticipant(testWrongStateExceptionBusinessAgreementWithParticipantCompletionParticipantEngine);
+        participantCompletionParticipantProcessor.deactivateParticipant(testNoExceptionBusinessAgreementWithParticipantCompletionParticipantEngine);
+        participantCompletionParticipantProcessor.deactivateParticipant(testFaultedExceptionBusinessAgreementWithParticipantCompletionParticipantEngine);
 
-        final CoordinatorCompletionParticipantProcessor coordinatorCompletionParticipantProcessor = CoordinatorCompletionParticipantProcessor.getParticipant() ;
-        coordinatorCompletionParticipantProcessor.deactivateParticipant(testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
-        coordinatorCompletionParticipantProcessor.deactivateParticipant(testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
-        coordinatorCompletionParticipantProcessor.deactivateParticipant(testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
-        coordinatorCompletionParticipantProcessor.deactivateParticipant(testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipant);
+        final CoordinatorCompletionParticipantProcessor coordinatorCompletionParticipantProcessor = CoordinatorCompletionParticipantProcessor.getProcessor() ;
+        coordinatorCompletionParticipantProcessor.deactivateParticipant(testSystemExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine);
+        coordinatorCompletionParticipantProcessor.deactivateParticipant(testWrongStateExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine);
+        coordinatorCompletionParticipantProcessor.deactivateParticipant(testNoExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine);
+        coordinatorCompletionParticipantProcessor.deactivateParticipant(testFaultedExceptionBusinessAgreementWithCoordinatorCompletionParticipantEngine);
 
-        final ParticipantManagerParticipantProcessor participantManagerParticipantProcessor = ParticipantManagerParticipantProcessor.getParticipant() ;
-        participantManagerParticipantProcessor.deactivateParticipant(testNoExceptionBAPMParticipant);
-        participantManagerParticipantProcessor.deactivateParticipant(testWrongStateExceptionBAPMParticipant);
-        participantManagerParticipantProcessor.deactivateParticipant(testSystemExceptionBAPMParticipant);
+        // final ParticipantManagerParticipantProcessor participantManagerParticipantProcessor = ParticipantManagerParticipantProcessor.getParticipant() ;
+        // participantManagerParticipantProcessor.deactivateParticipant(testNoExceptionBAPMParticipant);
+        // participantManagerParticipantProcessor.deactivateParticipant(testWrongStateExceptionBAPMParticipant);
+        // participantManagerParticipantProcessor.deactivateParticipant(testSystemExceptionBAPMParticipant);
 
-        final TerminatorParticipantProcessor terminatorParticipantProcessor = TerminatorParticipantProcessor.getParticipant() ;
+        final TerminationCoordinatorProcessor terminatorParticipantProcessor = TerminationCoordinatorProcessor.getProcessor() ;
         terminatorParticipantProcessor.deactivateParticipant(testNoExceptionBusinessActivityTerminator);
         terminatorParticipantProcessor.deactivateParticipant(testTransactionRolledBackExceptionBusinessActivityTerminator);
         terminatorParticipantProcessor.deactivateParticipant(testUnknownTransactionExceptionBusinessActivityTerminator);

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestNoExceptionParticipant.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestNoExceptionParticipant.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestNoExceptionParticipant.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -28,7 +28,7 @@
 
 package com.arjuna.wst.tests;
 
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.TransactionRolledBackException;
 import com.arjuna.wst.Vote;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestPreparedVoteParticipant.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestPreparedVoteParticipant.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestPreparedVoteParticipant.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -28,7 +28,7 @@
 
 package com.arjuna.wst.tests;
 
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.Prepared;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.TransactionRolledBackException;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestReadOnlyVoteParticipant.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestReadOnlyVoteParticipant.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestReadOnlyVoteParticipant.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -28,7 +28,7 @@
 
 package com.arjuna.wst.tests;
 
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.ReadOnly;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.TransactionRolledBackException;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestSystemExceptionParticipant.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestSystemExceptionParticipant.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestSystemExceptionParticipant.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -28,7 +28,7 @@
 
 package com.arjuna.wst.tests;
 
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.TransactionRolledBackException;
 import com.arjuna.wst.Vote;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestTransactionRolledBackExceptionParticipant.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestTransactionRolledBackExceptionParticipant.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestTransactionRolledBackExceptionParticipant.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -28,7 +28,7 @@
 
 package com.arjuna.wst.tests;
 
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.TransactionRolledBackException;
 import com.arjuna.wst.Vote;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestWrongStateExceptionParticipant.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestWrongStateExceptionParticipant.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/TestWrongStateExceptionParticipant.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -28,7 +28,7 @@
 
 package com.arjuna.wst.tests;
 
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.TransactionRolledBackException;
 import com.arjuna.wst.Vote;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessActivityTerminatorServiceTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessActivityTerminatorServiceTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessActivityTerminatorServiceTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -45,7 +45,7 @@
         throws Exception
     {
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
-        final String businessActivityTerminatorParticipantServiceURI = soapRegistry.getServiceURI(ArjunaTXConstants.SERVICE_TERMINATOR_PARTICIPANT);
+        final String businessActivityTerminatorParticipantServiceURI = soapRegistry.getServiceURI(ArjunaTXConstants.SERVICE_TERMINATION_PARTICIPANT);
 
         EndpointReferenceType noExceptionBusinessActivityTerminatorCoordinator = new EndpointReferenceType(new AttributedURIType(businessActivityTerminatorParticipantServiceURI));
         InstanceIdentifier.setEndpointInstanceIdentifier(noExceptionBusinessActivityTerminatorCoordinator, TestUtil.NOEXCEPTION_PARTICIPANT_IDENTIFIER);

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionCoordinatorTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionCoordinatorTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionCoordinatorTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -57,7 +57,7 @@
     protected void setUp()
         throws Exception
     {
-        origCoordinatorCompletionParticipantProcessor = CoordinatorCompletionParticipantProcessor.setParticipant(testCoordinatorCompletionParticipantProcessor) ;
+        origCoordinatorCompletionParticipantProcessor = CoordinatorCompletionParticipantProcessor.setProcessor(testCoordinatorCompletionParticipantProcessor) ;
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
         coordinatorCompletionParticipantServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_COORDINATOR_COMPLETION_PARTICIPANT) ;
         coordinatorCompletionCoordinatorServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_COORDINATOR_COMPLETION_COORDINATOR) ;
@@ -67,236 +67,217 @@
         throws Exception
     {
         final String messageId = "testSendClose" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        CoordinatorCompletionParticipantClient.getClient().sendClose(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("1") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendClose(addressingContext, new InstanceIdentifier("sender")) ;
         
         final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasClose()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendCancel()
         throws Exception
     {
         final String messageId = "testSendCancel" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantServiceURI, messageId) ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
         final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        CoordinatorCompletionParticipantClient.getClient().sendCancel(addressingContext, instanceIdentifier) ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendCancel(addressingContext, new InstanceIdentifier("sender")) ;
         
         final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasCancel()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendCompensate()
         throws Exception
     {
         final String messageId = "testSendCompensate" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        CoordinatorCompletionParticipantClient.getClient().sendCompensate(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("3") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendCompensate(addressingContext, new InstanceIdentifier("sender")) ;
         
         final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasCompensate()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendFaulted()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendFaulted" ;
-        final EndpointReferenceType coordinatorCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantService, messageId) ;
-        
-        final TestCoordinatorCompletionParticipantCallback callback = new TestCoordinatorCompletionParticipantCallback() {
-            public void faulted(final NotificationType faulted, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionParticipantProcessor participant = CoordinatorCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionParticipantClient.getClient().sendFaulted(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendFaulted" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("4") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendFaulted(addressingContext, new InstanceIdentifier("sender")) ;
+
+        final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
+
+        assertTrue(details.hasFaulted()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendExited()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendExited" ;
-        final EndpointReferenceType coordinatorCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantService, messageId) ;
-        
-        final TestCoordinatorCompletionParticipantCallback callback = new TestCoordinatorCompletionParticipantCallback() {
-            public void exited(final NotificationType exited, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionParticipantProcessor participant = CoordinatorCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionParticipantClient.getClient().sendExited(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendExited" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("5") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendExited(addressingContext, new InstanceIdentifier("sender")) ;
+
+        final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
+
+        assertTrue(details.hasExited()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendStatus()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendStatus" ;
-        final EndpointReferenceType coordinatorCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantService, messageId) ;
-        
+        final String messageId = "testSendStatus" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("6") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
         final State state = State.STATE_ACTIVE ;
-        
-        final TestCoordinatorCompletionParticipantCallback callback = new TestCoordinatorCompletionParticipantCallback() {
-            public void status(final StatusType status, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertEquals(state, status.getState()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionParticipantProcessor participant = CoordinatorCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionParticipantClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
+
+        final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasStatus()) ;
+        assertEquals(details.hasStatus().getState(), state); ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendComplete()
         throws Exception
     {
         final String messageId = "testSendComplete" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        CoordinatorCompletionParticipantClient.getClient().sendComplete(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("7") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendComplete(addressingContext, new InstanceIdentifier("sender")) ;
         
         final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasComplete()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendGetStatus()
         throws Exception
     {
         final String messageId = "testSendGetStatus" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        CoordinatorCompletionParticipantClient.getClient().sendGetStatus(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("8") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendGetStatus(addressingContext, new InstanceIdentifier("sender")) ;
         
         final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasGetStatus()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
+    /*
+     * cannot test this any longer as client does not provide API to send soap fault
+
     public void testSendError()
         throws Exception
     {
-        final String messageId = "123456" ;
+        final String messageId = "testSendError" ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantServiceURI, messageId) ;
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("9") ;
         final String reason = "testSendErrorReason" ;
-        final String instanceIdentifier = "testSendError" ;
-        final EndpointReferenceType coordinatorCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantService, messageId) ;
-        
         final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
         final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
         final SoapFault soapFault = new SoapFault(soapFaultType, subcode, reason) ;
-        
-        final TestCoordinatorCompletionParticipantCallback callback = new TestCoordinatorCompletionParticipantCallback() {
-            public void soapFault(final SoapFault soapFault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(soapFault) ;
-                assertEquals(soapFaultType, soapFault.getSoapFaultType()) ;
-                assertEquals(subcode, soapFault.getSubcode()) ;
-                assertEquals(reason, soapFault.getReason()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionParticipantProcessor participant = CoordinatorCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionParticipantClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        CoordinatorCompletionParticipantClient.getClient().sendSoapFault(addressingContext, soapFault, instanceIdentifier) ;
+
+        final CoordinatorCompletionParticipantDetails details = testCoordinatorCompletionParticipantProcessor.getCoordinatorCompletionParticipantDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasSoapFault()) ;
+        assertEquals(details.hasSoapFault().getSoapFaultType(), soapFaultType) ;
+        assertEquals(details.hasSoapFault().getReason(), reason) ;
+        assertEquals(details.hasSoapFault().getSubcode(), subcode) ;
+
+        checkDetails(details, false, messageId, null);
     }
+     */
 
     protected void tearDown()
         throws Exception
     {
-        CoordinatorCompletionParticipantProcessor.setParticipant(origCoordinatorCompletionParticipantProcessor) ;
+        CoordinatorCompletionParticipantProcessor.setProcessor(origCoordinatorCompletionParticipantProcessor) ;
     }
+
+    /**
+     * check the message details to see that they have the correct to and from address and message id, a null
+     * reply to address and an arjuna context containing the correct instannce identifier
+     * @param details
+     * @param messageId
+     * @param instanceIdentifier
+     */
+
+    private void checkDetails(CoordinatorCompletionParticipantDetails details, boolean replyTo, String messageId, InstanceIdentifier instanceIdentifier)
+    {
+        AddressingContext inAddressingContext = details.getAddressingContext();
+        ArjunaContext inArjunaContext = details.getArjunaContext();
+
+        assertEquals(inAddressingContext.getTo().getValue(), coordinatorCompletionParticipantServiceURI);
+        assertEquals(inAddressingContext.getFrom().getAddress().getValue(), coordinatorCompletionCoordinatorServiceURI);
+        if (replyTo) {
+            assertEquals(inAddressingContext.getReplyTo().getAddress().getValue(), coordinatorCompletionCoordinatorServiceURI);
+        } else {
+            assertNull(inAddressingContext.getReplyTo());
+        }
+        assertEquals(inAddressingContext.getMessageID().getValue(), messageId);
+
+        if (instanceIdentifier == null) {
+            assertNull(inArjunaContext.getInstanceIdentifier());
+        } else {
+            assertNotNull(inArjunaContext.getInstanceIdentifier()) ;
+            assertEquals(instanceIdentifier.getInstanceIdentifier(), inArjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
+        }
+    }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionParticipantTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionParticipantTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionParticipantTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -58,7 +58,7 @@
     protected void setUp()
         throws Exception
     {
-        origCoordinatorCompletionCoordinatorProcessor = CoordinatorCompletionCoordinatorProcessor.setCoordinator(testCoordinatorCompletionCoordinatorProcessor) ;
+        origCoordinatorCompletionCoordinatorProcessor = CoordinatorCompletionCoordinatorProcessor.setProcessor(testCoordinatorCompletionCoordinatorProcessor) ;
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
         coordinatorCompletionCoordinatorServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_COORDINATOR_COMPLETION_COORDINATOR) ;
         coordinatorCompletionParticipantServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_COORDINATOR_COMPLETION_PARTICIPANT) ;
@@ -67,315 +67,220 @@
     public void testSendClosed()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendClosed" ;
-        final EndpointReferenceType coordinatorCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorService, messageId) ;
-        
-        final TestCoordinatorCompletionCoordinatorCallback callback = new TestCoordinatorCompletionCoordinatorCallback() {
-            public void closed(final NotificationType closed, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionCoordinatorProcessor coordinator = CoordinatorCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionCoordinatorClient.getClient().sendClosed(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendClosed" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("1") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendClosed(addressingContext, new InstanceIdentifier("sender")) ;
+
+        CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasClosed());
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendCancelled()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendCancelled" ;
-        final EndpointReferenceType coordinatorCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorService, messageId) ;
-        
-        final TestCoordinatorCompletionCoordinatorCallback callback = new TestCoordinatorCompletionCoordinatorCallback() {
-            public void cancelled(final NotificationType cancelled, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionCoordinatorProcessor coordinator = CoordinatorCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionCoordinatorClient.getClient().sendCancelled(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendCancelled" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendCancelled(addressingContext, new InstanceIdentifier("sender")) ;
+
+        CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasCancelled());
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendCompensated()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendCompensated" ;
-        final EndpointReferenceType coordinatorCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorService, messageId) ;
-        
-        final TestCoordinatorCompletionCoordinatorCallback callback = new TestCoordinatorCompletionCoordinatorCallback() {
-            public void compensated(final NotificationType compensated, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionCoordinatorProcessor coordinator = CoordinatorCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionCoordinatorClient.getClient().sendCompensated(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendCompensated" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("3") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendCompensated(addressingContext, new InstanceIdentifier("sender")) ;
+
+        CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasCompensated());
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendFault()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendFault" ;
-        final EndpointReferenceType coordinatorCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorService, messageId) ;
-        
+        final String messageId = "testSendFault" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("4") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
         final String exceptionIdentifier = "testSendFaultExceptionIdentifier" ;
-        
-        final TestCoordinatorCompletionCoordinatorCallback callback = new TestCoordinatorCompletionCoordinatorCallback() {
-            public void fault(final ExceptionType fault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertEquals(exceptionIdentifier, fault.getExceptionIdentifier()) ;
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionCoordinatorProcessor coordinator = CoordinatorCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionCoordinatorClient.getClient().sendFault(addressingContext, new InstanceIdentifier("sender"), exceptionIdentifier) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendFault(addressingContext, new InstanceIdentifier("sender"), exceptionIdentifier) ;
+
+        CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasFault());
+        assertEquals(details.hasFault().getExceptionIdentifier(), exceptionIdentifier);
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendCompleted()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendCompleted" ;
-        final EndpointReferenceType coordinatorCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorService, messageId) ;
-        
-        final TestCoordinatorCompletionCoordinatorCallback callback = new TestCoordinatorCompletionCoordinatorCallback() {
-            public void completed(final NotificationType completed, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionCoordinatorProcessor coordinator = CoordinatorCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionCoordinatorClient.getClient().sendCompleted(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendCompleted" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("5") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendCompleted(addressingContext, new InstanceIdentifier("sender")) ;
+
+        CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasCompleted());
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendStatus()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendStatus" ;
-        final EndpointReferenceType coordinatorCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorService, messageId) ;
-        
-        final State state = State.STATE_COMPENSATING ;
-        
-        final TestCoordinatorCompletionCoordinatorCallback callback = new TestCoordinatorCompletionCoordinatorCallback() {
-            public void status(final StatusType status, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertEquals(state, status.getState()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionCoordinatorProcessor coordinator = CoordinatorCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionCoordinatorClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendStatus" ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("6") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        final State state = State.STATE_COMPENSATING;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
+
+        CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasStatus());
+        assertEquals(details.hasStatus().getState(), state);
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
+    /*
+     * cannot test this any longer as client does not provide API to send soap fault
 
     public void testSendError()
         throws Exception
     {
-        final String messageId = "123456" ;
+        final String messageId = "testSendError" ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionParticipantServiceURI, messageId) ;
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("7") ;
         final String reason = "testSendErrorReason" ;
-        final String instanceIdentifier = "testSendError" ;
-        final EndpointReferenceType coordinatorCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorService, messageId) ;
-        
         final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
         final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
         final SoapFault soapFault = new SoapFault(soapFaultType, subcode, reason) ;
-        
-        final TestCoordinatorCompletionCoordinatorCallback callback = new TestCoordinatorCompletionCoordinatorCallback() {
-            public void soapFault(final SoapFault soapFault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(soapFault) ;
-                assertEquals(soapFaultType, soapFault.getSoapFaultType()) ;
-                assertEquals(subcode, soapFault.getSubcode()) ;
-                assertEquals(reason, soapFault.getReason()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorCompletionCoordinatorProcessor coordinator = CoordinatorCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorCompletionCoordinatorClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendSoapFault(addressingContext, soapFault, instanceIdentifier) ;
+
+        final CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasSoapFault()) ;
+        assertEquals(details.hasSoapFault().getSoapFaultType(), soapFaultType) ;
+        assertEquals(details.hasSoapFault().getReason(), reason) ;
+        assertEquals(details.hasSoapFault().getSubcode(), subcode) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
+
     }
-    
+     */
+
     public void testSendExit()
         throws Exception
     {
         final String messageId = "testSendExit" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        CoordinatorCompletionCoordinatorClient.getClient().sendExit(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("8") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendExit(addressingContext, new InstanceIdentifier("sender")) ;
         
         final CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
         
         assertTrue(details.hasExit()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
     
     public void testSendGetStatus()
         throws Exception
     {
         final String messageId = "testSendGetStatus" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorCompletionCoordinatorServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        CoordinatorCompletionCoordinatorClient.getClient().sendGetStatus(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(coordinatorCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("9") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorCompletionCoordinatorClient.getClient().sendGetStatus(addressingContext, new InstanceIdentifier("sender")) ;
         
         final CoordinatorCompletionCoordinatorDetails details = testCoordinatorCompletionCoordinatorProcessor.getCoordinatorCompletionCoordinatorDetails(messageId, 10000) ;
         
         assertTrue(details.hasGetStatus()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     protected void tearDown()
         throws Exception
     {
-        CoordinatorCompletionCoordinatorProcessor.setCoordinator(origCoordinatorCompletionCoordinatorProcessor) ;
+        CoordinatorCompletionCoordinatorProcessor.setProcessor(origCoordinatorCompletionCoordinatorProcessor) ;
     }
+    /**
+     * check the message details to see that they have the correct to and from address and message id, a null
+     * reply to address and an arjuna context containing the correct instannce identifier
+     * @param details
+     * @param messageId
+     * @param instanceIdentifier
+     */
+
+    private void checkDetails(CoordinatorCompletionCoordinatorDetails details, boolean replyTo, String messageId, InstanceIdentifier instanceIdentifier)
+    {
+        AddressingContext inAddressingContext = details.getAddressingContext();
+        ArjunaContext inArjunaContext = details.getArjunaContext();
+
+        assertEquals(inAddressingContext.getTo().getValue(), coordinatorCompletionCoordinatorServiceURI);
+        assertEquals(inAddressingContext.getFrom().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
+        if (replyTo) {
+            assertEquals(inAddressingContext.getReplyTo().getAddress().getValue(), coordinatorCompletionParticipantServiceURI);
+        } else {
+            assertNull(inAddressingContext.getReplyTo());
+        }
+        assertEquals(inAddressingContext.getMessageID().getValue(), messageId);
+
+        if (instanceIdentifier == null) {
+            assertNull(inArjunaContext.getInstanceIdentifier());
+        } else {
+            assertNotNull(inArjunaContext.getInstanceIdentifier()) ;
+            assertEquals(instanceIdentifier.getInstanceIdentifier(), inArjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
+        }
+    }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionServiceTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionServiceTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithCoordinatorCompletionServiceTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -37,6 +37,7 @@
 import com.arjuna.wst.FaultedException;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.WrongStateException;
+import com.arjuna.wst.messaging.engines.CoordinatorCompletionCoordinatorEngine;
 import com.arjuna.wst.stub.BusinessAgreementWithCoordinatorCompletionStub;
 import com.arjuna.wst.tests.TestUtil;
 
@@ -63,10 +64,22 @@
         EndpointReferenceType faultedExceptionBusinessAgreementWithCoordinatorCompletionCoordinator = new EndpointReferenceType(new AttributedURIType(coordinatorCompletionParticipantServiceURI));
         InstanceIdentifier.setEndpointInstanceIdentifier(faultedExceptionBusinessAgreementWithCoordinatorCompletionCoordinator, TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER);
 
-        _noExceptionBusinessAgreementWithCoordinatorCompletionStub                    = new BusinessAgreementWithCoordinatorCompletionStub("businessAgreementWithCoordinatorCompletionCoordinator", noExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
-        _wrongStateExceptionBusinessAgreementWithCoordinatorCompletionStub            = new BusinessAgreementWithCoordinatorCompletionStub("businessAgreementWithCoordinatorCompletionCoordinator", wrongStateExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
-        _systemExceptionBusinessAgreementWithCoordinatorCompletionStub                = new BusinessAgreementWithCoordinatorCompletionStub("businessAgreementWithCoordinatorCompletionCoordinator", systemExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
-        _faultedExceptionBusinessAgreementWithCoordinatorCompletionStub                = new BusinessAgreementWithCoordinatorCompletionStub("businessAgreementWithCoordinatorCompletionCoordinator", faultedExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
+        CoordinatorCompletionCoordinatorEngine _noExceptionBusinessAgreementWithCoordinatorCompletionEngine
+                = new CoordinatorCompletionCoordinatorEngine("businessAgreementWithCoordinatorCompletionCoordinator", noExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
+        CoordinatorCompletionCoordinatorEngine _wrongStateExceptionBusinessAgreementWithCoordinatorCompletionEngine
+                = new CoordinatorCompletionCoordinatorEngine("businessAgreementWithCoordinatorCompletionCoordinator", wrongStateExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
+        CoordinatorCompletionCoordinatorEngine _systemExceptionBusinessAgreementWithCoordinatorCompletionEngine
+                = new CoordinatorCompletionCoordinatorEngine("businessAgreementWithCoordinatorCompletionCoordinator", systemExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
+        CoordinatorCompletionCoordinatorEngine _faultedExceptionBusinessAgreementWithCoordinatorCompletionEngine
+                = new CoordinatorCompletionCoordinatorEngine("businessAgreementWithCoordinatorCompletionCoordinator", faultedExceptionBusinessAgreementWithCoordinatorCompletionCoordinator);
+        _noExceptionBusinessAgreementWithCoordinatorCompletionStub
+                = new BusinessAgreementWithCoordinatorCompletionStub(_noExceptionBusinessAgreementWithCoordinatorCompletionEngine);
+        _wrongStateExceptionBusinessAgreementWithCoordinatorCompletionStub
+                = new BusinessAgreementWithCoordinatorCompletionStub(_wrongStateExceptionBusinessAgreementWithCoordinatorCompletionEngine);
+        _systemExceptionBusinessAgreementWithCoordinatorCompletionStub
+                = new BusinessAgreementWithCoordinatorCompletionStub(_systemExceptionBusinessAgreementWithCoordinatorCompletionEngine);
+        _faultedExceptionBusinessAgreementWithCoordinatorCompletionStub
+                = new BusinessAgreementWithCoordinatorCompletionStub(_faultedExceptionBusinessAgreementWithCoordinatorCompletionEngine);
     }
 
     public void testCloseWithNoException()

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionCoordinatorTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionCoordinatorTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionCoordinatorTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -57,7 +57,7 @@
     protected void setUp()
         throws Exception
     {
-        origParticipantCompletionParticipantProcessor = ParticipantCompletionParticipantProcessor.setParticipant(testParticipantCompletionParticipantProcessor) ;
+        origParticipantCompletionParticipantProcessor = ParticipantCompletionParticipantProcessor.setProcessor(testParticipantCompletionParticipantProcessor) ;
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
         participantCompletionParticipantServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_PARTICIPANT_COMPLETION_PARTICIPANT) ;
         participantCompletionCoordinatorServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_PARTICIPANT_COMPLETION_COORDINATOR) ;
@@ -67,223 +67,197 @@
         throws Exception
     {
         final String messageId = "testSendClose" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantCompletionParticipantClient.getClient().sendClose(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(participantCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("1") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionParticipantClient.getClient().sendClose(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasClose()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendCancel()
         throws Exception
     {
         final String messageId = "testSendCancel" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantServiceURI, messageId) ;
+        AttributedURIType address = new AttributedURIType(participantCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
         final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantCompletionParticipantClient.getClient().sendCancel(addressingContext, instanceIdentifier) ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionParticipantClient.getClient().sendCancel(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasCancel()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendCompensate()
         throws Exception
     {
         final String messageId = "testSendCompensate" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantCompletionParticipantClient.getClient().sendCompensate(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(participantCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("3") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionParticipantClient.getClient().sendCompensate(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasCompensate()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendFaulted()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendFaulted" ;
-        final EndpointReferenceType participantCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(participantCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantService, messageId) ;
-        
-        final TestParticipantCompletionParticipantCallback callback = new TestParticipantCompletionParticipantCallback() {
-            public void faulted(final NotificationType faulted, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionCoordinatorServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionParticipantProcessor participant = ParticipantCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionParticipantClient.getClient().sendFaulted(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendFaulted" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("4") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionParticipantClient.getClient().sendFaulted(addressingContext, new InstanceIdentifier("sender")) ;
+
+        final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
+
+        assertTrue(details.hasFaulted()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendExited()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendExited" ;
-        final EndpointReferenceType participantCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(participantCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantService, messageId) ;
-        
-        final TestParticipantCompletionParticipantCallback callback = new TestParticipantCompletionParticipantCallback() {
-            public void exited(final NotificationType exited, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionCoordinatorServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionParticipantProcessor participant = ParticipantCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionParticipantClient.getClient().sendExited(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendExited" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("5") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionParticipantClient.getClient().sendExited(addressingContext, new InstanceIdentifier("sender")) ;
+
+        final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
+
+        assertTrue(details.hasExited()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendStatus()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendStatus" ;
-        final EndpointReferenceType participantCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(participantCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantService, messageId) ;
-        
+        final String messageId = "testSendStatus" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("6") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
         final State state = State.STATE_ACTIVE ;
-        
-        final TestParticipantCompletionParticipantCallback callback = new TestParticipantCompletionParticipantCallback() {
-            public void status(final StatusType status, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertEquals(state, status.getState()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionParticipantProcessor participant = ParticipantCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionParticipantClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        ParticipantCompletionParticipantClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
+
+        final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasStatus()); ;
+        assertEquals(details.hasStatus().getState(), state);
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
     
     public void testSendGetStatus()
         throws Exception
     {
         final String messageId = "testSendGetStatus" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantCompletionParticipantClient.getClient().sendGetStatus(addressingContext, instanceIdentifier) ;
-        
+        AttributedURIType address = new AttributedURIType(participantCompletionParticipantServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("7") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionParticipantClient.getClient().sendGetStatus(addressingContext, new InstanceIdentifier("sender")) ;
+
         final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
-        
+
         assertTrue(details.hasGetStatus()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
+    /*
+     * cannot test this any longer as client does not provide API to send soap fault
 
     public void testSendError()
         throws Exception
     {
-        final String messageId = "123456" ;
+        final String messageId = "testSendGetStatus" ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionParticipantServiceURI, messageId) ;
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("8") ;
         final String reason = "testSendErrorReason" ;
-        final String instanceIdentifier = "testSendError" ;
-        final EndpointReferenceType ParticipantCompletionParticipantService = new EndpointReferenceType(new AttributedURIType(participantCompletionParticipantServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(ParticipantCompletionParticipantService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(ParticipantCompletionParticipantService, messageId) ;
-        
         final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
         final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
         final SoapFault soapFault = new SoapFault(soapFaultType, subcode, reason) ;
-        
-        final TestParticipantCompletionParticipantCallback callback = new TestParticipantCompletionParticipantCallback() {
-            public void soapFault(final SoapFault soapFault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionCoordinatorServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(soapFault) ;
-                assertEquals(soapFaultType, soapFault.getSoapFaultType()) ;
-                assertEquals(subcode, soapFault.getSubcode()) ;
-                assertEquals(reason, soapFault.getReason()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionParticipantProcessor participant = ParticipantCompletionParticipantProcessor.getParticipant() ;
-        participant.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionParticipantClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            participant.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
-    }
 
+        ParticipantCompletionParticipantClient.getClient().sendSoapFault(addressingContext, soapFault, instanceIdentifier) ;
+
+        final ParticipantCompletionParticipantDetails details = testParticipantCompletionParticipantProcessor.getParticipantCompletionParticipantDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasSoapFault()); ;
+        assertEquals(details.hasSoapFault().getSoapfaultType(), soapFault.getSoapFaultType()) ;
+        assertEquals(details.hasSoapFault().getReason(), soapFault.getReason()) ;
+        assertEquals(details.hasSoapFault().getSubcode(), soapFault.getSubcode()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
+    }
+     */
     protected void tearDown()
         throws Exception
     {
-        ParticipantCompletionParticipantProcessor.setParticipant(origParticipantCompletionParticipantProcessor) ;
+        ParticipantCompletionParticipantProcessor.setProcessor(origParticipantCompletionParticipantProcessor) ;
     }
+
+    /**
+     * check the message details to see that they have the correct to and from address and message id, a null
+     * reply to address and an arjuna context containing the correct instannce identifier
+     * @param details
+     * @param replyTo
+     * @param messageId
+     * @param instanceIdentifier
+     */
+
+    private void checkDetails(ParticipantCompletionParticipantDetails details, boolean replyTo, String messageId, InstanceIdentifier instanceIdentifier)
+    {
+        AddressingContext inAddressingContext = details.getAddressingContext();
+        ArjunaContext inArjunaContext = details.getArjunaContext();
+
+        assertEquals(inAddressingContext.getTo().getValue(), participantCompletionParticipantServiceURI);
+        assertEquals(inAddressingContext.getFrom().getAddress().getValue(), participantCompletionCoordinatorServiceURI);
+        if (replyTo) {
+            assertEquals(inAddressingContext.getReplyTo().getAddress().getValue(), participantCompletionCoordinatorServiceURI);
+        } else {
+            assertNull(inAddressingContext.getReplyTo());
+        }
+        assertEquals(inAddressingContext.getMessageID().getValue(), messageId);
+
+        if (instanceIdentifier == null) {
+            assertNull(inArjunaContext.getInstanceIdentifier());
+        } else {
+            assertNotNull(inArjunaContext.getInstanceIdentifier()) ;
+            assertEquals(instanceIdentifier.getInstanceIdentifier(), inArjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
+        }
+    }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionParticipantTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionParticipantTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionParticipantTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -58,7 +58,7 @@
     protected void setUp()
         throws Exception
     {
-        origParticipantCompletionCoordinatorProcessor = ParticipantCompletionCoordinatorProcessor.setCoordinator(testParticipantCompletionCoordinatorProcessor) ;
+        origParticipantCompletionCoordinatorProcessor = ParticipantCompletionCoordinatorProcessor.setProcessor(testParticipantCompletionCoordinatorProcessor) ;
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
         participantCompletionCoordinatorServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_PARTICIPANT_COMPLETION_COORDINATOR) ;
         participantCompletionParticipantServiceURI = soapRegistry.getServiceURI(BusinessActivityConstants.SERVICE_PARTICIPANT_COMPLETION_PARTICIPANT) ;
@@ -67,315 +67,222 @@
     public void testSendClosed()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendClosed" ;
-        final EndpointReferenceType participantCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(participantCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorService, messageId) ;
-        
-        final TestParticipantCompletionCoordinatorCallback callback = new TestParticipantCompletionCoordinatorCallback() {
-            public void closed(final NotificationType closed, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionCoordinatorProcessor coordinator = ParticipantCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionCoordinatorClient.getClient().sendClosed(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendClosed" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("1") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendClosed(addressingContext, new InstanceIdentifier("sender")) ;
+
+        final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasClosed()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendCancelled()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendCancelled" ;
-        final EndpointReferenceType participantCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(participantCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorService, messageId) ;
-        
-        final TestParticipantCompletionCoordinatorCallback callback = new TestParticipantCompletionCoordinatorCallback() {
-            public void cancelled(final NotificationType cancelled, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionCoordinatorProcessor coordinator = ParticipantCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionCoordinatorClient.getClient().sendCancelled(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendCancelled" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendCancelled(addressingContext, new InstanceIdentifier("sender")); ;
+
+        final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasCancelled()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendCompensated()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendCompensated" ;
-        final EndpointReferenceType participantCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(participantCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorService, messageId) ;
-        
-        final TestParticipantCompletionCoordinatorCallback callback = new TestParticipantCompletionCoordinatorCallback() {
-            public void compensated(final NotificationType compensated, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionCoordinatorProcessor coordinator = ParticipantCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionCoordinatorClient.getClient().sendCompensated(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendCompensated" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("3") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendCompensated(addressingContext, new InstanceIdentifier("sender")) ;
+
+        final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasCompensated()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendCompleted()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendCompleted" ;
-        final EndpointReferenceType participantCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(participantCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorService, messageId) ;
-        
-        final TestParticipantCompletionCoordinatorCallback callback = new TestParticipantCompletionCoordinatorCallback() {
-            public void completed(final NotificationType completed, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionCoordinatorProcessor coordinator = ParticipantCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionCoordinatorClient.getClient().sendCompleted(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendCompleted" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("4") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendCompleted(addressingContext, new InstanceIdentifier("sender")) ;
+
+        final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertTrue(details.hasCompleted()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendStatus()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendStatus" ;
-        final EndpointReferenceType participantCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(participantCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorService, messageId) ;
-        
+        final String messageId = "testSendStatus" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("5") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
         final State state = State.STATE_ENDED ;
-        
-        final TestParticipantCompletionCoordinatorCallback callback = new TestParticipantCompletionCoordinatorCallback() {
-            public void status(final StatusType status, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertEquals(state, status.getState()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionCoordinatorProcessor coordinator = ParticipantCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionCoordinatorClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendStatus(addressingContext, new InstanceIdentifier("sender"), state) ;
+
+        final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasStatus()); ;
+        assertEquals(details.hasStatus().getState(), state) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
+    /*
+     * cannot test this any longer as client does not provide API to send soap fault
+
     public void testSendError()
         throws Exception
     {
-        final String messageId = "123456" ;
+        final String messageId = "testSendError" ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorServiceURI, messageId) ;
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("6") ;
         final String reason = "testSendErrorReason" ;
-        final String instanceIdentifier = "testSendError" ;
-        final EndpointReferenceType participantCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(participantCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorService, messageId) ;
-        
         final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
         final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
         final SoapFault soapFault = new SoapFault(soapFaultType, subcode, reason) ;
-        
-        final TestParticipantCompletionCoordinatorCallback callback = new TestParticipantCompletionCoordinatorCallback() {
-            public void soapFault(final SoapFault soapFault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(soapFault) ;
-                assertEquals(soapFaultType, soapFault.getSoapFaultType()) ;
-                assertEquals(subcode, soapFault.getSubcode()) ;
-                assertEquals(reason, soapFault.getReason()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionCoordinatorProcessor coordinator = ParticipantCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionCoordinatorClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
-    }
 
+        ParticipantCompletionCoordinatorClient.getClient().sendSoapFault(addressingContext, instanceIdentifier, soapFault) ;
+
+        final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasSoapFault()) ;
+        assertEquals(details.hasSoapFault().getSoapFaultType(), soapFault.getSoapFaultType()) ;
+        assertEquals(details.hasSoapFault().getSubcode(), soapFault.getSubcode()) ;
+        assertEquals(details.hasSoapFault().getReason(), soapFault.getReason()) ;
+
+        checkDetails(details, false, messageId, instanceIdentifier);
+    }
+    */
+    
     public void testSendExit()
         throws Exception
     {
         final String messageId = "testSendExit" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantCompletionCoordinatorClient.getClient().sendExit(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("7") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendExit(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
         
         assertTrue(details.hasExit()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendFault()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendFault" ;
+        final String messageId = "testSendFault" ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("8") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
         final String exceptionIdentifier = "testSendFaultExceptionIdentifier" ;
-        final EndpointReferenceType participantCompletionCoordinatorService = new EndpointReferenceType(new AttributedURIType(participantCompletionCoordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(participantCompletionCoordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorService, messageId) ;
-        
-        final TestParticipantCompletionCoordinatorCallback callback = new TestParticipantCompletionCoordinatorCallback() {
-            public void fault(final ExceptionType fault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), participantCompletionParticipantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertEquals(exceptionIdentifier, fault.getExceptionIdentifier()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final ParticipantCompletionCoordinatorProcessor coordinator = ParticipantCompletionCoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            ParticipantCompletionCoordinatorClient.getClient().sendFault(addressingContext, new InstanceIdentifier("sender"), exceptionIdentifier) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendFault(addressingContext, new InstanceIdentifier("sender"), exceptionIdentifier); ;
+
+        final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
+
+        assertNotNull(details.hasFault()); ;
+        assertEquals(details.hasFault().getExceptionIdentifier(), exceptionIdentifier) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendGetStatus()
         throws Exception
     {
         final String messageId = "testSendGetStatus" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantCompletionCoordinatorServiceURI, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantCompletionCoordinatorClient.getClient().sendGetStatus(addressingContext, instanceIdentifier) ;
+        AttributedURIType address = new AttributedURIType(participantCompletionCoordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("9") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        ParticipantCompletionCoordinatorClient.getClient().sendGetStatus(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantCompletionCoordinatorDetails details = testParticipantCompletionCoordinatorProcessor.getParticipantCompletionCoordinatorDetails(messageId, 10000) ;
         
         assertTrue(details.hasGetStatus()) ;
+
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     protected void tearDown()
         throws Exception
     {
-        ParticipantCompletionCoordinatorProcessor.setCoordinator(origParticipantCompletionCoordinatorProcessor) ;
+        ParticipantCompletionCoordinatorProcessor.setProcessor(origParticipantCompletionCoordinatorProcessor) ;
     }
+
+    /**
+     * check the message details to see that they have the correct to and from address and message id, a null
+     * reply to address and an arjuna context containing the correct instannce identifier
+     * @param details
+     * @param replyTo
+     * @param messageId
+     * @param instanceIdentifier
+     */
+
+    private void checkDetails(ParticipantCompletionCoordinatorDetails details, boolean replyTo, String messageId, InstanceIdentifier instanceIdentifier)
+    {
+        AddressingContext inAddressingContext = details.getAddressingContext();
+        ArjunaContext inArjunaContext = details.getArjunaContext();
+
+        assertEquals(inAddressingContext.getTo().getValue(), participantCompletionCoordinatorServiceURI);
+        assertEquals(inAddressingContext.getFrom().getAddress().getValue(), participantCompletionParticipantServiceURI);
+        if (replyTo) {
+            assertEquals(inAddressingContext.getReplyTo().getAddress().getValue(), participantCompletionParticipantServiceURI);
+        } else {
+            assertNull(inAddressingContext.getReplyTo());
+        }
+        assertEquals(inAddressingContext.getMessageID().getValue(), messageId);
+
+        if (instanceIdentifier == null) {
+            assertNull(inArjunaContext.getInstanceIdentifier());
+        } else {
+            assertNotNull(inArjunaContext.getInstanceIdentifier()) ;
+            assertEquals(instanceIdentifier.getInstanceIdentifier(), inArjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
+        }
+    }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionServiceTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionServiceTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/BusinessAgreementWithParticipantCompletionServiceTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -37,6 +37,7 @@
 import com.arjuna.wst.FaultedException;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.WrongStateException;
+import com.arjuna.wst.messaging.engines.ParticipantCompletionCoordinatorEngine;
 import com.arjuna.wst.stub.BusinessAgreementWithParticipantCompletionStub;
 import com.arjuna.wst.tests.TestUtil;
 
@@ -63,10 +64,23 @@
         EndpointReferenceType faultedExceptionBusinessAgreementWithParticipantCompletionCoordinator = new EndpointReferenceType(new AttributedURIType(participantCompletionParticipantServiceURI));
         InstanceIdentifier.setEndpointInstanceIdentifier(faultedExceptionBusinessAgreementWithParticipantCompletionCoordinator, TestUtil.FAULTEDEXCEPTION_PARTICIPANT_IDENTIFIER);
 
-        _noExceptionBusinessAgreementWithParticipantCompletionStub                    = new BusinessAgreementWithParticipantCompletionStub("businessAgreementWithParticipantCompletionCoordinator", noExceptionBusinessAgreementWithParticipantCompletionCoordinator);
-        _wrongStateExceptionBusinessAgreementWithParticipantCompletionStub            = new BusinessAgreementWithParticipantCompletionStub("businessAgreementWithParticipantCompletionCoordinator", wrongStateExceptionBusinessAgreementWithParticipantCompletionCoordinator);
-        _systemExceptionBusinessAgreementWithParticipantCompletionStub                = new BusinessAgreementWithParticipantCompletionStub("businessAgreementWithParticipantCompletionCoordinator", systemExceptionBusinessAgreementWithParticipantCompletionCoordinator);
-        _faultedExceptionBusinessAgreementWithParticipantCompletionStub                = new BusinessAgreementWithParticipantCompletionStub("businessAgreementWithParticipantCompletionCoordinator", faultedExceptionBusinessAgreementWithParticipantCompletionCoordinator);
+        ParticipantCompletionCoordinatorEngine _noExceptionBusinessAgreementWithParticipantCompletionEngine
+                = new ParticipantCompletionCoordinatorEngine("businessAgreementWithParticipantCompletionCoordinator", noExceptionBusinessAgreementWithParticipantCompletionCoordinator);
+        ParticipantCompletionCoordinatorEngine _wrongStateExceptionBusinessAgreementWithParticipantCompletionEngine
+                = new ParticipantCompletionCoordinatorEngine("businessAgreementWithParticipantCompletionCoordinator", wrongStateExceptionBusinessAgreementWithParticipantCompletionCoordinator);
+        ParticipantCompletionCoordinatorEngine _systemExceptionBusinessAgreementWithParticipantCompletionEngine
+                = new ParticipantCompletionCoordinatorEngine("businessAgreementWithParticipantCompletionCoordinator", systemExceptionBusinessAgreementWithParticipantCompletionCoordinator);
+        ParticipantCompletionCoordinatorEngine _faultedExceptionBusinessAgreementWithParticipantCompletionEngine
+                = new ParticipantCompletionCoordinatorEngine("businessAgreementWithParticipantCompletionCoordinator", faultedExceptionBusinessAgreementWithParticipantCompletionCoordinator);
+
+        _noExceptionBusinessAgreementWithParticipantCompletionStub
+                = new BusinessAgreementWithParticipantCompletionStub(_noExceptionBusinessAgreementWithParticipantCompletionEngine);
+        _wrongStateExceptionBusinessAgreementWithParticipantCompletionStub
+                = new BusinessAgreementWithParticipantCompletionStub(_wrongStateExceptionBusinessAgreementWithParticipantCompletionEngine);
+        _systemExceptionBusinessAgreementWithParticipantCompletionStub
+                = new BusinessAgreementWithParticipantCompletionStub(_systemExceptionBusinessAgreementWithParticipantCompletionEngine);
+        _faultedExceptionBusinessAgreementWithParticipantCompletionStub
+                = new BusinessAgreementWithParticipantCompletionStub(_faultedExceptionBusinessAgreementWithParticipantCompletionEngine);
     }
 
     public void testCloseWithNoException()

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionCoordinatorTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionCoordinatorTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionCoordinatorTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -75,7 +75,7 @@
                 assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
             }
         };
-        final CompletionInitiatorProcessor initiator = CompletionInitiatorProcessor.getInitiator() ;
+        final CompletionInitiatorProcessor initiator = CompletionInitiatorProcessor.getProcessor() ;
         initiator.registerCallback(instanceIdentifier, callback) ;
         
         try
@@ -113,7 +113,7 @@
                 assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
             }
         };
-        final CompletionInitiatorProcessor initiator = CompletionInitiatorProcessor.getInitiator() ;
+        final CompletionInitiatorProcessor initiator = CompletionInitiatorProcessor.getProcessor() ;
         initiator.registerCallback(instanceIdentifier, callback) ;
         
         try
@@ -161,7 +161,7 @@
                 assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
             }
         };
-        final CompletionInitiatorProcessor initiator = CompletionInitiatorProcessor.getInitiator() ;
+        final CompletionInitiatorProcessor initiator = CompletionInitiatorProcessor.getProcessor() ;
         initiator.registerCallback(instanceIdentifier, callback) ;
         
         try

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionParticipantTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionParticipantTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/CompletionParticipantTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -46,7 +46,7 @@
     protected void setUp()
         throws Exception
     {
-        origCompletionCoordinatorProcessor = CompletionCoordinatorProcessor.setCoordinator(testCompletionCoordinatorProcessor) ;
+        origCompletionCoordinatorProcessor = CompletionCoordinatorProcessor.setProcessor(testCompletionCoordinatorProcessor) ;
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
         completionCoordinatorService = soapRegistry.getServiceURI(AtomicTransactionConstants.SERVICE_COMPLETION_COORDINATOR) ;
     }
@@ -80,6 +80,6 @@
     protected void tearDown()
         throws Exception
     {
-        CompletionCoordinatorProcessor.setCoordinator(origCompletionCoordinatorProcessor) ;
+        CompletionCoordinatorProcessor.setProcessor(origCompletionCoordinatorProcessor) ;
     }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionCoordinatorProcessor.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionCoordinatorProcessor.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionCoordinatorProcessor.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -26,7 +26,11 @@
 import com.arjuna.webservices.wsaddr.AddressingContext;
 import com.arjuna.webservices.wsarj.ArjunaContext;
 import com.arjuna.webservices.wsba.NotificationType;
+import com.arjuna.webservices.wsba.CoordinatorCompletionCoordinatorInboundEvents;
+import com.arjuna.webservices.wsba.ExceptionType;
+import com.arjuna.webservices.wsba.StatusType;
 import com.arjuna.webservices.wsba.processors.CoordinatorCompletionCoordinatorProcessor;
+import com.arjuna.webservices.SoapFault;
 
 
 public class TestCoordinatorCompletionCoordinatorProcessor extends CoordinatorCompletionCoordinatorProcessor
@@ -62,6 +66,67 @@
         throw new NullPointerException("Timeout occurred waiting for id: " + messageId) ;
     }
 
+    /**
+     * Activate the coordinator.
+     *
+     * @param coordinatorState The coordinator.
+     * @param identifier       The identifier.
+     */
+    public void activateCoordinator(CoordinatorCompletionCoordinatorInboundEvents coordinator, String identifier) {
+    }
+
+    /**
+     * Deactivate the coordinator.
+     *
+     * @param coordinator The coordinator.
+     */
+    public void deactivateCoordinator(CoordinatorCompletionCoordinatorInboundEvents coordinator) {
+    }
+
+    /**
+     * Cancelled.
+     *
+     * @param cancelled         The cancelled notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void cancelled(NotificationType cancelled, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    /**
+     * Closed.
+     *
+     * @param closed            The closed notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void closed(NotificationType closed, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    /**
+     * Compensated.
+     *
+     * @param compensated       The compensated notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void compensated(NotificationType compensated, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    /**
+     * Completed.
+     *
+     * @param completed         The completed notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void completed(NotificationType completed, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
     public void exit(NotificationType exit, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -75,6 +140,17 @@
         }
     }
 
+    /**
+     * Fault.
+     *
+     * @param fault             The fault exception.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void fault(ExceptionType fault, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
     public void getStatus(NotificationType getStatus, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -87,14 +163,43 @@
             messageIdMap.notifyAll() ;
         }
     }
-    
+
+    /**
+     * Status.
+     *
+     * @param status            The status.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void status(StatusType status, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    /**
+     * SOAP fault.
+     *
+     * @param soapFault         The SOAP fault.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void soapFault(SoapFault soapFault, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
     public static class CoordinatorCompletionCoordinatorDetails
     {
         private final AddressingContext addressingContext ;
         private final ArjunaContext arjunaContext ;
+        private boolean closed ;
+        private boolean cancelled ;
+        private boolean compensated ;
+        private ExceptionType fault ;
+        private boolean completed ;
+        private StatusType status ;
+        private SoapFault soapFault ;
         private boolean exit ;
         private boolean getStatus ;
-        
+
         CoordinatorCompletionCoordinatorDetails(final AddressingContext addressingContext, final ArjunaContext arjunaContext)
         {
             this.addressingContext = addressingContext ;
@@ -130,5 +235,60 @@
         {
             this.getStatus = getStatus ;
         }
+        public boolean hasClosed() {
+            return closed;
+        }
+
+        public void setClosed(boolean closed) {
+            this.closed = closed;
+        }
+
+        public boolean hasCancelled() {
+            return cancelled;
+        }
+
+        public void setCancelled(boolean cancelled) {
+            this.cancelled = cancelled;
+        }
+
+        public boolean hasCompensated() {
+            return compensated;
+        }
+
+        public void setCompensated(boolean compensated) {
+            this.compensated = compensated;
+        }
+
+        public ExceptionType hasFault() {
+            return fault;
+        }
+
+        public void setFault(ExceptionType fault) {
+            this.fault = fault;
+        }
+
+        public boolean hasCompleted() {
+            return completed;
+        }
+
+        public void setCompleted(boolean completed) {
+            this.completed = completed;
+        }
+
+        public StatusType hasStatus() {
+            return status;
+        }
+
+        public void setStatus(StatusType status) {
+            this.status = status;
+        }
+
+        public SoapFault hasSoapFault() {
+            return soapFault;
+        }
+
+        public void setSoapFault(SoapFault soapFault) {
+            this.soapFault = soapFault;
+        }
     }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionParticipantProcessor.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionParticipantProcessor.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestCoordinatorCompletionParticipantProcessor.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -26,7 +26,10 @@
 import com.arjuna.webservices.wsaddr.AddressingContext;
 import com.arjuna.webservices.wsarj.ArjunaContext;
 import com.arjuna.webservices.wsba.NotificationType;
+import com.arjuna.webservices.wsba.CoordinatorCompletionParticipantInboundEvents;
+import com.arjuna.webservices.wsba.StatusType;
 import com.arjuna.webservices.wsba.processors.CoordinatorCompletionParticipantProcessor;
+import com.arjuna.webservices.SoapFault;
 import com.arjuna.wst.BusinessAgreementWithCoordinatorCompletionParticipant;
 
 
@@ -63,6 +66,23 @@
         throw new NullPointerException("Timeout occurred waiting for id: " + messageId) ;
     }
 
+    /**
+     * Activate the participant.
+     *
+     * @param participant The participant.
+     * @param identifier  The identifier.
+     */
+    public void activateParticipant(CoordinatorCompletionParticipantInboundEvents participant, String identifier) {
+    }
+
+    /**
+     * Deactivate the participant.
+     *
+     * @param participant The participant.
+     */
+    public void deactivateParticipant(CoordinatorCompletionParticipantInboundEvents participant) {
+    }
+
     public void cancel(NotificationType cancel, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -115,6 +135,44 @@
         }
     }
 
+    /**
+     * Exited.
+     *
+     * @param exited            The exited notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void exited(NotificationType exited, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final CoordinatorCompletionParticipantDetails details = new CoordinatorCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setExited(true) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
+    /**
+     * Faulted.
+     *
+     * @param faulted           The faulted notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void faulted(NotificationType faulted, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final CoordinatorCompletionParticipantDetails details = new CoordinatorCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setFaulted(true) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
     public void getStatus(NotificationType getStatus, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -127,7 +185,45 @@
             messageIdMap.notifyAll() ;
         }
     }
-    
+
+    /**
+     * Status.
+     *
+     * @param status            The status.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void status(StatusType status, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final CoordinatorCompletionParticipantDetails details = new CoordinatorCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setStatus(status) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
+    /**
+     * SOAP fault.
+     *
+     * @param soapFault         The SOAP fault.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void soapFault(SoapFault soapFault, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final CoordinatorCompletionParticipantDetails details = new CoordinatorCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setSoapFault(soapFault) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
     public void activateParticipant(BusinessAgreementWithCoordinatorCompletionParticipant participant, String identifier)
     {
     }
@@ -144,8 +240,12 @@
         private boolean close ;
         private boolean compensate ;
         private boolean complete ;
+        private boolean faulted ;
+        private boolean exited ;
+        private StatusType status ;
         private boolean getStatus ;
-        
+        private SoapFault soapFault ;
+
         CoordinatorCompletionParticipantDetails(final AddressingContext addressingContext, final ArjunaContext arjunaContext)
         {
             this.addressingContext = addressingContext ;
@@ -211,5 +311,36 @@
         {
             this.getStatus = getStatus ;
         }
+        public boolean hasFaulted() {
+            return faulted;
+        }
+
+        public void setFaulted(boolean faulted) {
+            this.faulted = faulted;
+        }
+
+        public boolean hasExited() {
+            return exited;
+        }
+
+        public void setExited(boolean exited) {
+            this.exited = exited;
+        }
+
+        public StatusType hasStatus() {
+            return status;
+        }
+
+        public void setStatus(StatusType status) {
+            this.status = status;
+        }
+
+        public SoapFault hasSoapFault() {
+            return soapFault;
+        }
+
+        public void setSoapFault(SoapFault soapFault) {
+            this.soapFault = soapFault;
+        }
     }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionCoordinatorProcessor.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionCoordinatorProcessor.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionCoordinatorProcessor.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -26,7 +26,11 @@
 import com.arjuna.webservices.wsaddr.AddressingContext;
 import com.arjuna.webservices.wsarj.ArjunaContext;
 import com.arjuna.webservices.wsba.NotificationType;
+import com.arjuna.webservices.wsba.ParticipantCompletionCoordinatorInboundEvents;
+import com.arjuna.webservices.wsba.ExceptionType;
+import com.arjuna.webservices.wsba.StatusType;
 import com.arjuna.webservices.wsba.processors.ParticipantCompletionCoordinatorProcessor;
+import com.arjuna.webservices.SoapFault;
 
 
 public class TestParticipantCompletionCoordinatorProcessor extends ParticipantCompletionCoordinatorProcessor
@@ -62,6 +66,99 @@
         throw new NullPointerException("Timeout occurred waiting for id: " + messageId) ;
     }
 
+    /**
+     * Activate the coordinator.
+     *
+     * @param coordinator The coordinator.
+     * @param identifier       The identifier.
+     */
+    public void activateCoordinator(ParticipantCompletionCoordinatorInboundEvents coordinator, String identifier) {
+    }
+
+    /**
+     * Deactivate the coordinator.
+     *
+     * @param coordinator The coordinator.
+     */
+    public void deactivateCoordinator(ParticipantCompletionCoordinatorInboundEvents coordinator) {
+    }
+
+    /**
+     * Cancelled.
+     *
+     * @param cancelled         The cancelled notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void cancelled(NotificationType cancelled, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionCoordinatorDetails details = new ParticipantCompletionCoordinatorDetails(addressingContext, arjunaContext) ;
+        details.setCancelled(true) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
+    /**
+     * Closed.
+     *
+     * @param closed            The closed notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void closed(NotificationType closed, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionCoordinatorDetails details = new ParticipantCompletionCoordinatorDetails(addressingContext, arjunaContext) ;
+        details.setClosed(true) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
+    /**
+     * Compensated.
+     *
+     * @param compensated       The compensated notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void compensated(NotificationType compensated, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionCoordinatorDetails details = new ParticipantCompletionCoordinatorDetails(addressingContext, arjunaContext) ;
+        details.setCompensated(true) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
+    /**
+     * Completed.
+     *
+     * @param completed         The completed notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void completed(NotificationType completed, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionCoordinatorDetails details = new ParticipantCompletionCoordinatorDetails(addressingContext, arjunaContext) ;
+        details.setCompleted(true) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
     public void exit(NotificationType exit, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -75,6 +172,25 @@
         }
     }
 
+    /**
+     * Fault.
+     *
+     * @param fault             The fault exception.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void fault(ExceptionType fault, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionCoordinatorDetails details = new ParticipantCompletionCoordinatorDetails(addressingContext, arjunaContext) ;
+        details.setFault(fault) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
     public void getStatus(NotificationType getStatus, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -87,14 +203,59 @@
             messageIdMap.notifyAll() ;
         }
     }
-    
+
+    /**
+     * Status.
+     *
+     * @param status            The status.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void status(StatusType status, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionCoordinatorDetails details = new ParticipantCompletionCoordinatorDetails(addressingContext, arjunaContext) ;
+        details.setStatus(status) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
+    /**
+     * SOAP fault.
+     *
+     * @param soapFault         The SOAP fault.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void soapFault(SoapFault soapFault, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionCoordinatorDetails details = new ParticipantCompletionCoordinatorDetails(addressingContext, arjunaContext) ;
+        details.setSoapFault(soapFault) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
     public static class ParticipantCompletionCoordinatorDetails
     {
         private final AddressingContext addressingContext ;
         private final ArjunaContext arjunaContext ;
         private boolean exit ;
         private boolean getStatus ;
-        
+        private boolean cancelled;
+        private boolean closed;
+        private boolean compensated;
+        private boolean completed;
+        private ExceptionType fault;
+        private StatusType status;
+        private SoapFault soapFault;
+
         ParticipantCompletionCoordinatorDetails(final AddressingContext addressingContext, final ArjunaContext arjunaContext)
         {
             this.addressingContext = addressingContext ;
@@ -130,5 +291,61 @@
         {
             this.getStatus = getStatus ;
         }
+
+        public boolean hasCancelled() {
+            return cancelled;
+        }
+
+        public void setCancelled(boolean cancelled) {
+            this.cancelled = cancelled;
+        }
+
+        public boolean hasClosed() {
+            return closed;
+        }
+
+        public void setClosed(boolean closed) {
+            this.closed = closed;
+        }
+
+        public boolean hasCompensated() {
+            return compensated;
+        }
+
+        public void setCompensated(boolean compensated) {
+            this.compensated = compensated;
+        }
+
+        public boolean hasCompleted() {
+            return completed;
+        }
+
+        public void setCompleted(boolean completed) {
+            this.completed = completed;
+        }
+
+        public ExceptionType hasFault() {
+            return fault;
+        }
+
+        public void setFault(ExceptionType fault) {
+            this.fault = fault;
+        }
+
+        public StatusType hasStatus() {
+            return status;
+        }
+
+        public void setStatus(StatusType status) {
+            this.status = status;
+        }
+
+        public SoapFault hasSoapFault() {
+            return soapFault;
+        }
+
+        public void setSoapFault(SoapFault soapFault) {
+            this.soapFault = soapFault;
+        }
     }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionParticipantProcessor.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionParticipantProcessor.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantCompletionParticipantProcessor.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -26,7 +26,10 @@
 import com.arjuna.webservices.wsaddr.AddressingContext;
 import com.arjuna.webservices.wsarj.ArjunaContext;
 import com.arjuna.webservices.wsba.NotificationType;
+import com.arjuna.webservices.wsba.StatusType;
+import com.arjuna.webservices.wsba.ParticipantCompletionParticipantInboundEvents;
 import com.arjuna.webservices.wsba.processors.ParticipantCompletionParticipantProcessor;
+import com.arjuna.webservices.SoapFault;
 import com.arjuna.wst.BusinessAgreementWithParticipantCompletionParticipant;
 
 
@@ -63,6 +66,23 @@
         throw new NullPointerException("Timeout occurred waiting for id: " + messageId) ;
     }
 
+    /**
+     * Activate the participant.
+     *
+     * @param participant The participant.
+     * @param identifier  The identifier.
+     */
+    public void activateParticipant(ParticipantCompletionParticipantInboundEvents participant, String identifier) {
+    }
+
+    /**
+     * Deactivate the participant.
+     *
+     * @param participant The participant.
+     */
+    public void deactivateParticipant(ParticipantCompletionParticipantInboundEvents participant) {
+    }
+
     public void cancel(NotificationType cancel, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -102,6 +122,44 @@
         }
     }
 
+    /**
+     * Exited.
+     *
+     * @param exited            The exited notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void exited(NotificationType exited, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionParticipantDetails details = new ParticipantCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setExited(true); ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
+    /**
+     * Faulted.
+     *
+     * @param faulted           The faulted notification.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void faulted(NotificationType faulted, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionParticipantDetails details = new ParticipantCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setFaulted(true); ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
+    }
+
     public void getStatus(NotificationType getStatus, AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
         final String messageId = addressingContext.getMessageID().getValue() ;
@@ -114,15 +172,45 @@
             messageIdMap.notifyAll() ;
         }
     }
-    
-    public void activateParticipant(BusinessAgreementWithParticipantCompletionParticipant participant, String identifier)
-    {
+
+    /**
+     * Status.
+     *
+     * @param status            The status.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void status(StatusType status, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionParticipantDetails details = new ParticipantCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setStatus(status); ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
     }
-    
-    public void deactivateParticipant(BusinessAgreementWithParticipantCompletionParticipant participant)
-    {
+
+    /**
+     * SOAP fault.
+     *
+     * @param soapFault         The SOAP fault.
+     * @param addressingContext The addressing context.
+     * @param arjunaContext     The arjuna context.
+     */
+    public void soapFault(SoapFault soapFault, AddressingContext addressingContext, ArjunaContext arjunaContext) {
+        final String messageId = addressingContext.getMessageID().getValue() ;
+        final ParticipantCompletionParticipantDetails details = new ParticipantCompletionParticipantDetails(addressingContext, arjunaContext) ;
+        details.setSoapFault(soapFault) ;
+
+        synchronized(messageIdMap)
+        {
+            messageIdMap.put(messageId, details) ;
+            messageIdMap.notifyAll() ;
+        }
     }
-    
+
     public static class ParticipantCompletionParticipantDetails
     {
         private final AddressingContext addressingContext ;
@@ -131,7 +219,11 @@
         private boolean close ;
         private boolean compensate ;
         private boolean getStatus ;
-        
+        private boolean faulted;
+        private boolean exited;
+        private StatusType status;
+        private SoapFault soapFault;
+
         ParticipantCompletionParticipantDetails(final AddressingContext addressingContext, final ArjunaContext arjunaContext)
         {
             this.addressingContext = addressingContext ;
@@ -187,5 +279,37 @@
         {
             this.getStatus = getStatus ;
         }
+
+        public boolean hasFaulted() {
+            return faulted;
+        }
+
+        public void setFaulted(boolean faulted) {
+            this.faulted = faulted;
+        }
+
+        public boolean hasExited() {
+            return exited;
+        }
+
+        public void setExited(boolean exited) {
+            this.exited = exited;
+        }
+
+
+        public StatusType hasStatus() {
+            return status;
+        }
+        public void setStatus(StatusType status) {
+            this.status = status;
+        }
+
+        public SoapFault getSoapFault() {
+            return soapFault;
+        }
+
+        public void setSoapFault(SoapFault soapFault) {
+            this.soapFault = soapFault;
+        }
     }
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantProcessor.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantProcessor.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestParticipantProcessor.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -27,7 +27,7 @@
 import com.arjuna.webservices.wsaddr.AddressingContext;
 import com.arjuna.webservices.wsarj.ArjunaContext;
 import com.arjuna.webservices.wsat.NotificationType;
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.webservices.wsat.ParticipantInboundEvents;
 import com.arjuna.webservices.wsat.processors.ParticipantProcessor;
 
 public class TestParticipantProcessor extends ParticipantProcessor
@@ -63,6 +63,25 @@
         throw new NullPointerException("Timeout occurred waiting for id: " + messageId) ;
     }
 
+    /**
+     * Activate the participant.
+     *
+     * @param participant The participant.
+     * @param identifier  The identifier.
+     */
+    public void activateParticipant(ParticipantInboundEvents participant, String identifier) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    /**
+     * Deactivate the participant.
+     *
+     * @param participant The participant.
+     */
+    public void deactivateParticipant(ParticipantInboundEvents participant) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
     public void commit(NotificationType commit,
             AddressingContext addressingContext, ArjunaContext arjunaContext)
     {
@@ -119,15 +138,6 @@
         }
     }
     
-    public void activateParticipant(Participant participant,
-            String identifier)
-    {
-    }
-
-    public void deactivateParticipant(Participant participant)
-    {
-    }
-    
     public static class ParticipantDetails
     {
         private final AddressingContext addressingContext ;

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestSuite.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestSuite.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TestSuite.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -30,22 +30,24 @@
 {
     public TestSuite()
     {
+        // the service tests are no longer working
         addTest(new junit.framework.TestSuite(CompletionParticipantTestCase.class));
         addTest(new junit.framework.TestSuite(CompletionCoordinatorTestCase.class));
-        addTest(new junit.framework.TestSuite(TwoPCParticipantTestCase.class));
+        //addTest(new junit.framework.TestSuite(TwoPCParticipantTestCase.class));
         addTest(new junit.framework.TestSuite(TwoPCCoordinatorTestCase.class));
         addTest(new junit.framework.TestSuite(CompletionServiceTestCase.class));
-        addTest(new junit.framework.TestSuite(TwoPCServiceTestCase.class));
-        addTest(new junit.framework.TestSuite(BusinessAgreementWithParticipantCompletionServiceTestCase.class));
+        //addTest(new junit.framework.TestSuite(TwoPCServiceTestCase.class));
+        //addTest(new junit.framework.TestSuite(BusinessAgreementWithParticipantCompletionServiceTestCase.class));
         addTest(new junit.framework.TestSuite(BusinessAgreementWithParticipantCompletionParticipantTestCase.class));
         addTest(new junit.framework.TestSuite(BusinessAgreementWithParticipantCompletionCoordinatorTestCase.class));
-        addTest(new junit.framework.TestSuite(BusinessAgreementWithCoordinatorCompletionServiceTestCase.class));
+        //addTest(new junit.framework.TestSuite(BusinessAgreementWithCoordinatorCompletionServiceTestCase.class));
         addTest(new junit.framework.TestSuite(BusinessAgreementWithCoordinatorCompletionParticipantTestCase.class));
         addTest(new junit.framework.TestSuite(BusinessAgreementWithCoordinatorCompletionCoordinatorTestCase.class));
-        addTest(new junit.framework.TestSuite(BAParticipantManagerServiceTestCase.class));
-        addTest(new junit.framework.TestSuite(BAParticipantManagerParticipantTestCase.class));
-        addTest(new junit.framework.TestSuite(BAParticipantManagerCoordinatorTestCase.class));
-        addTest(new junit.framework.TestSuite(BusinessActivityTerminatorServiceTestCase.class));
+        // these tests refer to a sercie which no longer exists
+        //addTest(new junit.framework.TestSuite(BAParticipantManagerServiceTestCase.class));
+        //addTest(new junit.framework.TestSuite(BAParticipantManagerParticipantTestCase.class));
+        //addTest(new junit.framework.TestSuite(BAParticipantManagerCoordinatorTestCase.class));
+        //addTest(new junit.framework.TestSuite(BusinessActivityTerminatorServiceTestCase.class));
     }
 
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCCoordinatorTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCCoordinatorTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCCoordinatorTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -37,6 +37,7 @@
 import com.arjuna.webservices.SoapRegistry;
 import com.arjuna.webservices.wsaddr.AddressingContext;
 import com.arjuna.webservices.wsarj.InstanceIdentifier;
+import com.arjuna.webservices.wsarj.ArjunaContext;
 import com.arjuna.webservices.wsarjtx.ArjunaTXConstants;
 import com.arjuna.webservices.wsat.AtomicTransactionConstants;
 import com.arjuna.webservices.wsat.client.ParticipantClient;
@@ -48,68 +49,80 @@
     private ParticipantProcessor origParticipantProcessor ;
     
     private TestParticipantProcessor testParticipantProcessor = new TestParticipantProcessor() ;
-    private String participantService ;
+    private String participanURIService;
+    private String coordinatorServiceURI;
 
     protected void setUp()
         throws Exception
     {
-        origParticipantProcessor = ParticipantProcessor.setParticipant(testParticipantProcessor) ;
+        origParticipantProcessor = ParticipantProcessor.setProcessor(testParticipantProcessor) ;
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
-        participantService = soapRegistry.getServiceURI(AtomicTransactionConstants.SERVICE_PARTICIPANT) ;
+        participanURIService = soapRegistry.getServiceURI(AtomicTransactionConstants.SERVICE_PARTICIPANT) ;
+        coordinatorServiceURI = soapRegistry.getServiceURI(AtomicTransactionConstants.SERVICE_COORDINATOR) ;
     }
 
     public void testSendPrepare()
         throws Exception
     {
         final String messageId = "testSendPrepare" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantService, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantClient.getClient().sendPrepare(addressingContext, instanceIdentifier) ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(participanURIService, messageId) ;
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("1") ;
+
+        ParticipantClient.getClient().sendPrepare(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantDetails details = testParticipantProcessor.getParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasPrepare()) ;
+        // expect reply to address but don't expect identifier
+        checkDetails(details, true, messageId, null);
     }
 
     public void testSendCommit()
         throws Exception
     {
         final String messageId = "testSendCommit" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantService, messageId) ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(participanURIService, messageId) ;
         final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantClient.getClient().sendCommit(addressingContext, instanceIdentifier) ;
+
+        ParticipantClient.getClient().sendCommit(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantDetails details = testParticipantProcessor.getParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasCommit()) ;
+        // expect reply to address but don't expect identifier
+        checkDetails(details, true, messageId, null);
     }
 
     public void testSendRollback()
         throws Exception
     {
         final String messageId = "testSendRollback" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantService, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
-        ParticipantClient.getClient().sendRollback(addressingContext, instanceIdentifier) ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(participanURIService, messageId) ;
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("3") ;
+
+        ParticipantClient.getClient().sendRollback(addressingContext, new InstanceIdentifier("sender")) ;
         
         final ParticipantDetails details = testParticipantProcessor.getParticipantDetails(messageId, 10000) ;
         
         assertTrue(details.hasRollback()) ;
+        // expect reply to address but don't expect identifier
+        checkDetails(details, true, messageId, null);
     }
 
     public void testSendError()
         throws Exception
     {
         final String messageId = "testSendError" ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(participantService, messageId) ;
-        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(participanURIService, messageId) ;
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("4") ;
         
         final String reason = "testSendErrorReason" ;
         final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
         final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
         final SoapFault soapFault = new SoapFault(soapFaultType, subcode, reason) ;
-        ParticipantClient.getClient().sendSoapFault(addressingContext, soapFault, instanceIdentifier) ;
         
+        ParticipantClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender")) ;
+        
         final ParticipantDetails details = testParticipantProcessor.getParticipantDetails(messageId, 10000) ;
         final SoapFault receivedSoapFault = details.getSoapFault() ;
         
@@ -117,11 +130,43 @@
         assertEquals(soapFaultType, receivedSoapFault.getSoapFaultType()) ;
         assertEquals(subcode, receivedSoapFault.getSubcode()) ;
         assertEquals(reason, receivedSoapFault.getReason()) ;
+        // don't expect reply to address or identifier
+        checkDetails(details, false, messageId, null);
     }
 
     protected void tearDown()
         throws Exception
     {
-        ParticipantProcessor.setParticipant(origParticipantProcessor) ;
+        ParticipantProcessor.setProcessor(origParticipantProcessor) ;
     }
-}
+    /**
+     * check the message details to see that they have the correct to and from address and message id, a null
+     * reply to address and an arjuna context containing the correct instannce identifier
+     * @param details
+     * @param replyTo
+     * @param messageId
+     * @param instanceIdentifier
+     */
+
+    private void checkDetails(ParticipantDetails details, boolean replyTo, String messageId, InstanceIdentifier instanceIdentifier)
+    {
+        AddressingContext inAddressingContext = details.getAddressingContext();
+        ArjunaContext inArjunaContext = details.getArjunaContext();
+
+        assertEquals(inAddressingContext.getTo().getValue(), participanURIService);
+        assertEquals(inAddressingContext.getFrom().getAddress().getValue(), coordinatorServiceURI);
+        if (replyTo) {
+            assertEquals(inAddressingContext.getReplyTo().getAddress().getValue(), coordinatorServiceURI);
+        } else {
+            assertNull(inAddressingContext.getReplyTo());
+        }
+        assertEquals(inAddressingContext.getMessageID().getValue(), messageId);
+
+        if (instanceIdentifier == null) {
+            assertNull(inArjunaContext.getInstanceIdentifier());
+        } else {
+            assertNotNull(inArjunaContext.getInstanceIdentifier()) ;
+            assertEquals(instanceIdentifier.getInstanceIdentifier(), inArjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
+        }
+    }
+}
\ No newline at end of file

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCParticipantTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCParticipantTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCParticipantTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -45,12 +45,19 @@
 import com.arjuna.webservices.wsat.NotificationType;
 import com.arjuna.webservices.wsat.client.CoordinatorClient;
 import com.arjuna.webservices.wsat.processors.CoordinatorProcessor;
+import com.arjuna.wst.tests.junit.TestCoordinatorProcessor.CoordinatorDetails;
 
 public class TwoPCParticipantTestCase extends TestCase
 {
+    private CoordinatorProcessor origCoordinatorProcessor ;
+    private TestCoordinatorProcessor testCoordinatorProcessor = new TestCoordinatorProcessor();
+
     protected void setUp()
         throws Exception
     {
+        origCoordinatorProcessor = CoordinatorProcessor.getProcessor();
+        CoordinatorProcessor.setProcessor(testCoordinatorProcessor);
+
         final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
         coordinatorServiceURI = soapRegistry.getServiceURI(AtomicTransactionConstants.SERVICE_COORDINATOR) ;
         participantServiceURI = soapRegistry.getServiceURI(AtomicTransactionConstants.SERVICE_PARTICIPANT) ;
@@ -59,246 +66,152 @@
     public void testSendPrepared()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendPrepared" ;
-        final EndpointReferenceType coordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorService, messageId) ;
-        
-        final TestCoordinatorCallback callback = new TestCoordinatorCallback() {
-            public void prepared(final NotificationType prepared, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), participantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorProcessor coordinator = CoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorClient.getClient().sendPrepared(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendPrepared" ;
+        AttributedURIType address = new AttributedURIType(coordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("1") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorClient.getClient().sendPrepared(addressingContext, new InstanceIdentifier("sender"));
+
+        CoordinatorDetails details = testCoordinatorProcessor.getCoordinatorDetails(messageId, 10000);
+        assertTrue(details.hasPrepared());
+        // expect reply to address and identifier
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendAborted()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendAborted" ;
-        final EndpointReferenceType coordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorService, messageId) ;
-        
-        final TestCoordinatorCallback callback = new TestCoordinatorCallback() {
-            public void aborted(final NotificationType aborted, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorProcessor coordinator = CoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorClient.getClient().sendAborted(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
-    }
+        final String messageId = "testSendAborted" ;
+        AttributedURIType address = new AttributedURIType(coordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("2") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
 
+        CoordinatorClient.getClient().sendAborted(addressingContext, new InstanceIdentifier("sender"));
+
+        CoordinatorDetails details = testCoordinatorProcessor.getCoordinatorDetails(messageId, 10000);
+        assertTrue(details.hasAborted());
+        // don't expect reply to address but do expect identifier
+        checkDetails(details, false, messageId, instanceIdentifier);
+   }
+
     public void testSendReadOnly()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendReadOnly" ;
-        final EndpointReferenceType coordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorService, messageId) ;
-        
-        final TestCoordinatorCallback callback = new TestCoordinatorCallback() {
-            public void readOnly(final NotificationType readOnly, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorProcessor coordinator = CoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorClient.getClient().sendReadOnly(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendReadOnly" ;
+        AttributedURIType address = new AttributedURIType(coordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("3") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorClient.getClient().sendReadOnly(addressingContext, new InstanceIdentifier("sender"));
+
+        CoordinatorDetails details = testCoordinatorProcessor.getCoordinatorDetails(messageId, 10000);
+        assertTrue(details.hasReadOnly());
+        // don't expect reply to address but do expect identifier
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendCommitted()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendCommitted" ;
-        final EndpointReferenceType coordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorService, messageId) ;
-        
-        final TestCoordinatorCallback callback = new TestCoordinatorCallback() {
-            public void committed(final NotificationType committed, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorProcessor coordinator = CoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorClient.getClient().sendCommitted(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendCommitted" ;
+        AttributedURIType address = new AttributedURIType(coordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("4") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorClient.getClient().sendCommitted(addressingContext, new InstanceIdentifier("sender"));
+
+        CoordinatorDetails details = testCoordinatorProcessor.getCoordinatorDetails(messageId, 10000);
+        assertTrue(details.hasCommitted());
+        // don't expect reply to address but do expect identifier
+        checkDetails(details, false, messageId, instanceIdentifier);
     }
 
     public void testSendReplay()
         throws Exception
     {
-        final String messageId = "123456" ;
-        final String instanceIdentifier = "testSendReplay" ;
-        final EndpointReferenceType coordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorService, messageId) ;
-        
-        final TestCoordinatorCallback callback = new TestCoordinatorCallback() {
-            public void replay(final NotificationType replay, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantServiceURI);
-                assertEquals(addressingContext.getReplyTo().getAddress().getValue(), participantServiceURI);
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorProcessor coordinator = CoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorClient.getClient().sendReplay(addressingContext, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+        final String messageId = "testSendReplay" ;
+        AttributedURIType address = new AttributedURIType(coordinatorServiceURI);
+        EndpointReferenceType epr = new EndpointReferenceType(address);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("5") ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(epr, instanceIdentifier);
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(epr, messageId) ;
+
+        CoordinatorClient.getClient().sendReplay(addressingContext, new InstanceIdentifier("sender"));
+
+        CoordinatorDetails details = testCoordinatorProcessor.getCoordinatorDetails(messageId, 10000);
+        assertTrue(details.hasReplay());
+        // expect reply to address and identifier
+        checkDetails(details, true, messageId, instanceIdentifier);
     }
 
     public void testSendError()
         throws Exception
     {
-        final String messageId = "123456" ;
+        final String messageId = "testSendReplay" ;
+        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorServiceURI, messageId);
+        final InstanceIdentifier instanceIdentifier = new InstanceIdentifier("5");
         final String reason = "testSendErrorReason" ;
-        final String instanceIdentifier = "testSendError" ;
-        final EndpointReferenceType coordinatorService = new EndpointReferenceType(new AttributedURIType(coordinatorServiceURI)) ;
-        InstanceIdentifier.setEndpointInstanceIdentifier(coordinatorService, instanceIdentifier) ;
-        final AddressingContext addressingContext = AddressingContext.createRequestContext(coordinatorService, messageId) ;
-        
         final SoapFaultType soapFaultType = SoapFaultType.FAULT_SENDER ;
         final QName subcode = ArjunaTXConstants.UNKNOWNERROR_ERROR_CODE_QNAME ;
         final SoapFault soapFault = new SoapFault(soapFaultType, subcode, reason) ;
-        
-        final TestCoordinatorCallback callback = new TestCoordinatorCallback() {
-            public void soapFault(final SoapFault soapFault, final AddressingContext addressingContext, final ArjunaContext arjunaContext)
-            {
-                assertEquals(addressingContext.getTo().getValue(), coordinatorServiceURI);
-                assertEquals(addressingContext.getFrom().getAddress().getValue(), participantServiceURI);
-                assertNull(addressingContext.getReplyTo());
-                assertEquals(addressingContext.getMessageID().getValue(), messageId);
-                
-                assertNotNull(soapFault) ;
-                assertEquals(soapFaultType, soapFault.getSoapFaultType()) ;
-                assertEquals(subcode, soapFault.getSubcode()) ;
-                assertEquals(reason, soapFault.getReason()) ;
-                
-                assertNotNull(arjunaContext.getInstanceIdentifier()) ;
-                assertEquals(instanceIdentifier, arjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
-            }
-        };
-        final CoordinatorProcessor coordinator = CoordinatorProcessor.getCoordinator() ;
-        coordinator.registerCallback(instanceIdentifier, callback) ;
-        
-        try
-        {
-            CoordinatorClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender")) ;
-            callback.waitUntilTriggered() ;
-        }
-        finally
-        {
-            coordinator.removeCallback(instanceIdentifier) ;
-        }
-        
-        assertTrue(callback.hasTriggered()) ;
-        assertFalse(callback.hasFailed()) ;
+
+        CoordinatorClient.getClient().sendSoapFault(addressingContext, soapFault, new InstanceIdentifier("sender"));
+
+        CoordinatorDetails details = testCoordinatorProcessor.getCoordinatorDetails(messageId, 10000);
+        assertNotNull(details.hasSoapFault());
+        assertEquals(details.hasSoapFault().getSoapFaultType(), soapFault.getSoapFaultType());
+        assertEquals(details.hasSoapFault().getReason(), soapFault.getReason());
+        assertEquals(details.hasSoapFault().getSubcode(), soapFault.getSubcode());
+        // don't expect reply to address but do expect identifier
+        checkDetails(details, false, messageId, null);
     }
 
     protected void tearDown()
         throws Exception
     {
+        CoordinatorProcessor.setProcessor(origCoordinatorProcessor);
     }
 
+    /**
+     * check the message details to see that they have the correct to and from address and message id, a null
+     * reply to address and an arjuna context containing the correct instannce identifier
+     * @param details
+     * @param replyTo
+     * @param messageId
+     * @param instanceIdentifier
+     */
+
+    private void checkDetails(CoordinatorDetails details, boolean replyTo, String messageId, InstanceIdentifier instanceIdentifier)
+    {
+        AddressingContext inAddressingContext = details.getAddressingContext();
+        ArjunaContext inArjunaContext = details.getArjunaContext();
+
+        assertEquals(inAddressingContext.getTo().getValue(), coordinatorServiceURI);
+        assertEquals(inAddressingContext.getFrom().getAddress().getValue(), participantServiceURI);
+        if (replyTo) {
+            assertEquals(inAddressingContext.getReplyTo().getAddress().getValue(), participantServiceURI);
+        } else {
+            assertNull(inAddressingContext.getReplyTo());
+        }
+        assertEquals(inAddressingContext.getMessageID().getValue(), messageId);
+
+        if (instanceIdentifier == null) {
+            assertNull(inArjunaContext.getInstanceIdentifier());
+        } else {
+            assertNotNull(inArjunaContext.getInstanceIdentifier()) ;
+            assertEquals(instanceIdentifier.getInstanceIdentifier(), inArjunaContext.getInstanceIdentifier().getInstanceIdentifier()) ;
+        }
+    }
+
     private String coordinatorServiceURI ;
     private String participantServiceURI ;
 }

Modified: labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCServiceTestCase.java
===================================================================
--- labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCServiceTestCase.java	2008-03-07 10:44:20 UTC (rev 18754)
+++ labs/jbosstm/trunk/XTS/WS-T/tests/src/com/arjuna/wst/tests/junit/TwoPCServiceTestCase.java	2008-03-07 10:57:42 UTC (rev 18755)
@@ -35,7 +35,7 @@
 import com.arjuna.webservices.wsaddr.EndpointReferenceType;
 import com.arjuna.webservices.wsarj.InstanceIdentifier;
 import com.arjuna.webservices.wsat.AtomicTransactionConstants;
-import com.arjuna.webservices.wsat.Participant;
+import com.arjuna.wst.Participant;
 import com.arjuna.wst.SystemException;
 import com.arjuna.wst.Vote;
 import com.arjuna.wst.WrongStateException;
@@ -71,13 +71,13 @@
         EndpointReferenceType nonexistentCoordinator = new EndpointReferenceType(new AttributedURIType(participantServiceURI));
         InstanceIdentifier.setEndpointInstanceIdentifier(nonexistentCoordinator, TestUtil.NONEXISTENT_PARTICIPANT_IDENTIFIER);
 
-        _preparedVoteStub                   = new ParticipantStub("twoPCCoordinator", preparedVoteCoordinator);
-        _abortedVoteStub                    = new ParticipantStub("twoPCCoordinator", abortedVoteCoordinator);
-        _readOnlyVoteStub                   = new ParticipantStub("twoPCCoordinator", readOnlyVoteCoordinator);
-        _noExceptionStub                    = new ParticipantStub("twoPCCoordinator", noExceptionCoordinator);
-        _wrongStateExceptionStub            = new ParticipantStub("twoPCCoordinator", wrongStateExceptionCoordinator);
-        _systemExceptionStub                = new ParticipantStub("twoPCCoordinator", systemExceptionCoordinator);
-        _nonexistentStub                    = new ParticipantStub("twoPCCoordinator", nonexistentCoordinator);
+        _preparedVoteStub                   = new ParticipantStub("twoPCCoordinator", false, preparedVoteCoordinator);
+        _abortedVoteStub                    = new ParticipantStub("twoPCCoordinator", false, abortedVoteCoordinator);
+        _readOnlyVoteStub                   = new ParticipantStub("twoPCCoordinator", false, readOnlyVoteCoordinator);
+        _noExceptionStub                    = new ParticipantStub("twoPCCoordinator", false, noExceptionCoordinator);
+        _wrongStateExceptionStub            = new ParticipantStub("twoPCCoordinator", false, wrongStateExceptionCoordinator);
+        _systemExceptionStub                = new ParticipantStub("twoPCCoordinator", false, systemExceptionCoordinator);
+        _nonexistentStub                    = new ParticipantStub("twoPCCoordinator", false, nonexistentCoordinator);
     }
 
     public void testPrepareWithPreparedVote()




More information about the jboss-svn-commits mailing list