1 22 package org.jboss.test.cmp2.cmrtransaction.test; 23 24 import javax.naming.InitialContext ; 25 import javax.rmi.PortableRemoteObject ; 26 27 import junit.framework.Test; 28 import org.jboss.test.JBossTestCase; 29 import org.jboss.test.cmp2.cmrtransaction.interfaces.TreeFacadeHome; 30 import org.jboss.test.cmp2.cmrtransaction.interfaces.TreeFacade; 31 32 35 public class CMRTransactionUnitTestCase extends JBossTestCase 36 { 37 39 41 43 public CMRTransactionUnitTestCase(String name) 44 { 45 super(name); 46 } 47 48 50 public void testCMRTransaction() throws Exception 51 { 52 53 InitialContext ctx = getInitialContext(); 54 Object obj = ctx.lookup("cmrTransactionTest/TreeFacadeRemote"); 55 TreeFacadeHome home = (TreeFacadeHome) 56 PortableRemoteObject.narrow(obj, TreeFacadeHome.class); 57 TreeFacade facade = home.create(); 58 facade.setup(); 59 facade.createNodes(); 60 61 int waitTime = 0; 62 63 CMRTransactionThread rearrange = new CMRTransactionThread(facade); 64 rearrange.start(); 65 rearrange.join(); 66 67 if (rearrange.exception != null) 68 { 69 fail(rearrange.exception.getMessage()); 70 } 71 72 assertTrue(rearrange.finished); 73 } 74 75 77 public static Test suite() throws Exception 78 { 79 return getDeploySetup(CMRTransactionUnitTestCase.class, "cmp2-cmrtransaction.jar"); 80 } 81 82 84 class CMRTransactionThread extends Thread 85 { 86 boolean finished = false; 87 Exception exception = null; 88 TreeFacade treeFacade = null; 89 90 CMRTransactionThread(TreeFacade facade) 91 { 92 treeFacade = facade; 93 } 94 95 public void run() 96 { 97 try 98 { 99 treeFacade.rearrangeNodes(); 100 } 101 catch (Exception e) 102 { 103 exception = e; 104 } 105 finally 106 { 107 finished = true; 108 } 109 } 110 } 111 112 } 113 | Popular Tags |