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