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/16 02:34:45 UTC
svn commit: r496566 - in
/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb:
alt/config/ConfigurationFactory.java assembler/classic/Assembler.java
Author: dblevins
Date: Mon Jan 15 17:34:45 2007
New Revision: 496566
URL: http://svn.apache.org/viewvc?view=rev&rev=496566
Log:
build config info as assembler runs and keep in system instance
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java?view=diff&rev=496566&r1=496565&r2=496566
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java Mon Jan 15 17:34:45 2007
@@ -124,7 +124,7 @@
for (String pathname : jarList) {
File jarFile = new File(pathname);
-
+
AppInfo appInfo = configureApplication(jarFile);
appInfos.add(appInfo);
@@ -154,7 +154,6 @@
initSecutityService(openejb, sys.facilities);
- SystemInstance.get().setComponent(OpenEjbConfiguration.class, sys);
return sys;
}
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=496566&r1=496565&r2=496566
==============================================================================
--- 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 Mon Jan 15 17:34:45 2007
@@ -75,6 +75,7 @@
private final JndiBuilder jndiBuilder;
private TransactionManager transactionManager;
private SecurityService securityService;
+ private OpenEjbConfigurationFactory configFactory;
public org.apache.openejb.spi.ContainerSystem getContainerSystem() {
return containerSystem;
@@ -99,6 +100,21 @@
containerSystem = new CoreContainerSystem();
jndiBuilder = new JndiBuilder(containerSystem.getJNDIContext());
+
+ setConfiguration(new OpenEjbConfiguration());
+ }
+
+ private void setConfiguration(OpenEjbConfiguration config) {
+ this.config = config;
+ if (config.containerSystem == null) {
+ config.containerSystem = new ContainerSystemInfo();
+ }
+
+ if (config.facilities == null) {
+ config.facilities = new FacilitiesInfo();
+ }
+
+ SystemInstance.get().setComponent(OpenEjbConfiguration.class, this.config);
}
public void init(Properties props) throws OpenEJBException {
@@ -109,9 +125,9 @@
className = props.getProperty("openejb.configurator", "org.apache.openejb.alt.config.ConfigurationFactory");
}
- OpenEjbConfigurationFactory configFactory = (OpenEjbConfigurationFactory) toolkit.newInstance(className);
+ configFactory = (OpenEjbConfigurationFactory) toolkit.newInstance(className);
configFactory.init(props);
- config = configFactory.getOpenEjbConfiguration();
+
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
}
@@ -148,6 +164,7 @@
public void build() throws OpenEJBException {
setContext(new HashMap<String, Object>());
try {
+ OpenEjbConfiguration config = configFactory.getOpenEjbConfiguration();
buildContainerSystem(config);
} catch (OpenEJBException ae) {
/* OpenEJBExceptions contain useful information and are debbugable.
@@ -374,6 +391,9 @@
}
InitialContext cntx = result;
containerSystem.getJNDIContext().bind("java:openejb/remote_jndi_contexts/" + contextInfo.id, cntx);
+
+ // Update the config tree
+ config.facilities.remoteJndiContexts.add(contextInfo);
}
public void createContainer(ContainerInfo serviceInfo) throws OpenEJBException, NamingException {
@@ -399,6 +419,9 @@
props.put(serviceInfo.id, service);
containerSystem.addContainer(serviceInfo.id, (Container) service);
+
+ // Update the config tree
+ config.containerSystem.containers.add(serviceInfo);
}
public void createProxyFactory(IntraVmServerInfo serviceInfo) throws OpenEJBException, NamingException {
@@ -423,6 +446,9 @@
props.put(interfce.getName(), service);
props.put(serviceInfo.serviceType, service);
props.put(serviceInfo.id, service);
+
+ // Update the config tree
+ config.facilities.intraVmServer = serviceInfo;
}
public void createConnector(ConnectorInfo conInfo) throws OpenEJBException, NamingException {
@@ -447,6 +473,9 @@
ConnectorReference reference = new ConnectorReference(connectionManager, managedConnectionFactory);
containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + conInfo.connectorId, reference);
+
+ // Update the config tree
+ config.facilities.connectors.add(conInfo);
}
public void createConnectionManager(ConnectionManagerInfo serviceInfo) throws OpenEJBException, java.lang.reflect.InvocationTargetException, IllegalAccessException, NoSuchMethodException, NamingException {
@@ -472,9 +501,11 @@
props.put(serviceInfo.serviceType, service);
props.put(serviceInfo.id, service);
+ // Update the config tree
+ config.facilities.connectionManagers.add(serviceInfo);
}
- public void createSecurityService(ServiceInfo serviceInfo) throws Exception {
+ public void createSecurityService(SecurityServiceInfo serviceInfo) throws Exception {
ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.factoryMethod, serviceInfo.constructorArgs.toArray(new String[0]), null);
serviceRecipe.setAllProperties(serviceInfo.properties);
@@ -495,6 +526,9 @@
props.put(serviceInfo.id, service);
this.securityService = (SecurityService) service;
+
+ // Update the config tree
+ config.facilities.securityService = serviceInfo;
}
public void createTransactionManager(TransactionServiceInfo serviceInfo) throws NamingException, OpenEJBException {
@@ -518,6 +552,9 @@
props.put(serviceInfo.id, service);
this.transactionManager = (TransactionManager) service;
+
+ // Update the config tree
+ config.facilities.transactionService = serviceInfo;
// todo find a better place for this