[jboss-svn-commits] JBL Code SVN: r31964 - in labs/jbosstm/trunk/ArjunaJTS/jtax: classes/com/arjuna/ats/internal/jta/transaction/jts/jca and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 5 11:39:20 EST 2010
Author: mark.little at jboss.com
Date: 2010-03-05 11:39:20 -0500 (Fri, 05 Mar 2010)
New Revision: 31964
Added:
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/ServerTransactionUnitTest.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/TransactionImporterUnitTest.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/lastresource/LastResourceRecordUnitTest.java
Modified:
labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/jca/TransactionImporterImple.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/UtilsUnitTest.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/SubordinateTxUnitTest.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/XATerminatorImpleUnitTest.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/subordinate/TransactionImpleUnitTest.java
labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/twophase/XAResourceRecordUnitTest.java
Log:
https://jira.jboss.org/jira/browse/JBTM-715
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java 2010-03-05 16:32:26 UTC (rev 31963)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -80,7 +80,7 @@
/**
* @message com.arjuna.ats.internal.jta.resources.jts.orbspecific.nulltransaction
* [com.arjuna.ats.internal.jta.resources.jts.orbspecific.nulltransaction]
- * {0} - null transaction!
+ * {0} - null or invalid transaction!
* @message com.arjuna.ats.internal.jta.resources.jts.orbspecific.xaerror
* [com.arjuna.ats.internal.jta.resources.jts.orbspecific.xaerror] {0}
* caused an XA error: {1} from resource {2} in transaction {3}
@@ -217,27 +217,20 @@
"XAResourceRecord.prepare for " + _tranID);
}
- if (!_valid || (_theXAResource == null))
+ if (!_valid || (_theXAResource == null) || (_tranID == null))
{
- removeConnection();
+ if (jtaxLogger.loggerI18N.isWarnEnabled())
+ {
+ jtaxLogger.loggerI18N
+ .warn(
+ "com.arjuna.ats.internal.jta.resources.jts.orbspecific.nulltransaction",
+ new Object[]
+ { "XAResourceRecord.prepare" });
+ }
- return Vote.VoteRollback;
- }
+ removeConnection();
- if (_tranID == null)
- {
- if (jtaxLogger.loggerI18N.isWarnEnabled())
- {
- jtaxLogger.loggerI18N
- .warn(
- "com.arjuna.ats.internal.jta.resources.jts.orbspecific.nulltransaction",
- new Object[]
- { "XAResourceRecord.prepare" });
- }
-
- removeConnection();
-
- return Vote.VoteRollback;
+ return Vote.VoteRollback;
}
try
@@ -350,9 +343,6 @@
"XAResourceRecord.rollback for " + _tranID);
}
- if (!_valid)
- return;
-
if (_theTransaction != null
&& _theTransaction.getXAResourceState(_theXAResource) == TxInfo.OPTIMIZED_ROLLBACK)
{
@@ -363,7 +353,7 @@
return;
}
- if (_tranID == null)
+ if (!_valid || (_tranID == null))
{
if (jtaxLogger.loggerI18N.isWarnEnabled())
{
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/jca/TransactionImporterImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/jca/TransactionImporterImple.java 2010-03-05 16:32:26 UTC (rev 31963)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/jca/TransactionImporterImple.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -101,6 +101,10 @@
throw new IllegalArgumentException();
TransactionImple recovered = new TransactionImple(actId);
+
+ if (recovered.baseXid() == null)
+ throw new IllegalArgumentException();
+
TransactionImple tx = (TransactionImple) _transactions.get(recovered.baseXid());
if (tx == null)
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/UtilsUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/UtilsUnitTest.java 2010-03-05 16:32:26 UTC (rev 31963)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/basic/UtilsUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -55,6 +55,18 @@
assertTrue(XidUtils.getXid(tx.getControlWrapper().get_control(), false) != null);
+ try
+ {
+ XidUtils.getXid((Control) null, true);
+
+ fail();
+ }
+ catch (final IllegalStateException ex)
+ {
+ }
+
+ assertTrue(XidUtils.getXid(OTSImpleManager.current().get_control(), true) != null);
+
OTSImpleManager.current().commit(true);
}
Added: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/ServerTransactionUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/ServerTransactionUnitTest.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/ServerTransactionUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -0,0 +1,60 @@
+/*
+ * 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) 2004,
+ *
+ * Arjuna Technologies Ltd,
+ * Newcastle upon Tyne,
+ * Tyne and Wear,
+ * UK.
+ *
+ * $Id: xidcheck.java 2342 2006-03-30 13:06:17Z $
+ */
+
+package com.hp.mwtests.ts.jta.jts.jca;
+
+import org.junit.Test;
+
+import com.arjuna.ats.arjuna.ObjectType;
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.ats.arjuna.state.InputObjectState;
+import com.arjuna.ats.arjuna.state.OutputObjectState;
+import com.arjuna.ats.internal.jta.transaction.jts.subordinate.jca.coordinator.ServerTransaction;
+import com.arjuna.ats.jta.xa.XidImple;
+import com.hp.mwtests.ts.jta.jts.common.TestBase;
+
+import static org.junit.Assert.*;
+
+public class ServerTransactionUnitTest extends TestBase
+{
+ @Test
+ public void test () throws Exception
+ {
+ ServerTransaction st = new ServerTransaction(new Uid(), new XidImple(new Uid()));
+ OutputObjectState os = new OutputObjectState();
+
+ assertTrue(st.save_state(os, ObjectType.ANDPERSISTENT));
+
+ InputObjectState is = new InputObjectState(os);
+
+ assertTrue(st.restore_state(is, ObjectType.ANDPERSISTENT));
+ }
+}
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/SubordinateTxUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/SubordinateTxUnitTest.java 2010-03-05 16:32:26 UTC (rev 31963)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/SubordinateTxUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -32,6 +32,7 @@
package com.hp.mwtests.ts.jta.jts.jca;
import org.junit.Test;
+import org.omg.CosTransactions.WrongTransaction;
import com.arjuna.ats.arjuna.common.Uid;
import com.arjuna.ats.internal.jta.transaction.jts.subordinate.jca.SubordinateAtomicTransaction;
@@ -41,6 +42,20 @@
import static org.junit.Assert.*;
+class DummySubordinateAtomicTransaction extends SubordinateAtomicTransaction
+{
+ public DummySubordinateAtomicTransaction ()
+ {
+ super(new Uid());
+ }
+
+ public boolean checkForCurrent ()
+ {
+ return super.checkForCurrent();
+ }
+}
+
+
public class SubordinateTxUnitTest extends TestBase
{
@Test
@@ -66,5 +81,29 @@
SubordinateAtomicTransaction saa2 = new SubordinateAtomicTransaction(new Uid(), xid, 0);
assertEquals(saa2.getXid(), xid);
+
+ try
+ {
+ saa2.end(true);
+
+ fail();
+ }
+ catch (final WrongTransaction ex)
+ {
+ }
+
+ try
+ {
+ saa2.abort();
+
+ fail();
+ }
+ catch (final WrongTransaction ex)
+ {
+ }
+
+ DummySubordinateAtomicTransaction dsat = new DummySubordinateAtomicTransaction();
+
+ assertFalse(dsat.checkForCurrent());
}
}
Added: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/TransactionImporterUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/TransactionImporterUnitTest.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/TransactionImporterUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -0,0 +1,99 @@
+/*
+ * 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) 2004,
+ *
+ * Arjuna Technologies Ltd,
+ * Newcastle upon Tyne,
+ * Tyne and Wear,
+ * UK.
+ *
+ * $Id: xidcheck.java 2342 2006-03-30 13:06:17Z $
+ */
+
+package com.hp.mwtests.ts.jta.jts.jca;
+
+import org.junit.Test;
+
+import com.arjuna.ats.arjuna.common.Uid;
+import com.arjuna.ats.internal.jta.transaction.jts.jca.TransactionImporterImple;
+import com.hp.mwtests.ts.jta.jts.common.TestBase;
+
+import static org.junit.Assert.*;
+
+public class TransactionImporterUnitTest extends TestBase
+{
+ @Test
+ public void test () throws Exception
+ {
+ TransactionImporterImple importer = new TransactionImporterImple();
+
+ try
+ {
+ importer.importTransaction(null);
+
+ fail();
+ }
+ catch (final IllegalArgumentException ex)
+ {
+ }
+
+ try
+ {
+ importer.recoverTransaction(null);
+
+ fail();
+ }
+ catch (final IllegalArgumentException ex)
+ {
+ }
+
+ try
+ {
+ importer.recoverTransaction(new Uid());
+
+ fail();
+ }
+ catch (final IllegalArgumentException ex)
+ {
+ }
+
+ try
+ {
+ importer.getImportedTransaction(null);
+
+ fail();
+ }
+ catch (final IllegalArgumentException ex)
+ {
+ }
+
+ try
+ {
+ importer.removeImportedTransaction(null);
+
+ fail();
+ }
+ catch (final IllegalArgumentException ex)
+ {
+ }
+ }
+}
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/XATerminatorImpleUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/XATerminatorImpleUnitTest.java 2010-03-05 16:32:26 UTC (rev 31963)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/jca/XATerminatorImpleUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -170,6 +170,16 @@
try
{
+ xa.beforeCompletion(xid);
+
+ fail();
+ }
+ catch (final Exception ex)
+ {
+ }
+
+ try
+ {
xa.prepare(xid);
fail();
Added: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/lastresource/LastResourceRecordUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/lastresource/LastResourceRecordUnitTest.java (rev 0)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/lastresource/LastResourceRecordUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -0,0 +1,62 @@
+/*
+ * 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: SimpleTest.java 2342 2006-03-30 13:06:17Z $
+ */
+
+package com.hp.mwtests.ts.jta.jts.lastresource;
+
+import org.junit.Test;
+import org.omg.CosTransactions.Vote;
+
+import com.arjuna.ats.internal.jta.resources.jts.orbspecific.LastResourceRecord;
+import com.arjuna.ats.internal.jta.transaction.jts.TransactionImple;
+import com.hp.mwtests.ts.jta.jts.common.DummyXA;
+import com.hp.mwtests.ts.jta.jts.common.TestBase;
+
+import static org.junit.Assert.*;
+
+public class LastResourceRecordUnitTest extends TestBase
+{
+ @Test
+ public void test () throws Exception
+ {
+ TransactionImple tx = new TransactionImple();
+ LastResourceRecord rec = new LastResourceRecord(tx, new DummyXA(false), tx.getTxId(), null);
+
+ rec.commit();
+
+ assertEquals(rec.prepare(), Vote.VoteCommit);
+
+ assertTrue(rec.toString() != null);
+
+ assertFalse(rec.saveRecord());
+
+ assertTrue(rec.type() != null);
+ }
+}
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/subordinate/TransactionImpleUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/subordinate/TransactionImpleUnitTest.java 2010-03-05 16:32:26 UTC (rev 31963)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/subordinate/TransactionImpleUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -38,11 +38,31 @@
import com.arjuna.ats.internal.jta.transaction.jts.subordinate.TransactionImple;
import com.arjuna.ats.internal.jts.OTSImpleManager;
import com.arjuna.ats.internal.jts.interposition.ServerControlWrapper;
+import com.arjuna.ats.jta.exceptions.InactiveTransactionException;
import com.arjuna.ats.jta.exceptions.InvalidTerminationStateException;
import com.hp.mwtests.ts.jta.jts.common.TestBase;
import static org.junit.Assert.*;
+class DummyTransactionImple extends TransactionImple
+{
+ public DummyTransactionImple(AtomicTransaction imported)
+ {
+ super(imported);
+ }
+
+ public void commitAndDisassociate () throws javax.transaction.RollbackException, javax.transaction.HeuristicMixedException, javax.transaction.HeuristicRollbackException, java.lang.SecurityException, javax.transaction.SystemException, java.lang.IllegalStateException
+ {
+ super.commitAndDisassociate();
+ }
+
+ public void rollbackAndDisassociate () throws java.lang.IllegalStateException, java.lang.SecurityException, javax.transaction.SystemException
+ {
+ super.rollbackAndDisassociate();
+ }
+}
+
+
public class TransactionImpleUnitTest extends TestBase
{
@Test
@@ -55,6 +75,8 @@
assertFalse(tx.equals(null));
assertTrue(tx.equals(tx));
assertFalse(tx.equals(new TransactionImple(new AtomicTransaction())));
+ assertFalse(tx.equals(new Object()));
+ assertTrue(tx.toString() != null);
try
{
@@ -76,6 +98,8 @@
{
}
+ tx.doBeforeCompletion();
+
tx.doPrepare();
try
@@ -108,6 +132,26 @@
{
}
+ tx.doForget();
+
OTSImpleManager.current().rollback();
+
+ DummyTransactionImple dummy = new DummyTransactionImple(new AtomicTransaction());
+
+ try
+ {
+ dummy.commitAndDisassociate();
+ }
+ catch (final InactiveTransactionException ex)
+ {
+ }
+
+ try
+ {
+ dummy.rollbackAndDisassociate();
+ }
+ catch (final InactiveTransactionException ex)
+ {
+ }
}
}
Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/twophase/XAResourceRecordUnitTest.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/twophase/XAResourceRecordUnitTest.java 2010-03-05 16:32:26 UTC (rev 31963)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/tests/classes/com/hp/mwtests/ts/jta/jts/twophase/XAResourceRecordUnitTest.java 2010-03-05 16:39:20 UTC (rev 31964)
@@ -31,6 +31,9 @@
package com.hp.mwtests.ts.jta.jts.twophase;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+
import org.junit.Test;
import org.omg.CORBA.TRANSACTION_ROLLEDBACK;
import org.omg.CORBA.UNKNOWN;
@@ -44,6 +47,7 @@
import com.arjuna.ats.arjuna.state.OutputObjectState;
import com.arjuna.ats.internal.jta.resources.jts.orbspecific.XAResourceRecord;
import com.arjuna.ats.internal.jta.transaction.jts.TransactionImple;
+import com.arjuna.ats.jta.recovery.XARecoveryResource;
import com.arjuna.ats.jta.xa.XidImple;
import com.hp.mwtests.ts.jta.common.DummyRecoverableXAConnection;
import com.hp.mwtests.ts.jta.common.FailureXAResource;
@@ -53,6 +57,25 @@
import static org.junit.Assert.*;
+class DummyXAResourceRecord extends XAResourceRecord
+{
+ public DummyXAResourceRecord (TransactionImple tx, XAResource res, Xid xid, Object[] params)
+ {
+ super(tx, res, xid, params);
+ }
+
+ public void setXAResource (XAResource res)
+ {
+ super.setXAResource(res);
+ }
+
+ public int recover ()
+ {
+ return super.recover();
+ }
+}
+
+
public class XAResourceRecordUnitTest extends TestBase
{
@Test
@@ -66,12 +89,34 @@
xares = new XAResourceRecord(new TransactionImple(), new DummyXA(false), new XidImple(new Uid()), params);
+ xares.merge(null);
+ xares.alter(null);
+
assertTrue(xares.type() != null);
assertTrue(xares.toString() != null);
+
+ assertTrue(xares.get_uid().notEquals(Uid.nullUid()));
}
@Test
+ public void testRecovery () throws Exception
+ {
+ DummyRecoverableXAConnection rc = new DummyRecoverableXAConnection();
+ Object[] params = new Object[1];
+
+ params[XAResourceRecord.XACONNECTION] = rc;
+
+ DummyXAResourceRecord xares = new DummyXAResourceRecord(new TransactionImple(), new DummyXA(false), new XidImple(new Uid()), params);
+
+ assertEquals(xares.getRecoveryCoordinator(), null);
+
+ assertEquals(xares.recover(), XARecoveryResource.FAILED_TO_RECOVER);
+
+ xares.setXAResource(null);
+ }
+
+ @Test
public void testPackUnpack () throws Exception
{
XAResourceRecord xares;
@@ -86,6 +131,8 @@
assertTrue(xares.saveState(os));
+ xares = new XAResourceRecord();
+
InputObjectState is = new InputObjectState(os);
assertTrue(xares.restoreState(is));
@@ -232,5 +279,8 @@
catch (final UNKNOWN ex)
{
}
+
+ assertFalse(xares.propagateOnAbort());
+ assertFalse(xares.propagateOnCommit());
}
}
More information about the jboss-svn-commits
mailing list