[jboss-svn-commits] JBL Code SVN: r24215 - in labs/jbosstm/trunk/XTS/WSTX: classes10/com/arjuna/mw/wst/deploy and 10 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 2 11:41:21 EST 2008


Author: adinn
Date: 2008-12-02 11:41:21 -0500 (Tue, 02 Dec 2008)
New Revision: 24215

Added:
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/UserSubTransaction.java
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserSubTransactionImple.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommit.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitFailInPrepare.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionRollback.java
Modified:
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/ContextFactoryImple.java
   labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java
   labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/UserSubTransaction.java
   labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java
   labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/ContextFactoryImple.java
   labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserSubTransactionImple.java
   labs/jbosstm/trunk/XTS/WSTX/config/wst.xml
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/WSTXTestSuite.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommit.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitFailInPrepare.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java
   labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionRollback.java
Log:
added support for subtransactions in 1.0 WS-AT -- fixes for JBTM-409

Copied: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/UserSubTransaction.java (from rev 24206, labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/UserSubTransaction.java)
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/UserSubTransaction.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/UserSubTransaction.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2008,
+ * @author JBoss Inc.
+ */
+
+package com.arjuna.mw.wst;
+
+/**
+ * This is the interface that allows transactions to be started and terminated.
+ * The messaging layer converts the Commit, Rollback and Notify messages into
+ * calls on this.
+ * Importantly, a UserTransaction does not represent a specific transaction,
+ * but rather is responsible for providing access to an implicit per-thread
+ * transaction context; it is similar to the UserTransaction in the JTA
+ * specification. Therefore, all of the UserTransaction methods implicitly act
+ * on the current thread of control.
+ *
+ * @author Andrew Dinn
+ * @version $Id:$
+ */
+
+public abstract class UserSubTransaction extends UserTransaction
+{
+    /**
+     * The transaction.
+     */
+    private static UserTransaction USER_TRANSACTION ;
+
+    /**
+     * Get the user transaction.
+     * @return the user transaction.
+     */
+    public static synchronized UserTransaction getUserTransaction()
+    {
+        return USER_TRANSACTION ;
+    }
+
+    /**
+     * Set the user transaction.
+     * @param userTransaction The user transaction.
+     */
+    public static synchronized void setUserTransaction(final UserTransaction userTransaction)
+    {
+        USER_TRANSACTION = userTransaction ;
+    }
+}
\ No newline at end of file


Property changes on: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/UserSubTransaction.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mw/wst/deploy/WSTXInitialisation.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -35,10 +35,7 @@
 import org.w3c.dom.NodeList;
 
 import com.arjuna.mw.wsas.utils.Configuration;
-import com.arjuna.mw.wst.BusinessActivityManager;
-import com.arjuna.mw.wst.TransactionManager;
-import com.arjuna.mw.wst.UserBusinessActivity;
-import com.arjuna.mw.wst.UserTransaction;
+import com.arjuna.mw.wst.*;
 import com.arjuna.mw.wstx.logging.wstxLogger;
 import com.arjuna.webservices.util.ClassLoaderHelper;
 import com.arjuna.services.framework.startup.Sequencer;
@@ -129,15 +126,17 @@
 
         final Element docElem = doc.getDocumentElement() ;
         final String userTx = getService(docElem, "UserTransaction") ;
+        final String userSubTx = getService(docElem, "UserSubTransaction") ;
         final String txManager = getService(docElem, "TransactionManager") ;
         final String userBa = getService(docElem, "UserBusinessActivity") ;
         final String baManager = getService(docElem, "BusinessActivityManager") ;
 
-        if ((userTx == null) || (txManager == null) || (userBa == null) || (baManager == null))
+        if ((userTx == null) || (userSubTx == null) || (txManager == null) || (userBa == null) || (baManager == null))
         {
             throw new FileNotFoundException(wstxLogger.log_mesg.getString("com.arjuna.mw.wst.deploy.WSTXI_23"));
         }
         UserTransaction.setUserTransaction((UserTransaction)ClassLoaderHelper.forName(getClass(), userTx).newInstance()) ;
+        UserSubTransaction.setUserTransaction((UserTransaction)ClassLoaderHelper.forName(getClass(), userSubTx).newInstance()) ;
         TransactionManager.setTransactionManager((TransactionManager)ClassLoaderHelper.forName(getClass(), txManager).newInstance()) ;
         UserBusinessActivity.setUserBusinessActivity((UserBusinessActivity)ClassLoaderHelper.forName(getClass(), userBa).newInstance()) ;
         BusinessActivityManager.setBusinessActivityManager((BusinessActivityManager)ClassLoaderHelper.forName(getClass(), baManager).newInstance()) ;

Modified: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/ContextFactoryImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/ContextFactoryImple.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/ContextFactoryImple.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -40,6 +40,7 @@
 import com.arjuna.mwlabs.wscf.model.twophase.arjunacore.ACCoordinator;
 import com.arjuna.mwlabs.wscf.model.twophase.arjunacore.CoordinatorControl;
 import com.arjuna.mwlabs.wscf.model.twophase.arjunacore.CoordinatorServiceImple;
+import com.arjuna.mwlabs.wscf.model.twophase.arjunacore.subordinate.SubordinateCoordinator;
 import com.arjuna.mwlabs.wst.at.context.ArjunaContextImple;
 import com.arjuna.mwlabs.wst.at.participants.CleanupSynchronization;
 import com.arjuna.webservices.SoapRegistry;
@@ -48,12 +49,20 @@
 import com.arjuna.webservices.wsaddr.EndpointReferenceType;
 import com.arjuna.webservices.wsarj.InstanceIdentifier;
 import com.arjuna.webservices.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices.wsat.processors.ParticipantProcessor;
 import com.arjuna.webservices.wscoor.AttributedUnsignedIntType;
 import com.arjuna.webservices.wscoor.CoordinationConstants;
 import com.arjuna.webservices.wscoor.CoordinationContextType;
 import com.arjuna.wsc.ContextFactory;
 import com.arjuna.wsc.InvalidCreateParametersException;
 import com.arjuna.wsc.InvalidProtocolException;
+import com.arjuna.wsc.RegistrationCoordinator;
+import com.arjuna.wsc.messaging.MessageId;
+import com.arjuna.wst.Volatile2PCParticipant;
+import com.arjuna.wst.Durable2PCParticipant;
+import com.arjuna.wst.stub.SubordinateVolatile2PCStub;
+import com.arjuna.wst.stub.SubordinateDurable2PCStub;
+import com.arjuna.wst.messaging.engines.ParticipantEngine;
 
 public class ContextFactoryImple implements ContextFactory, LocalFactory
 {
@@ -84,13 +93,6 @@
 	{
 	}
 
-	// TODO interposition
-
-	/*
-	 * If there is a context passed through to create then this newly created
-	 * coordinator should be interposed.
-	 */
-
 	/**
 	 * Creates a coordination context.
 	 * 
@@ -124,6 +126,7 @@
 			{
 				// make sure no transaction is currently associated
 
+                if (currentContext == null) {
 				_coordManager.suspend();
 
 				final int timeout ;
@@ -173,6 +176,52 @@
 				_theRegistrar.associate();
 
 				return coordinationContext;
+                } else {
+                    // we need to create a subordinate transaction and register it as both a durable and volatile
+                    // participant with the registration service defined in the current context
+
+                    SubordinateCoordinator subTx = (SubordinateCoordinator) createSubordinate();
+                    // hmm, need to create wrappers here as the subTx is in WSCF which only knows
+                    // about WSAS and WS-C and the participant is in WS-T
+                    String vtppid = subTx.getVolatile2PhaseId();
+                    String dtppid = subTx.getDurable2PhaseId();
+                    Volatile2PCParticipant vtpp = new SubordinateVolatile2PCStub(subTx);
+                    Durable2PCParticipant dtpp = new SubordinateDurable2PCStub(subTx);
+                    final String messageId = MessageId.getMessageId() ;
+                    EndpointReferenceType participant;
+                    EndpointReferenceType coordinator;
+                    participant= getParticipant(vtppid);
+                    coordinator = RegistrationCoordinator.register(currentContext, messageId, participant, AtomicTransactionConstants.WSAT_SUB_PROTOCOL_VOLATILE_2PC) ;
+                    ParticipantProcessor.getProcessor().activateParticipant(new ParticipantEngine(vtpp, vtppid, coordinator), vtppid) ;
+                    participant= getParticipant(dtppid);
+                    coordinator = RegistrationCoordinator.register(currentContext, messageId, participant, AtomicTransactionConstants.WSAT_SUB_PROTOCOL_DURABLE_2PC) ;
+                    ParticipantProcessor.getProcessor().activateParticipant(new ParticipantEngine(dtpp, dtppid, coordinator), dtppid) ;
+
+                    // ok now create the context
+                    final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
+                    final String registrationCoordinatorURI = soapRegistry.getServiceURI(CoordinationConstants.SERVICE_REGISTRATION_COORDINATOR) ;
+
+                    final CoordinationContextType coordinationContext = new CoordinationContextType() ;
+                    coordinationContext.setCoordinationType(new URI(coordinationTypeURI));
+                    String txId = subTx.get_uid().stringForm();
+                    coordinationContext.setIdentifier(new AttributedURIType("urn:"+ txId)) ;
+                    AttributedUnsignedIntType expiresObject = currentContext.getExpires();
+                    if (expiresObject != null) {
+                        long transactionExpires = currentContext.getExpires().getValue();
+                        if (transactionExpires > 0) {
+                            coordinationContext.setExpires(new AttributedUnsignedIntType(transactionExpires)) ;
+                        }
+                    }
+                    final EndpointReferenceType registrationCoordinator = new EndpointReferenceType(new AttributedURIType(registrationCoordinatorURI)) ;
+                    InstanceIdentifier.setEndpointInstanceIdentifier(registrationCoordinator, txId) ;
+                    coordinationContext.setRegistrationService(registrationCoordinator) ;
+                    coordinationContext.setRegistrationService(registrationCoordinator) ;
+
+                    // now associate the tx id with the sub transaction
+
+                    _theRegistrar.associate(subTx);
+                    return coordinationContext;
+                }
 			}
 			catch (com.arjuna.mw.wsas.exceptions.NoActivityException ex)
 			{
@@ -253,6 +302,15 @@
 		}
 	}
 	
+    private EndpointReferenceType getParticipant(final String id)
+    {
+        final SoapRegistry soapRegistry = SoapRegistry.getRegistry() ;
+        final String participantURI = soapRegistry.getServiceURI(AtomicTransactionConstants.SERVICE_PARTICIPANT) ;
+        final EndpointReferenceType participant = new EndpointReferenceType(new AttributedURIType(participantURI)) ;
+        InstanceIdentifier.setEndpointInstanceIdentifier(participant, id) ;
+        return participant;
+    }
+
 	public final RegistrarImple registrar ()
 	{
 		return _theRegistrar;

Copied: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserSubTransactionImple.java (from rev 24206, labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserSubTransactionImple.java)
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserSubTransactionImple.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserSubTransactionImple.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -0,0 +1,164 @@
+package com.arjuna.mwlabs.wst.at.remote;
+
+import com.arjuna.mw.wstx.logging.wstxLogger;
+import com.arjuna.mw.wsc.context.Context;
+import com.arjuna.mwlabs.wst.at.ContextImple;
+import com.arjuna.mwlabs.wst.at.context.TxContextImple;
+import com.arjuna.webservices.wsat.AtomicTransactionConstants;
+import com.arjuna.webservices.SoapFault;
+import com.arjuna.webservices.wscoor.CoordinationContextType;
+import com.arjuna.wsc.ActivationCoordinator;
+import com.arjuna.wsc.InvalidCreateParametersException;
+import com.arjuna.wsc.messaging.MessageId;
+import com.arjuna.wst.SystemException;
+import com.arjuna.wst.TransactionRolledBackException;
+import com.arjuna.wst.UnknownTransactionException;
+import com.arjuna.wst.WrongStateException;
+
+/**
+ * @message com.arjuna.mwlabs.wst.at.remote.UserSubTransactionImple_1
+ *          [com.arjuna.mwlabs.wst.at.remote.UserSubTransactionImple_1] - Received
+ *          context is null!
+ */
+public class UserSubTransactionImple extends UserTransactionImple
+{
+
+	public UserSubTransactionImple()
+	{
+        super();
+	}
+
+	public void begin () throws WrongStateException, SystemException
+    {
+		begin(0);
+	}
+
+	public void begin (int timeout) throws WrongStateException, SystemException
+	{
+		try
+		{
+			if (_ctxManager.currentTransaction() == null)
+				throw new WrongStateException();
+
+			Context ctx = startTransaction(timeout);
+
+			_ctxManager.resume(new TxContextImple(ctx));
+		}
+		catch (InvalidCreateParametersException ex)
+		{
+			tidyup();
+
+			throw new SystemException(ex.toString());
+		}
+		catch (UnknownTransactionException ex)
+		{
+			tidyup();
+
+			throw new SystemException(ex.toString());
+		}
+		catch (SystemException ex)
+		{
+			tidyup();
+
+			throw ex;
+		}
+	}
+
+	public void commit () throws TransactionRolledBackException,
+            UnknownTransactionException, SecurityException, SystemException, WrongStateException
+	{
+        tidyup();
+        throw new WrongStateException();
+	}
+
+	public void rollback () throws UnknownTransactionException, SecurityException, SystemException, WrongStateException
+	{
+        tidyup();
+        throw new WrongStateException();
+	}
+
+	public String transactionIdentifier ()
+	{
+		try
+		{
+			return _ctxManager.currentTransaction().toString();
+		}
+		catch (SystemException ex)
+		{
+			return "Unknown";
+		}
+		catch (NullPointerException ex)
+		{
+			return "Unknown";
+		}
+	}
+
+	public String toString ()
+	{
+		return transactionIdentifier();
+	}
+
+	/*
+	 * Not sure if this is right as it doesn't map to registering a participant
+	 * with the coordinator.
+	 */
+
+    private final Context startTransaction(int timeout)
+			throws InvalidCreateParametersException,
+			SystemException
+	{
+		try
+		{
+            // TODO: tricks for per app _activationCoordinatorService config, perhaps:
+            //InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("/foo.properties");
+
+
+
+            final CoordinationContextType current = currentCoordinationContext();
+            final Long expires = (timeout > 0 ? new Long(timeout) : null) ;
+            final String messageId = MessageId.getMessageId() ;
+            final CoordinationContextType coordinationContext = ActivationCoordinator.createCoordinationContext(
+                    _activationCoordinatorService, messageId, AtomicTransactionConstants.WSAT_PROTOCOL, expires, current) ;
+            if (coordinationContext == null)
+            {
+                throw new SystemException(
+                    wstxLogger.log_mesg.getString("com.arjuna.mwlabs.wst.at.remote.UserSubTransactionImple_1"));
+            }
+            return new ContextImple(coordinationContext) ;
+		}
+        catch (final InvalidCreateParametersException icpe)
+        {
+            throw icpe ;
+        }
+		catch (final SoapFault sf)
+		{
+			throw new SystemException(sf.getMessage()) ;
+		}
+		catch (final Exception ex)
+		{
+			throw new SystemException(ex.toString());
+		}
+	}
+
+    /**
+     * get a CoordinationContext based on the one stasahed away in the current TxContext
+     */
+    public CoordinationContextType currentCoordinationContext() throws SystemException
+    {
+        final TxContextImple txContext = (TxContextImple)_ctxManager.currentTransaction();
+        final CoordinationContextType current = txContext.context().getCoordinationContext();
+        return current;
+    }
+
+	private final void tidyup ()
+	{
+		try
+		{
+			_ctxManager.suspend();
+		}
+		catch (Exception ex)
+		{
+			ex.printStackTrace();
+		}
+	}
+}
\ No newline at end of file

Modified: labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/classes10/com/arjuna/mwlabs/wst/at/remote/UserTransactionImple.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -408,7 +408,7 @@
 		}
 	}
 
-	private ContextManager _ctxManager = new ContextManager();
-	private String _activationCoordinatorService;
+	protected ContextManager _ctxManager = new ContextManager();
+	protected String _activationCoordinatorService;
 	private Hashtable _completionCoordinators = new Hashtable();
 }

Modified: labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/UserSubTransaction.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/UserSubTransaction.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/UserSubTransaction.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
  * as indicated by the @author tags. 
  * See the copyright.txt in the distribution for a full listing 
  * of individual contributors.
@@ -15,19 +15,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  * 
- * (C) 2005-2006,
+ * (C) 2008,
  * @author JBoss Inc.
  */
-/*
- * Copyright (C) 2003,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: UserTransaction.java,v 1.8.4.1 2005/11/22 10:36:05 kconner Exp $
- */
 
 package com.arjuna.mw.wst11;
 
@@ -46,9 +36,8 @@
  * specification. Therefore, all of the UserTransaction methods implicitly act
  * on the current thread of control.
  *
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: UserTransaction.java,v 1.8.4.1 2005/11/22 10:36:05 kconner Exp $
- * @since XTS 1.0.
+ * @author Andrew Dinn
+ * @version $Id:$
  */
 
 public abstract class UserSubTransaction extends UserTransaction

Modified: labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mw/wst11/deploy/WSTXInitialisation.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -122,7 +122,7 @@
         final String userBa = getService(docElem, "UserBusinessActivity") ;
         final String baManager = getService(docElem, "BusinessActivityManager") ;
 
-        if ((userTx == null) || (txManager == null) || (userBa == null) || (baManager == null))
+        if ((userTx == null) || (userSubTx == null) || (txManager == null) || (userBa == null) || (baManager == null))
         {
             throw new FileNotFoundException(wstxLogger.log_mesg.getString("com.arjuna.mw.wst11.deploy.WSTXI_23"));
         }

Modified: labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/ContextFactoryImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/ContextFactoryImple.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/ContextFactoryImple.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -98,13 +98,6 @@
 	{
 	}
 
-	// TODO interposition
-
-	/*
-	 * If there is a context passed through to create then this newly created
-	 * coordinator should be interposed.
-	 */
-
 	/**
 	 * Creates a coordination context.
 	 *

Modified: labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserSubTransactionImple.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserSubTransactionImple.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/classes11/com/arjuna/mwlabs/wst11/at/remote/UserSubTransactionImple.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -1,18 +1,11 @@
 package com.arjuna.mwlabs.wst11.at.remote;
 
-import com.arjuna.mw.wst11.UserTransaction;
-import com.arjuna.mw.wst11.UserSubTransaction;
-import com.arjuna.mw.wst11.common.Environment;
 import com.arjuna.mw.wstx.logging.wstxLogger;
 import com.arjuna.mw.wsc11.context.Context;
 import com.arjuna.mwlabs.wst11.at.ContextImple;
 import com.arjuna.mwlabs.wst11.at.context.TxContextImple;
-import com.arjuna.mwlabs.wst.at.remote.ContextManager;
 import com.arjuna.webservices11.wsat.AtomicTransactionConstants;
 import com.arjuna.webservices.SoapFault;
-import com.arjuna.webservices11.wsarj.InstanceIdentifier;
-import com.arjuna.webservices11.wscoor.CoordinationConstants;
-import com.arjuna.webservices11.ServiceRegistry;
 import com.arjuna.wsc11.ActivationCoordinator;
 import com.arjuna.wsc.InvalidCreateParametersException;
 import com.arjuna.wsc11.messaging.MessageId;
@@ -20,15 +13,9 @@
 import com.arjuna.wst.TransactionRolledBackException;
 import com.arjuna.wst.UnknownTransactionException;
 import com.arjuna.wst.WrongStateException;
-import com.arjuna.wst11.stub.CompletionStub;
 import org.oasis_open.docs.ws_tx.wscoor._2006._06.CoordinationContextType;
 import org.oasis_open.docs.ws_tx.wscoor._2006._06.CoordinationContext;
 
-import javax.xml.namespace.QName;
-import javax.xml.ws.wsaddressing.W3CEndpointReference;
-import javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder;
-import java.util.Hashtable;
-
 /**
  * @message com.arjuna.mwlabs.wst11.at.remote.UserSubTransactionImple_1
  *          [com.arjuna.mwlabs.wst11.at.remote.UserSubTransactionImple_1] - Received
@@ -169,25 +156,6 @@
         return current;
     }
 
-    /**
-     * Create an endpoint for the local participant service labelled with the current context id which can be passed
-     * to the registration service and handed on to the registered coordinator to call back to this transaction
-     * @param id the current transaction context identifier
-     * @return
-     */
-    private W3CEndpointReference getCompletionParticipant(final String id)
-    {
-        final QName serviceName = AtomicTransactionConstants.COMPLETION_INITIATOR_SERVICE_QNAME;
-        final QName endpointName = AtomicTransactionConstants.COMPLETION_INITIATOR_PORT_QNAME;
-        final String address = ServiceRegistry.getRegistry().getServiceURI(AtomicTransactionConstants.COMPLETION_INITIATOR_SERVICE_NAME);
-        W3CEndpointReferenceBuilder builder = new W3CEndpointReferenceBuilder();
-        builder.serviceName(serviceName);
-        builder.endpointName(endpointName);
-        builder.address(address);
-        InstanceIdentifier.setEndpointInstanceIdentifier(builder, id);
-        return builder.build();
-    }
-
 	private final void tidyup ()
 	{
 		try

Modified: labs/jbosstm/trunk/XTS/WSTX/config/wst.xml
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/config/wst.xml	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/config/wst.xml	2008-12-02 16:41:21 UTC (rev 24215)
@@ -20,13 +20,15 @@
   @author JBoss Inc.
 -->
 <deployment>
-	<service name="UserTransaction">
-		<parameter name="className"
-		value="com.arjuna.mwlabs.wst.at.remote.UserTransactionImple"/>
-
-		<!-- <parameter name="className"
-	value="com.arjuna.mwlabs.wst.at.local.UserTransactionImple"/ -->
-
+    <service name="UserTransaction">
+        <parameter name="className"
+        value="com.arjuna.mwlabs.wst.at.remote.UserTransactionImple"/>
+        <!-- <parameter name="className"
+    value="com.arjuna.mwlabs.wst.at.local.UserTransactionImple"/ -->
+    </service>
+    <service name="UserSubTransaction">
+        <parameter name="className"
+        value="com.arjuna.mwlabs.wst.at.remote.UserSubTransactionImple"/>
 	</service>
 	<service name="TransactionManager">
 		<parameter name="className"

Modified: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/WSTXTestSuite.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/WSTXTestSuite.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/WSTXTestSuite.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -49,6 +49,11 @@
         addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.basic.SuspendTransaction.class));
         addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.basic.ThreadedTransaction.class));
 
+        // subtransaction tests
+        addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.basic.SubTransactionCommit.class));
+        addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.basic.SubTransactionRollback.class));
+        addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.basic.SubTransactionCommitRollbackInPrepare.class));
+        addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.basic.SubTransactionCommitFailInPrepare.class));
         // wst BA tests
         addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.ba.Cancel.class));
         addTest(new junit.framework.TestSuite(com.arjuna.wst.tests.junit.ba.Close.class));

Copied: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommit.java (from rev 24206, labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommit.java)
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommit.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommit.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2008
+ * @author JBoss Inc.
+ */
+
+
+package com.arjuna.wst.tests.junit.basic;
+
+import com.arjuna.mw.wst.TransactionManager;
+import com.arjuna.mw.wst.UserTransaction;
+import com.arjuna.mw.wst.UserSubTransaction;
+import com.arjuna.mw.wst.TxContext;
+import com.arjuna.wst.tests.DemoDurableParticipant;
+import com.arjuna.wst.tests.DemoVolatileParticipant;
+import junit.framework.TestCase;
+
+/**
+ * @author Andrew Dinn
+ * @version $Id:$
+ */
+
+public class SubTransactionCommit extends TestCase
+{
+
+    public static void testSubTransactionCommit()
+            throws Exception
+    {
+        final UserTransaction ut = UserTransaction.getUserTransaction();
+        final UserTransaction ust = UserSubTransaction.getUserTransaction();
+        final TransactionManager tm = TransactionManager.getTransactionManager();
+
+        final DemoDurableParticipant p1 = new DemoDurableParticipant();
+        final DemoVolatileParticipant p2 = new DemoVolatileParticipant();
+        final DemoDurableParticipant p3 = new DemoDurableParticipant();
+        final DemoVolatileParticipant p4 = new DemoVolatileParticipant();
+
+        ut.begin();
+        final TxContext tx = tm.suspend();
+        tm.resume(tx);
+        tm.enlistForDurableTwoPhase(p1, p1.identifier());
+        tm.enlistForVolatileTwoPhase(p2, p2.identifier());
+        ust.begin();
+        final TxContext stx = tm.suspend();
+        tm.resume(stx);
+        tm.enlistForDurableTwoPhase(p3, p3.identifier());
+        tm.enlistForVolatileTwoPhase(p4, p4.identifier());
+
+        tm.resume(tx);
+        ut.commit();
+        assertTrue(p1.prepared() && p1.resolved() && p1.passed());
+        assertTrue(p2.prepared() && p2.resolved() && p2.passed());
+        assertTrue(p3.prepared() && p3.resolved() && p3.passed());
+        assertTrue(p4.prepared() && p4.resolved() && p4.passed());
+    }
+}
\ No newline at end of file

Copied: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitFailInPrepare.java (from rev 24206, labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitFailInPrepare.java)
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitFailInPrepare.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitFailInPrepare.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2008,
+ * @author JBoss Inc.
+ */
+
+package com.arjuna.wst.tests.junit.basic;
+
+import com.arjuna.mw.wst.TransactionManager;
+import com.arjuna.mw.wst.UserTransaction;
+import com.arjuna.mw.wst.UserSubTransaction;
+import com.arjuna.mw.wst.TxContext;
+import com.arjuna.wst.tests.DemoDurableParticipant;
+import com.arjuna.wst.tests.DemoVolatileParticipant;
+import com.arjuna.wst.tests.FailureParticipant;
+import com.arjuna.wst.TransactionRolledBackException;
+import junit.framework.TestCase;
+
+/**
+ * @author Andrew Dinn
+ * @version $Id:$
+ */
+
+public class SubTransactionCommitFailInPrepare extends TestCase
+{
+
+    public static void testSubTransactionCommitFailInPrepare()
+            throws Exception
+    {
+        final UserTransaction ut = UserTransaction.getUserTransaction();
+        final UserTransaction ust = UserSubTransaction.getUserTransaction();
+        final TransactionManager tm = TransactionManager.getTransactionManager();
+
+        final DemoDurableParticipant p1 = new DemoDurableParticipant();
+        final DemoVolatileParticipant p2 = new DemoVolatileParticipant();
+        final FailureParticipant p3 = new FailureParticipant(FailureParticipant.FAIL_IN_PREPARE, FailureParticipant.WRONG_STATE);
+        final DemoVolatileParticipant p4 = new DemoVolatileParticipant();
+
+        ut.begin();
+        final TxContext tx = tm.suspend();
+        tm.resume(tx);
+        tm.enlistForDurableTwoPhase(p1, p1.identifier());
+        tm.enlistForVolatileTwoPhase(p2, p2.identifier());
+        ust.begin();
+        final TxContext stx = tm.suspend();
+        tm.resume(stx);
+        tm.enlistForDurableTwoPhase(p3, "failure in prepare");
+        tm.enlistForVolatileTwoPhase(p4, p4.identifier());
+
+        tm.resume(tx);
+        try {
+        ut.commit();
+            fail("expecting TransactionRolledBackException");
+        } catch (TransactionRolledBackException wse) {
+            // expect this
+        }
+        assertTrue(p1.prepared() && p1.resolved() && !p1.passed());
+        assertTrue(p2.prepared() && p2.resolved() && !p2.passed());
+        assertTrue(!p3.passed());
+        assertTrue(p4.prepared() && p4.resolved() && !p4.passed());
+    }
+}
\ No newline at end of file


Property changes on: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitFailInPrepare.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java (from rev 24206, labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java)
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2008,
+ * @author JBoss Inc.
+ */
+
+package com.arjuna.wst.tests.junit.basic;
+
+import com.arjuna.mw.wst.TransactionManager;
+import com.arjuna.mw.wst.UserTransaction;
+import com.arjuna.mw.wst.UserSubTransaction;
+import com.arjuna.mw.wst.TxContext;
+import com.arjuna.wst.tests.DemoDurableParticipant;
+import com.arjuna.wst.tests.DemoVolatileParticipant;
+import com.arjuna.wst.tests.FailureParticipant;
+import com.arjuna.wst.TransactionRolledBackException;
+import junit.framework.TestCase;
+
+/**
+ * @author Andrew Dinn
+ * @version $Id: $
+ */
+
+public class SubTransactionCommitRollbackInPrepare extends TestCase
+{
+
+    public static void testSubTransactionCommitRollbackInPrepare()
+            throws Exception
+    {
+        final UserTransaction ut = UserTransaction.getUserTransaction();
+        final UserTransaction ust = UserSubTransaction.getUserTransaction();
+        final TransactionManager tm = TransactionManager.getTransactionManager();
+
+        final DemoDurableParticipant p1 = new DemoDurableParticipant();
+        final DemoVolatileParticipant p2 = new DemoVolatileParticipant();
+        final FailureParticipant p3 = new FailureParticipant(FailureParticipant.FAIL_IN_PREPARE, FailureParticipant.NONE);
+        final DemoVolatileParticipant p4 = new DemoVolatileParticipant();
+
+        ut.begin();
+        final TxContext tx = tm.suspend();
+        tm.resume(tx);
+        tm.enlistForDurableTwoPhase(p1, p1.identifier());
+        tm.enlistForVolatileTwoPhase(p2, p2.identifier());
+        ust.begin();
+        final TxContext stx = tm.suspend();
+        tm.resume(stx);
+        tm.enlistForDurableTwoPhase(p3, "failure in prepare");
+        tm.enlistForVolatileTwoPhase(p4, p4.identifier());
+
+        tm.resume(tx);
+        try {
+        ut.commit();
+            fail("expecting TransactionRolledBackException");
+        } catch (TransactionRolledBackException trbe) {
+            // expect this
+        }
+        assertTrue(p1.prepared() && p1.resolved() && !p1.passed());
+        assertTrue(p2.prepared() && p2.resolved() && !p2.passed());
+        assertTrue(!p3.passed());
+        assertTrue(p4.prepared() && p4.resolved() && !p4.passed());
+    }
+}
\ No newline at end of file


Property changes on: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionRollback.java (from rev 24206, labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionRollback.java)
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionRollback.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionRollback.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. 
+ * See the copyright.txt in the distribution for a full listing 
+ * of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2008,
+ * @author JBoss Inc.
+ */
+
+package com.arjuna.wst.tests.junit.basic;
+
+import com.arjuna.mw.wst.TransactionManager;
+import com.arjuna.mw.wst.UserTransaction;
+import com.arjuna.mw.wst.UserSubTransaction;
+import com.arjuna.mw.wst.TxContext;
+import com.arjuna.wst.tests.DemoDurableParticipant;
+import com.arjuna.wst.tests.DemoVolatileParticipant;
+import junit.framework.TestCase;
+
+/**
+ * @author Andrew Dinn
+ * @version $Id: $
+ */
+
+public class SubTransactionRollback extends TestCase
+{
+
+    public static void testSubTransactionRollback()
+            throws Exception
+    {
+        final UserTransaction ut = UserTransaction.getUserTransaction();
+        final UserTransaction ust = UserSubTransaction.getUserTransaction();
+        final TransactionManager tm = TransactionManager.getTransactionManager();
+
+        final DemoDurableParticipant p1 = new DemoDurableParticipant();
+        final DemoVolatileParticipant p2 = new DemoVolatileParticipant();
+        final DemoDurableParticipant p3 = new DemoDurableParticipant();
+        final DemoVolatileParticipant p4 = new DemoVolatileParticipant();
+
+        ut.begin();
+        final TxContext tx = tm.suspend();
+        tm.resume(tx);
+        tm.enlistForDurableTwoPhase(p1, p1.identifier());
+        tm.enlistForVolatileTwoPhase(p2, p2.identifier());
+        ust.begin();
+        final TxContext stx = tm.suspend();
+        tm.resume(stx);
+        tm.enlistForDurableTwoPhase(p3, p3.identifier());
+        tm.enlistForVolatileTwoPhase(p4, p4.identifier());
+
+        tm.resume(tx);
+        ut.rollback();
+
+        assertTrue(p1.resolved() && !p1.passed());
+        assertTrue(p2.resolved() && !p2.passed());
+        assertTrue(p3.resolved() && !p3.passed());
+        assertTrue(p4.resolved() && !p4.passed());
+    }
+}
\ No newline at end of file


Property changes on: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst/tests/junit/basic/SubTransactionRollback.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommit.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommit.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommit.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
  * as indicated by the @author tags. 
  * See the copyright.txt in the distribution for a full listing 
  * of individual contributors.
@@ -15,19 +15,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  * 
- * (C) 2005-2006,
+ * (C) 2008,
  * @author JBoss Inc.
  */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
- */
 
 package com.arjuna.wst11.tests.junit.basic;
 
@@ -37,13 +27,11 @@
 import com.arjuna.mw.wst.TxContext;
 import com.arjuna.wst.tests.DemoDurableParticipant;
 import com.arjuna.wst.tests.DemoVolatileParticipant;
-import com.arjuna.mwlabs.wst11.at.remote.UserSubTransactionImple;
 import junit.framework.TestCase;
 
 /**
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
- * @since 1.0.
+ * @author Andrew Dinn
+ * @version $Id: $
  */
 
 public class SubTransactionCommit extends TestCase

Modified: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitFailInPrepare.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitFailInPrepare.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitFailInPrepare.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
  * as indicated by the @author tags. 
  * See the copyright.txt in the distribution for a full listing 
  * of individual contributors.
@@ -15,19 +15,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  * 
- * (C) 2005-2006,
+ * (C) 2008,
  * @author JBoss Inc.
  */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
- */
 
 package com.arjuna.wst11.tests.junit.basic;
 
@@ -44,8 +34,8 @@
 import junit.framework.TestCase;
 
 /**
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
+ * @author Andrew Dinn
+ * @version $Id:$
  * @since 1.0.
  */
 

Modified: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionCommitRollbackInPrepare.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
  * as indicated by the @author tags. 
  * See the copyright.txt in the distribution for a full listing 
  * of individual contributors.
@@ -15,19 +15,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  * 
- * (C) 2005-2006,
+ * (C) 2008,
  * @author JBoss Inc.
  */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
- */
 
 package com.arjuna.wst11.tests.junit.basic;
 
@@ -39,13 +29,11 @@
 import com.arjuna.wst.tests.DemoVolatileParticipant;
 import com.arjuna.wst.tests.FailureParticipant;
 import com.arjuna.wst.TransactionRolledBackException;
-import com.arjuna.mwlabs.wst11.at.remote.UserSubTransactionImple;
 import junit.framework.TestCase;
 
 /**
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
- * @since 1.0.
+ * @author Andrew Dinn
+ * @version $Id:$
  */
 
 public class SubTransactionCommitRollbackInPrepare extends TestCase

Modified: labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionRollback.java
===================================================================
--- labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionRollback.java	2008-12-02 16:30:05 UTC (rev 24214)
+++ labs/jbosstm/trunk/XTS/WSTX/tests/classes/com/arjuna/wst11/tests/junit/basic/SubTransactionRollback.java	2008-12-02 16:41:21 UTC (rev 24215)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
  * as indicated by the @author tags. 
  * See the copyright.txt in the distribution for a full listing 
  * of individual contributors.
@@ -15,19 +15,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  * 
- * (C) 2005-2006,
+ * (C) 2008,
  * @author JBoss Inc.
  */
-/*
- * Copyright (C) 2002,
- *
- * Arjuna Technologies Limited,
- * Newcastle upon Tyne,
- * Tyne and Wear,
- * UK.
- *
- * $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
- */
 
 package com.arjuna.wst11.tests.junit.basic;
 
@@ -37,13 +27,11 @@
 import com.arjuna.mw.wst.TxContext;
 import com.arjuna.wst.tests.DemoDurableParticipant;
 import com.arjuna.wst.tests.DemoVolatileParticipant;
-import com.arjuna.mwlabs.wst11.at.remote.UserSubTransactionImple;
 import junit.framework.TestCase;
 
 /**
- * @author Mark Little (mark.little at arjuna.com)
- * @version $Id: MultiParticipants.java,v 1.6.8.1 2005/11/22 10:36:11 kconner Exp $
- * @since 1.0.
+ * @author Andrew Dinn
+ * @version $Id:$
  */
 
 public class SubTransactionRollback extends TestCase




More information about the jboss-svn-commits mailing list