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 {