[jboss-svn-commits] JBL Code SVN: r25465 - in labs/jbosstm/trunk: ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Feb 27 14:24:13 EST 2009
Author: mark.little at jboss.com
Date: 2009-02-27 14:24:13 -0500 (Fri, 27 Feb 2009)
New Revision: 25465
Added:
labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/basic/SuspendResume.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/SuspendResume.java
labs/jbosstm/trunk/ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/remote/current/SuspendResume.java
Modified:
labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/CurrentImple.java
Log:
https://jira.jboss.org/jira/browse/JBTM-497
Added: labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/basic/SuspendResume.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/basic/SuspendResume.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/basic/SuspendResume.java 2009-02-27 19:24:13 UTC (rev 25465)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, 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) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * Copyright (C) 2001, 2002,
+ *
+ * Hewlett-Packard Arjuna Labs,
+ * Newcastle upon Tyne,
+ * Tyne and Wear,
+ * UK.
+ *
+ * $Id: JTATest.java 2342 2006-03-30 13:06:17Z $
+ */
+
+package com.hp.mwtests.ts.jta.basic;
+
+import com.hp.mwtests.ts.jta.common.*;
+
+import com.arjuna.ats.jta.*;
+
+import com.arjuna.ats.arjuna.common.*;
+import org.jboss.dtf.testframework.unittest.Test;
+import org.jboss.dtf.testframework.unittest.LocalHarness;
+
+import javax.transaction.*;
+import javax.transaction.xa.*;
+
+import java.lang.IllegalAccessException;
+
+public class SuspendResume extends Test
+{
+ public void run (String[] args)
+ {
+ try
+ {
+ javax.transaction.TransactionManager tm = com.arjuna.ats.jta.TransactionManager
+ .transactionManager();
+
+ if (tm != null)
+ {
+ System.out.println("Starting top-level transaction.");
+
+ tm.begin();
+
+ javax.transaction.Transaction theTransaction = tm.getTransaction();
+
+ if (theTransaction != null)
+ {
+ tm.commit();
+
+ tm.resume(theTransaction);
+ }
+ else
+ {
+ System.err.println("Error - could not get transaction!");
+ tm.rollback();
+ assertFailure();
+ }
+
+ System.out.println("\nTest completed successfully.");
+ assertSuccess();
+ }
+ else
+ {
+ System.err
+ .println("Error - could not get transaction manager!");
+ assertFailure();
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ assertFailure();
+ }
+ }
+
+ public static void main (String[] args)
+ {
+ SuspendResume test = new SuspendResume();
+ test.initialise(null, null, args, new LocalHarness());
+ test.runTest();
+ }
+
+}
Added: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/SuspendResume.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/SuspendResume.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/SuspendResume.java 2009-02-27 19:24:13 UTC (rev 25465)
@@ -0,0 +1,121 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, 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) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * Copyright (C) 2001, 2002,
+ *
+ * Hewlett-Packard Arjuna Labs,
+ * Newcastle upon Tyne,
+ * Tyne and Wear,
+ * UK.
+ *
+ * $Id: JTATest.java 2342 2006-03-30 13:06:17Z $
+ */
+
+package com.hp.mwtests.ts.jta.jts.basic;
+
+import com.arjuna.ats.jta.common.*;
+
+import com.arjuna.ats.internal.jts.ORBManager;
+
+import com.arjuna.orbportability.*;
+
+public class SuspendResume
+{
+
+ public static void main (String[] args)
+ {
+ ORB myORB = null;
+ RootOA myOA = null;
+
+ try
+ {
+ myORB = ORB.getInstance("test");
+ myOA = OA.getRootOA(myORB);
+
+ myORB.initORB(args, null);
+ myOA.initOA();
+
+ ORBManager.setORB(myORB);
+ ORBManager.setPOA(myOA);
+ }
+ catch (Exception e)
+ {
+ System.err.println("Initialisation failed: " + e);
+
+ System.exit(0);
+ }
+
+ jtaPropertyManager.propertyManager
+ .setProperty(
+ com.arjuna.ats.jta.common.Environment.JTA_TM_IMPLEMENTATION,
+ "com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple");
+ jtaPropertyManager.propertyManager
+ .setProperty(
+ com.arjuna.ats.jta.common.Environment.JTA_UT_IMPLEMENTATION,
+ "com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple");
+
+ try
+ {
+ javax.transaction.TransactionManager tm = com.arjuna.ats.jta.TransactionManager
+ .transactionManager();
+
+ if (tm != null)
+ {
+ System.out.println("Starting top-level transaction.");
+
+ tm.begin();
+
+ javax.transaction.Transaction theTransaction = tm
+ .getTransaction();
+
+ if (theTransaction != null)
+ {
+ tm.commit();
+
+ tm.resume(theTransaction);
+ }
+ else
+ {
+ System.err.println("Error - could not get transaction!");
+ tm.rollback();
+ System.exit(0);
+ }
+
+ System.out.println("\nTest completed successfully.");
+ System.exit(0);
+ }
+ else
+ {
+ System.err
+ .println("Error - could not get transaction manager!");
+ System.exit(0);
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ myOA.destroy();
+ myORB.shutdown();
+ }
+
+}
Modified: labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/CurrentImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/CurrentImple.java 2009-02-27 15:14:39 UTC (rev 25464)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/CurrentImple.java 2009-02-27 19:24:13 UTC (rev 25465)
@@ -47,6 +47,7 @@
import com.arjuna.ats.internal.jts.coordinator.CheckedActions;
import com.arjuna.ats.internal.jts.orbspecific.ControlImple;
import com.arjuna.ats.internal.jts.orbspecific.TransactionFactoryImple;
+import com.arjuna.ats.internal.jts.orbspecific.coordinator.ArjunaTransactionImple;
import com.arjuna.ats.internal.arjuna.template.*;
import com.arjuna.ats.internal.arjuna.thread.ThreadActionData;
@@ -838,6 +839,7 @@
}
catch (NullPointerException npx)
{
+ npx.printStackTrace();
invalidControl = true;
}
@@ -856,7 +858,14 @@
if (which != null)
{
- if (which.isLocal())
+ /*
+ * If this is a local transaction and we haven't zero-ed the transaction
+ * reference then resume it. Otherwise go with the Control.
+ */
+
+ ArjunaTransactionImple tx = ((which.getImple() == null) ? null : which.getImple().getImplHandle());
+
+ if (which.isLocal() && (tx != null))
resumeImple(which.getImple());
else
resume(which.getControl());
Added: labs/jbosstm/trunk/ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/remote/current/SuspendResume.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/remote/current/SuspendResume.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/remote/current/SuspendResume.java 2009-02-27 19:24:13 UTC (rev 25465)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, 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) 2005-2006,
+ * @author JBoss Inc.
+ */
+/*
+ * Copyright (C) 1998, 1999, 2000,
+ *
+ * Arjuna Solutions Limited,
+ * Newcastle upon Tyne,
+ * Tyne and Wear,
+ * UK.
+ *
+ * $Id: CurrentTest.java 2342 2006-03-30 13:06:17Z $
+ */
+
+package com.hp.mwtests.ts.jts.remote.current;
+
+import com.hp.mwtests.ts.jts.resources.*;
+import com.hp.mwtests.ts.jts.orbspecific.resources.*;
+import com.hp.mwtests.ts.jts.TestModule.*;
+
+import com.arjuna.orbportability.*;
+
+import com.arjuna.ats.jts.extensions.*;
+
+import com.arjuna.ats.internal.jts.OTSImpleManager;
+import com.arjuna.ats.internal.jts.ORBManager;
+import com.arjuna.ats.internal.jts.orbspecific.TransactionFactoryImple;
+import com.arjuna.ats.internal.jts.orbspecific.CurrentImple;
+import org.jboss.dtf.testframework.unittest.Test;
+import org.jboss.dtf.testframework.unittest.LocalHarness;
+
+import org.omg.CosTransactions.*;
+
+import org.omg.CORBA.IntHolder;
+
+import org.omg.CosTransactions.Unavailable;
+import org.omg.CORBA.SystemException;
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.INVALID_TRANSACTION;
+
+public class SuspendResume extends Test
+{
+
+ public void run (String[] args)
+ {
+ ORB myORB = null;
+ RootOA myOA = null;
+
+ try
+ {
+ myORB = ORB.getInstance("test");
+ myOA = OA.getRootOA(myORB);
+
+ myORB.initORB(args, null);
+ myOA.initOA();
+
+ ORBManager.setORB(myORB);
+ ORBManager.setPOA(myOA);
+ }
+ catch (Exception e)
+ {
+ System.err.println("Initialisation failed: " + e);
+ assertFailure();
+ }
+
+ CurrentImple current = OTSImpleManager.current();
+ Control myControl = null;
+
+ System.out.println("Beginning transaction.");
+
+ try
+ {
+ current.begin();
+
+ myControl = current.get_control();
+
+ if (myControl == null)
+ {
+ System.err.println("Error - control is null!");
+ assertFailure();
+ }
+ }
+ catch (Exception sysEx)
+ {
+ sysEx.printStackTrace(System.err);
+ assertFailure();
+ }
+
+ System.out.println("Committing transaction.");
+
+ try
+ {
+ current.commit(true);
+
+ current.resume(myControl);
+
+ assertSuccess();
+ }
+ catch (Exception e)
+ {
+ System.err.println("commit error: " + e);
+ e.printStackTrace(System.err);
+ assertFailure();
+ }
+
+ myOA.destroy();
+ myORB.shutdown();
+
+ System.out.println("Test completed successfully.");
+ }
+
+ public static void main (String[] args)
+ {
+ SuspendResume ct = new SuspendResume();
+ ct.initialise(null, null, args, new LocalHarness());
+ ct.runTest();
+ }
+}
More information about the jboss-svn-commits
mailing list