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