You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/01/10 05:24:01 UTC

svn commit: r494702 - in /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler: classic/Assembler.java classic/AssemblerTool.java dynamic/DynamicAssembler.java

Author: dblevins
Date: Tue Jan  9 20:24:00 2007
New Revision: 494702

URL: http://svn.apache.org/viewvc?view=rev&rev=494702
Log:
type checks on security and transaction

Modified:
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/dynamic/DynamicAssembler.java

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?view=diff&rev=494702&r1=494701&r2=494702
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Tue Jan  9 20:24:00 2007
@@ -390,13 +390,15 @@
         return securityService;
     }
 
-    public static SecurityService create(SecurityServiceInfo service) {
-        ObjectRecipe securityServiceRecipe = new ObjectRecipe(service.className, service.properties);
-        SecurityService securityService = (SecurityService) securityServiceRecipe.create();
-        return securityService;
+    public static SecurityService create(SecurityServiceInfo serviceInfo) throws OpenEJBException {
+        ObjectRecipe securityServiceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.properties);
+        Object service = securityServiceRecipe.create();
+        checkImplementation(SECURITY_SERVICE, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
+
+        return (SecurityService) service;
     }
 
-    private void createTransactionManager(TransactionServiceInfo transactionService) throws NamingException {
+    private void createTransactionManager(TransactionServiceInfo transactionService) throws NamingException, OpenEJBException {
         TransactionManager unwrappedTransactionManager = create(transactionService);
         TransactionManager transactionManager = install(this.containerSystem, unwrappedTransactionManager);
 
@@ -415,10 +417,11 @@
         return transactionManager;
     }
 
-    public static TransactionManager create(TransactionServiceInfo transactionService) {
-        TransactionServiceInfo service = transactionService;
-        ObjectRecipe txServiceRecipe = new ObjectRecipe(service.className, service.properties);
-        TransactionManager unwrappedTransactionManager = (TransactionManager) txServiceRecipe.create();
-        return unwrappedTransactionManager;
+    public static TransactionManager create(TransactionServiceInfo transactionService) throws OpenEJBException {
+        TransactionServiceInfo serviceInfo = transactionService;
+        ObjectRecipe txServiceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.properties);
+        Object service = txServiceRecipe.create();
+        checkImplementation(TRANSACTION_MANAGER, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
+        return (TransactionManager) service;
     }
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java?view=diff&rev=494702&r1=494701&r2=494702
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java Tue Jan  9 20:24:00 2007
@@ -26,6 +26,7 @@
 import javax.naming.InitialContext;
 import javax.resource.spi.ConnectionManager;
 import javax.resource.spi.ManagedConnectionFactory;
+import javax.transaction.TransactionManager;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Properties;
@@ -39,20 +40,16 @@
 
     public static final Class PROXY_FACTORY = org.apache.openejb.util.proxy.ProxyFactory.class;
     public static final Class SECURITY_SERVICE = org.apache.openejb.spi.SecurityService.class;
-    public static final Class TRANSACTION_SERVICE = org.apache.openejb.spi.TransactionService.class;
+    public static final Class TRANSACTION_MANAGER = TransactionManager.class;
     public static final Class CONNECTION_MANAGER = javax.resource.spi.ConnectionManager.class;
     public static final Class CONNECTOR = javax.resource.spi.ManagedConnectionFactory.class;
 
     protected static final Messages messages = new Messages("org.apache.openejb.util.resources");
     protected static final SafeToolkit toolkit = SafeToolkit.getToolkit("AssemblerTool");
-    protected static final Map<String, ClassLoader> codebases = new HashMap<String, ClassLoader>();
 
     protected Properties props;
 
     static {
-        ClassLoader cl = ClassLoader.getSystemClassLoader();
-        codebases.put("CLASSPATH", cl);
-
         System.setProperty("noBanner", "true");
     }
 
@@ -351,7 +348,7 @@
 
     }
 
-    protected void checkImplementation(Class intrfce, Class factory, String serviceType, String serviceName) throws OpenEJBException {
+    protected static void checkImplementation(Class intrfce, Class factory, String serviceType, String serviceName) throws OpenEJBException {
         if (!intrfce.isAssignableFrom(factory)) {
             handleException("init.0100", serviceType, serviceName, factory.getName(), intrfce.getName());
         }
@@ -386,11 +383,11 @@
     /*------------------------------------------------------*/
     /*    Methods for easy exception handling               */
     /*------------------------------------------------------*/
-    public void handleException(String errorCode, Object... args) throws OpenEJBException {
+    public static void handleException(String errorCode, Object... args) throws OpenEJBException {
         throw new OpenEJBException(messages.format(errorCode, args));
     }
 
-    public void handleException(String errorCode) throws OpenEJBException {
+    public static void handleException(String errorCode) throws OpenEJBException {
         throw new OpenEJBException(messages.format(errorCode));
     }
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/dynamic/DynamicAssembler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/dynamic/DynamicAssembler.java?view=diff&rev=494702&r1=494701&r2=494702
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/dynamic/DynamicAssembler.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/dynamic/DynamicAssembler.java Tue Jan  9 20:24:00 2007
@@ -37,42 +37,9 @@
  */
 public class DynamicAssembler {
     private final CoreContainerSystem system;
-    private final TransactionManager transactionManager;
-    private final SecurityService securityService;
 
     public DynamicAssembler() {
-        this(null, null);
-    }
-
-    public DynamicAssembler(TransactionManager transactionManager, SecurityService securityService) {
-
-        Assembler.installNaming();
-
         system = new CoreContainerSystem();
-        try {
-            if (transactionManager == null){
-                // TODO: get some defaults
-                TransactionServiceInfo transactionServiceInfo = new TransactionServiceInfo();
-                transactionServiceInfo.className = "org.apache.geronimo.transaction.manager.GeronimoTransactionManager";
-                transactionServiceInfo.properties = new Properties();
-//                transactionServiceInfo.serviceName = ""
-                transactionManager = Assembler.create(transactionServiceInfo);
-            }
-            this.transactionManager = transactionManager = Assembler.install(system, transactionManager);
-        } catch (NamingException e) {
-            throw new RuntimeException("Could not install TransactionManager", e);
-        }
-
-        try {
-            if (securityService == null){
-                // TODO: get some defaults
-                SecurityServiceInfo securityServiceInfo = new SecurityServiceInfo();
-                securityService = Assembler.create(securityServiceInfo);
-            }
-            this.securityService = securityService = Assembler.install(system, securityService);
-        } catch (NamingException e) {
-            throw new RuntimeException("Could not install SecurityService", e);
-        }
     }
 
     public void add(InfoObject info) throws OpenEJBException {