[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