use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class NestedTester method test.
@Test
public void test() {
boolean registerSubtran = false;
boolean doAbort = false;
DemoResource r = null;
DemoSubTranResource sr = null;
ORB myORB = null;
RootOA myOA = null;
try {
myORB = ORB.getInstance("test");
myOA = OA.getRootOA(myORB);
myORB.initORB(new String[] {}, null);
myOA.initOA();
ORBManager.setORB(myORB);
ORBManager.setPOA(myOA);
org.omg.CosTransactions.Current current = OTSManager.get_current();
r = new DemoResource();
sr = new DemoSubTranResource();
current.begin();
current.begin();
current.begin();
sr.registerResource(registerSubtran);
r.registerResource();
System.out.println("committing first nested transaction");
current.commit(true);
System.out.println("committing second nested transaction");
current.commit(true);
if (!doAbort) {
System.out.println("committing top-level transaction");
current.commit(true);
} else {
System.out.println("aborting top-level transaction");
current.rollback();
}
System.out.println("Test completed successfully.");
if ((!doAbort) && (!registerSubtran) && (sr.getNumberOfSubtransactionsRolledBack() == 0) && (sr.getNumberOfSubtransactionsCommitted() == 1) && (sr.getResourceTrace().getTrace() == ResourceTrace.ResourceTracePrepareCommit) && (r.getResourceTrace().getTrace() == ResourceTrace.ResourceTracePrepareCommit)) {
// assertSuccess();
} else {
if ((doAbort) && (!registerSubtran) && (sr.getNumberOfSubtransactionsRolledBack() == 0) && (sr.getNumberOfSubtransactionsCommitted() == 1) && (sr.getResourceTrace().getTrace() == ResourceTrace.ResourceTraceRollback) && (r.getResourceTrace().getTrace() == ResourceTrace.ResourceTraceRollback)) {
// assertSuccess();
} else {
if ((!doAbort) && (registerSubtran) && (sr.getNumberOfSubtransactionsRolledBack() == 0) && (sr.getNumberOfSubtransactionsCommitted() == 1) && (sr.getResourceTrace().getTrace() == ResourceTrace.ResourceTraceNone) && (r.getResourceTrace().getTrace() == ResourceTrace.ResourceTraceCommitOnePhase)) {
// assertSuccess();
} else {
if ((doAbort) && (registerSubtran) && (sr.getNumberOfSubtransactionsRolledBack() == 0) && (sr.getNumberOfSubtransactionsCommitted() == 1) && (sr.getResourceTrace().getTrace() == ResourceTrace.ResourceTraceNone) && (r.getResourceTrace().getTrace() == ResourceTrace.ResourceTraceRollback)) {
// assertSuccess();
} else
fail();
}
}
}
} catch (UserException e) {
fail("Caught UserException: " + e);
e.printStackTrace(System.err);
} catch (SystemException e) {
fail("Caught SystemException: " + e);
e.printStackTrace(System.err);
}
myOA.shutdownObject(r);
myOA.shutdownObject(sr);
myOA.destroy();
myORB.shutdown();
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class TransactionTest3 method test.
@Test
public void test() throws Exception {
ORB myORB = null;
RootOA myOA = null;
myORB = ORB.getInstance("test");
myOA = OA.getRootOA(myORB);
myORB.initORB(new String[] {}, null);
myOA.initOA();
ORBManager.setORB(myORB);
ORBManager.setPOA(myOA);
try {
OTSManager.get_current().begin();
Control cont = OTSManager.get_current().get_control();
OTSManager.get_current().commit(true);
OTSManager.get_current().resume(cont);
System.out.println("\nPassed.");
} catch (Throwable e) {
fail("caught: " + e);
e.printStackTrace();
}
myOA.destroy();
myORB.shutdown();
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class TransactionTest4 method test.
@Test
public void test() throws Exception {
ORB myORB = null;
RootOA myOA = null;
myORB = ORB.getInstance("test");
myOA = OA.getRootOA(myORB);
myORB.initORB(new String[] {}, null);
myOA.initOA();
ORBManager.setORB(myORB);
ORBManager.setPOA(myOA);
try {
OTSManager.get_current().begin();
Control cont = OTSManager.get_current().get_control();
OTSManager.get_current().commit(true);
OTSManager.get_current().resume(cont);
cont = OTSManager.get_current().suspend();
System.out.println("\nPassed.");
} catch (Throwable e) {
fail("caught: " + e);
e.printStackTrace();
}
myOA.destroy();
myORB.shutdown();
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class TransactionTest5 method test.
@Test
public void test() throws Exception {
ORB myORB = null;
RootOA myOA = null;
try {
myORB = ORB.getInstance("test");
myOA = OA.getRootOA(myORB);
myORB.initORB(new String[] {}, null);
myOA.initOA();
ORBManager.setORB(myORB);
ORBManager.setPOA(myOA);
} catch (Exception e) {
System.err.println("Initialisation failed: " + e);
}
try {
OTSManager.get_current().begin();
Control cont = OTSManager.get_current().get_control();
OTSManager.get_current().commit(true);
OTSManager.get_current().resume(cont);
OTSManager.get_current().rollback_only();
System.out.println("\nFailed.");
} catch (org.omg.CosTransactions.NoTransaction ex) {
System.out.println("\nPassed.");
} catch (Throwable e) {
fail("caught: " + e);
e.printStackTrace();
}
myOA.destroy();
myORB.shutdown();
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class ArjunaNestingTest method run.
@Test
public void run() throws Exception {
ORB myORB = null;
RootOA myOA = null;
myORB = ORB.getInstance("test");
myOA = OA.getRootOA(myORB);
myORB.initORB(new String[] {}, null);
myOA.initOA();
ORBManager.setORB(myORB);
ORBManager.setPOA(myOA);
boolean doAbort = false;
boolean registerSubtran = false;
org.omg.CosTransactions.Current current = OTSManager.get_current();
DemoArjunaResource sr = new DemoArjunaResource();
try {
current.begin();
current.begin();
current.begin();
} catch (SystemException sysEx) {
fail("Unexpected system exception:" + sysEx);
sysEx.printStackTrace(System.err);
} catch (UserException se) {
fail("Unexpected user exception:" + se);
se.printStackTrace(System.err);
}
try {
sr.registerResource(registerSubtran);
} catch (SystemException ex1) {
fail("Unexpected system exception: " + ex1);
ex1.printStackTrace(System.err);
} catch (Exception e) {
fail("call to registerSubtran failed: " + e);
e.printStackTrace(System.err);
}
try {
System.out.println("committing first nested transaction");
current.commit(true);
System.out.println("committing second nested transaction");
current.commit(true);
if (!doAbort) {
System.out.println("committing top-level transaction");
current.commit(true);
} else {
System.out.println("aborting top-level transaction");
current.rollback();
}
} catch (Exception ex) {
fail("Caught unexpected exception: " + ex);
ex.printStackTrace(System.err);
}
myOA.shutdownObject(sr);
myOA.destroy();
myORB.shutdown();
}
Aggregations