Title: [2589] branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment: Configurations now only use ConfigurationData for construction, and configuration stores produce ConfigurationData insted of GBeanData.
Revision
2589
Author
dain
Date
2006-03-31 01:47:22 -0500 (Fri, 31 Mar 2006)

Log Message

Configurations now only use ConfigurationData for construction, and configuration stores produce ConfigurationData insted of GBeanData.
The serialized format of a configuration is now simply a serialized ConfigurationData.

Modified Paths

Diff

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java (2588 => 2589)

--- branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java	2006-03-29 22:21:32 UTC (rev 2588)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java	2006-03-31 06:47:22 UTC (rev 2589)
@@ -47,26 +47,26 @@
  */
 package org.openejb.deployment;
 
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.List;
-import java.io.File;
-import java.io.IOException;
-import java.io.ByteArrayOutputStream;
-import java.io.ObjectOutputStream;
-import java.net.URL;
-import java.net.URI;
-import java.net.MalformedURLException;
 
+import junit.framework.TestCase;
 import org.apache.geronimo.connector.ActivationSpecWrapperGBean;
 import org.apache.geronimo.connector.ResourceAdapterModuleImplGBean;
 import org.apache.geronimo.connector.ResourceAdapterWrapperGBean;
 import org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinatorGBean;
 import org.apache.geronimo.connector.work.GeronimoWorkManagerGBean;
+import org.apache.geronimo.deployment.util.DeploymentUtil;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
@@ -76,37 +76,32 @@
 import org.apache.geronimo.j2ee.management.impl.J2EEServerImpl;
 import org.apache.geronimo.kernel.Jsr77Naming;
 import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.KernelFactory;
+import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.config.ConfigurationData;
-import org.apache.geronimo.kernel.config.EditableKernelConfigurationManager;
-import org.apache.geronimo.kernel.config.ConfigurationUtil;
-import org.apache.geronimo.kernel.config.ConfigurationStore;
 import org.apache.geronimo.kernel.config.ConfigurationManager;
+import org.apache.geronimo.kernel.config.ConfigurationStore;
+import org.apache.geronimo.kernel.config.ConfigurationUtil;
+import org.apache.geronimo.kernel.config.EditableKernelConfigurationManager;
 import org.apache.geronimo.kernel.config.InvalidConfigException;
 import org.apache.geronimo.kernel.config.NoSuchConfigException;
-import org.apache.geronimo.kernel.config.Configuration;
-import org.apache.geronimo.kernel.config.ConfigurationResolver;
-import org.apache.geronimo.kernel.config.ConfigurationModuleType;
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.kernel.repository.DefaultArtifactManager;
 import org.apache.geronimo.kernel.repository.DefaultArtifactResolver;
-import org.apache.geronimo.kernel.repository.ImportType;
 import org.apache.geronimo.kernel.repository.Environment;
+import org.apache.geronimo.kernel.repository.ImportType;
 import org.apache.geronimo.pool.ThreadPool;
+import org.apache.geronimo.system.serverinfo.BasicServerInfo;
 import org.apache.geronimo.timer.vm.VMStoreThreadPooledNonTransactionalTimer;
 import org.apache.geronimo.timer.vm.VMStoreThreadPooledTransactionalTimer;
 import org.apache.geronimo.transaction.context.TransactionContextManagerGBean;
 import org.apache.geronimo.transaction.manager.TransactionManagerImplGBean;
 import org.apache.geronimo.transaction.manager.XidFactoryImplGBean;
-import org.apache.geronimo.system.serverinfo.BasicServerInfo;
-import org.apache.geronimo.deployment.util.DeploymentUtil;
 import org.apache.geronimo.webservices.SoapHandler;
 import org.apache.geronimo.webservices.WebServiceContainer;
+import org.openejb.ContainerIndex;
 import org.openejb.deployment.mdb.mockra.MockActivationSpec;
 import org.openejb.deployment.mdb.mockra.MockResourceAdapter;
-import org.openejb.ContainerIndex;
-import junit.framework.TestCase;
 
 /**
  * @version $Revision$ $Date$
@@ -294,28 +289,16 @@
             configs.remove(configID);
         }
 
-        public GBeanData loadConfiguration(Artifact configId) throws NoSuchConfigException, IOException, InvalidConfigException {
-            AbstractName configurationObjectName = Configuration.getConfigurationAbstractName(configId);
-            GBeanData configData = new GBeanData(configurationObjectName, Configuration.GBEAN_INFO);
+        public ConfigurationData loadConfiguration(Artifact configId) throws NoSuchConfigException, IOException, InvalidConfigException {
             if (configs.containsKey(configId)) {
                 ConfigurationData configurationData = (ConfigurationData) configs.get(configId);
-                configData.setAttribute("moduleType", configurationData.getModuleType());
-                Environment environment = configurationData.getEnvironment();
-                configData.setAttribute("environment", environment);
-                configData.setAttribute("gBeanState", Configuration.storeGBeans(configurationData.getGBeans()));
-                configData.setAttribute("classPath", configurationData.getClassPath());
-
-                ConfigurationResolver configurationResolver = new ConfigurationResolver(configurationData.getEnvironment().getConfigId(), this, Collections.EMPTY_SET, new DefaultArtifactResolver(null, Collections.EMPTY_SET));
-                configData.setAttribute("configurationResolver", configurationResolver);
-
+                configurationData.setConfigurationStore(this);
+                return configurationData;
             } else {
-                Environment environment = new Environment();
-                environment.setConfigId(configId);
-                configData.setAttribute("environment", environment);
-                configData.setAttribute("moduleType", ConfigurationModuleType.WAR);
-                configData.setAttribute("gBeanState", NO_OBJECTS_OS);
+                ConfigurationData configurationData = new ConfigurationData(configId, new Jsr77Naming());
+                configurationData.setConfigurationStore(this);
+                return configurationData;
             }
-            return configData;
         }
 
         public boolean containsConfiguration(Artifact configID) {
@@ -350,23 +333,12 @@
 
         public final static GBeanInfo GBEAN_INFO;
 
-        private static final byte[] NO_OBJECTS_OS;
-
         static {
             GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(MockConfigStore.class, NameFactory.CONFIGURATION_STORE);
             infoBuilder.addAttribute("baseURL", URL.class, true, true);
             infoBuilder.setConstructor(new String[] {"baseURL"});
             infoBuilder.addInterface(ConfigurationStore.class);
             GBEAN_INFO = infoBuilder.getBeanInfo();
-
-            ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            try {
-                ObjectOutputStream oos = new ObjectOutputStream(baos);
-                oos.flush();
-                NO_OBJECTS_OS = baos.toByteArray();
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
         }
     }
 

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java (2588 => 2589)

--- branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java	2006-03-29 22:21:32 UTC (rev 2588)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java	2006-03-31 06:47:22 UTC (rev 2589)
@@ -54,6 +54,7 @@
 import java.sql.Statement;
 import java.util.jar.JarFile;
 import java.util.Collections;
+import java.rmi.MarshalledObject;
 
 import javax.sql.DataSource;
 
@@ -159,6 +160,9 @@
                 jarFile = DeploymentUtil.createJarFile(moduleFile);
                 Object plan = earConfigBuilder.getDeploymentPlan(null, jarFile);
                 configurationData = earConfigBuilder.buildConfiguration(plan, jarFile, Collections.singleton(deploymentHelper.configStore), deploymentHelper.configStore);
+                // copy the configuration to force gbeans to serialize
+                configurationData = (ConfigurationData) new MarshalledObject(configurationData).get();
+                configurationData.setConfigurationStore(deploymentHelper.configStore);
             } finally {
                 if (jarFile != null) {
                     jarFile.close();
@@ -189,7 +193,7 @@
 
 
             // start the configuration
-            Configuration configuration = deploymentHelper.configurationManager.loadConfiguration(configurationData, deploymentHelper.configStore);
+            Configuration configuration = deploymentHelper.configurationManager.loadConfiguration(configurationData);
             deploymentHelper.configurationManager.startConfiguration(configuration);
 
             // get the configuration classloader

Reply via email to