Author: rmannibucau
Date: Wed Aug 15 17:57:53 2012
New Revision: 1373541

URL: http://svn.apache.org/viewvc?rev=1373541&view=rev
Log:
TOMEE-375 ability to specify jndi name of the tx mgr

Modified:
    
openejb/trunk/openejb/arquillian/arquillian-openejb-transaction-provider/src/main/java/org/apache/openejb/arquillian/transaction/OpenEJBTransactionProvider.java

Modified: 
openejb/trunk/openejb/arquillian/arquillian-openejb-transaction-provider/src/main/java/org/apache/openejb/arquillian/transaction/OpenEJBTransactionProvider.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-openejb-transaction-provider/src/main/java/org/apache/openejb/arquillian/transaction/OpenEJBTransactionProvider.java?rev=1373541&r1=1373540&r2=1373541&view=diff
==============================================================================
--- 
openejb/trunk/openejb/arquillian/arquillian-openejb-transaction-provider/src/main/java/org/apache/openejb/arquillian/transaction/OpenEJBTransactionProvider.java
 (original)
+++ 
openejb/trunk/openejb/arquillian/arquillian-openejb-transaction-provider/src/main/java/org/apache/openejb/arquillian/transaction/OpenEJBTransactionProvider.java
 Wed Aug 15 17:57:53 2012
@@ -21,43 +21,48 @@ import org.apache.openejb.OpenEJBRuntime
 import org.jboss.arquillian.transaction.spi.provider.TransactionProvider;
 import org.jboss.arquillian.transaction.spi.test.TransactionalTest;
 
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.transaction.TransactionManager;
+
 public class OpenEJBTransactionProvider implements TransactionProvider {
     public static final String CONFIG_PATH = 
"arquillian-transaction-configuration.properties";
 
     @Override
     public void beginTransaction(final TransactionalTest test) {
-        if (accept(test.getManager())) {
-            try {
-                OpenEJB.getTransactionManager().begin();
-            } catch (Exception e) {
-                throw new OpenEJBRuntimeException(e);
-            }
+        try {
+            lookup(test.getManager()).begin();
+        } catch (Exception e) {
+            throw new OpenEJBRuntimeException(e);
         }
     }
 
     @Override
     public void commitTransaction(final TransactionalTest test) {
-        if (accept(test.getManager())) {
-            try {
-                OpenEJB.getTransactionManager().commit();
-            } catch (Exception e) {
-                throw new OpenEJBRuntimeException(e);
-            }
+        try {
+            lookup(test.getManager()).commit();
+        } catch (Exception e) {
+            throw new OpenEJBRuntimeException(e);
         }
     }
 
     @Override
     public void rollbackTransaction(final TransactionalTest test) {
-        if (accept(test.getManager())) {
-            try {
-                OpenEJB.getTransactionManager().rollback();
-            } catch (Exception e) {
-                throw new OpenEJBRuntimeException(e);
-            }
+        try {
+            lookup(test.getManager()).rollback();
+        } catch (Exception e) {
+            throw new OpenEJBRuntimeException(e);
+        }
+    }
+
+    private static TransactionManager lookup(final String manager) throws 
NamingException {
+        if (builtIn(manager)) {
+            return OpenEJB.getTransactionManager();
         }
+        return (TransactionManager) new InitialContext().lookup(manager);
     }
 
-    private boolean accept(final String manager) {
+    private static boolean builtIn(final String manager) {
         return manager == null || manager.isEmpty()
                     || "openejb".equalsIgnoreCase(manager)
                     || "tomee".equalsIgnoreCase(manager);


Reply via email to