use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class GridTest method test.
@Test
public void test() {
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);
TransactionFactoryImple theOTS = new TransactionFactoryImple();
Control myControl;
grid_i localGrid = new grid_i(100, 100);
int h, w, v;
myControl = theOTS.create(0);
assertNotNull(myControl);
h = localGrid.height();
w = localGrid.width();
localGrid.set(2, 4, 123, myControl);
v = localGrid.get(2, 4, myControl);
// no problem setting and getting the elememt:
System.out.println("grid[2,4] is " + v);
assertEquals(123, v);
Terminator handle = myControl.get_terminator();
try {
if (handle != null) {
handle.commit(false);
} else
System.err.println("Error - no transaction terminator!");
} catch (Exception ex) {
System.out.println("Test error! Caught: " + ex);
}
ORBManager.getPOA().shutdownObject(theOTS);
ORBManager.getPOA().shutdownObject(localGrid);
} catch (UserException e) {
fail("Caught UserException: " + e);
e.printStackTrace();
} catch (SystemException e) {
fail("Caught SystemException: " + e);
e.printStackTrace();
}
System.out.println("\nWill now try different thread terminating transaction.\n");
try {
org.omg.CosTransactions.Current current = OTSManager.get_current();
System.out.println("Starting new transaction.");
current.begin();
Control tc = current.get_control();
if (tc != null) {
System.out.println("Creating new thread.");
TransactionalThread tranThread = new TransactionalThread(tc);
System.out.println("Waiting for thread to terminate transaction.\n");
tranThread.start();
while (!tranThread.finished()) Thread.yield();
System.out.println("\nCreator will now attempt to rollback transaction. Should fail.");
try {
current.rollback();
fail("Error - managed to rollback transaction!");
} catch (NoTransaction e1) {
System.out.println("Correct termination - caught: " + e1);
} catch (INVALID_TRANSACTION e2) {
System.out.println("Correct termination - caught: " + e2);
} catch (Exception e3) {
fail("Wrong termination - caught unexpected exception: " + e3);
e3.printStackTrace();
}
System.out.println("Test completed successfully.");
} else
System.err.println("Error - null transaction control!");
} catch (Exception e) {
System.out.println("Caught unexpected exception: " + e);
}
myOA.destroy();
myORB.shutdown();
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class ExplicitStackServer method main.
public static void main(String[] args) throws Exception {
ServerORB orb = new ServerORB();
ORB myORB = orb.getORB();
RootOA myOA = orb.getOA();
String refFile = args[0];
ExplicitStackPOATie theObject = new ExplicitStackPOATie(new ExplicitStackImple());
myOA.objectIsReady(theObject);
Services serv = new Services(myORB);
try {
TestUtility.registerService(refFile, myORB.orb().object_to_string(myOA.corbaReference(theObject)));
System.out.println("Ready");
myOA.run();
} catch (Exception e) {
e.printStackTrace();
}
myOA.shutdownObject(theObject);
System.out.println("**ExplicitStackServer exiting**");
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class HammerServer method main.
public static void main(String[] args) throws Exception {
ServerORB orb = new ServerORB();
ORB myORB = orb.getORB();
RootOA myOA = orb.getOA();
String refFile = args[0];
HammerPOATie theObject = new HammerPOATie(new HammerObject());
myOA.objectIsReady(theObject);
Services serv = new Services(myORB);
try {
TestUtility.registerService(refFile, myORB.orb().object_to_string(HammerHelper.narrow(myOA.corbaReference(theObject))));
System.out.println("\nIOR file: " + refFile);
System.out.println("Ready");
// assertReady();
myOA.run();
} catch (Exception e) {
// fail("HammerServer caught exception: "+e);
e.printStackTrace(System.err);
}
myOA.shutdownObject(theObject);
System.out.println("**HammerServer exiting**");
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class SuspendResume 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);
CurrentImple current = OTSImpleManager.current();
Control myControl = null;
System.out.println("Beginning transaction.");
try {
current.begin();
myControl = current.get_control();
assertNotNull(myControl);
} catch (Exception sysEx) {
sysEx.printStackTrace(System.err);
fail();
}
System.out.println("Committing transaction.");
try {
current.commit(true);
current.resume(myControl);
} catch (Exception e) {
fail("commit error: " + e);
e.printStackTrace(System.err);
}
myOA.destroy();
myORB.shutdown();
System.out.println("Test completed successfully.");
}
use of com.arjuna.orbportability.ORB in project narayana by jbosstm.
the class GridClient 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);
TransactionFactory theOTS = null;
Control myControl = null;
grid gridVar = null;
int h = -1, w = -1, v = -1;
String gridReference = "/tmp/grid.ref";
String serverName = "Grid";
if (System.getProperty("os.name").startsWith("Windows")) {
gridReference = "C:\\temp\\grid.ref";
}
Services serv = new Services(myORB);
try {
String[] params = new String[1];
params[0] = Services.otsKind;
org.omg.CORBA.Object obj = serv.getService(Services.transactionService, params);
params = null;
theOTS = TransactionFactoryHelper.narrow(obj);
} catch (Exception e) {
fail("Unexpected bind exception: " + e);
}
System.out.println("Creating transaction.");
try {
myControl = theOTS.create(0);
} catch (Exception e) {
fail("Create call failed: " + e);
e.printStackTrace();
}
try {
gridVar = gridHelper.narrow(serv.getService(gridReference, null, Services.FILE));
} catch (Exception e) {
fail("Grid bind failed: " + e);
}
try {
h = gridVar.height();
w = gridVar.width();
} catch (Exception e) {
fail("Grid invocation failed: " + e);
}
System.out.println("height is " + h);
System.out.println("width is " + w);
try {
System.out.println("calling set");
gridVar.set(2, 4, 123, myControl);
System.out.println("calling get");
v = gridVar.get(2, 4, myControl);
} catch (Exception sysEx) {
fail("Grid set/get failed: " + sysEx);
}
// no problem setting and getting the elememt:
System.out.println("grid[2,4] is " + v);
// sanity check: make sure we got the value 123 back:
if (v != 123) {
// oops - we didn't:
fail("something went seriously wrong");
try {
myControl.get_terminator().rollback();
} catch (Exception e) {
}
} else {
System.out.println("Committing transaction.");
try {
Terminator handle = myControl.get_terminator();
handle.commit(true);
} catch (Exception sysEx) {
fail("Transaction commit error: " + sysEx);
}
}
try {
OTSManager.destroyControl(myControl);
} catch (Exception e) {
fail("Caught destroy exception: " + e);
}
myOA.destroy();
myORB.shutdown();
System.out.println("Test completed successfully.");
}
Aggregations