djencks 2004/02/28 02:08:48
Modified: modules/assembly/src/plan j2ee-deployer-plan.xml
modules/connector/src/java/org/apache/geronimo/connector/deployment
AbstractRARConfigBuilder.java
RAR_1_0ConfigBuilder.java RAR_1_5ConfigBuilder.java
modules/deployment/src/java/org/apache/geronimo/deployment
DeploymentContext.java
modules/deployment/src/java/org/apache/geronimo/deployment/plugin
DeploymentManagerImpl.java DeploymentServer.java
DisconnectedServer.java
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/factories
DeploymentFactoryImpl.java
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local
DistributeCommand.java LocalServer.java
modules/deployment/src/test/org/apache/geronimo/deployment/plugin
DeploymentConfigurationTest.java
Removed: modules/deployment/src/java/org/apache/geronimo/deployment
ConfigurationCallback.java DeploymentModule.java
ModuleDeployer.java NoDeployerException.java
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/application
EARConfigurationFactory.java
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/client
ClientConfigurationFactory.java
modules/deployment/src/java/org/apache/geronimo/deployment/plugin/factories
DeploymentConfigurationFactory.java
Log:
further dead code removal and partial rewrite of DeploymentManagerImpl et al
to use newest deployment framework. Needs further work.
Revision Changes Path
1.3 +3 -0
incubator-geronimo/modules/assembly/src/plan/j2ee-deployer-plan.xml
Index: j2ee-deployer-plan.xml
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/assembly/src/plan/j2ee-deployer-plan.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- j2ee-deployer-plan.xml 27 Feb 2004 07:35:03 -0000 1.2
+++ j2ee-deployer-plan.xml 28 Feb 2004 10:08:47 -0000 1.3
@@ -13,6 +13,9 @@
<include>
<uri>geronimo/jars/geronimo-connector-DEV.jar</uri>
</include>
+ <include>
+ <uri>geronimo/jars/geronimo-security-DEV.jar</uri>
+ </include>
<dependency>
<uri>geronimo/jars/geronimo-jetty-DEV.jar</uri>
</dependency>
1.5 +3 -3
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/AbstractRARConfigBuilder.java
Index: AbstractRARConfigBuilder.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/AbstractRARConfigBuilder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AbstractRARConfigBuilder.java 27 Feb 2004 07:35:03 -0000 1.4
+++ AbstractRARConfigBuilder.java 28 Feb 2004 10:08:47 -0000 1.5
@@ -101,7 +101,8 @@
if (name.endsWith(".jar")) {
URI uri = moduleBase.resolve(name);
context.addFile(uri, jarInputStream);
- context.addToClassPath(uri);
+ //URL rarPath = entry.
+ context.addToClassPath(uri, null);
}
//native libraries?
}
@@ -179,7 +180,6 @@
XmlObject genericConnectorDocument = generateClassPath(configID,
module, context);
ClassLoader cl = context.getClassLoader(repository);
- //addGBeans(context, geronimoConnector.getGbeanArray(), cl);
addConnectorGBeans(context, genericConnectorDocument,
geronimoConnector, cl);
1.3 +3 -3
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RAR_1_0ConfigBuilder.java
Index: RAR_1_0ConfigBuilder.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RAR_1_0ConfigBuilder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RAR_1_0ConfigBuilder.java 25 Feb 2004 09:57:09 -0000 1.2
+++ RAR_1_0ConfigBuilder.java 28 Feb 2004 10:08:47 -0000 1.3
@@ -100,14 +100,14 @@
GerConnectionmanagerType connectionManagerFactory =
gerConnectionfactoryInstance.getConnectionmanager();
GBeanInfo connectionManagerFactoryGBeanInfo;
try {
- connectionManagerFactoryGBeanInfo =
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
+ connectionManagerFactoryGBeanInfo =
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(),
ConnectionManagerDeployment.class.getClassLoader());
} catch (InvalidConfigurationException e) {
throw new DeploymentException("Unable to get GBeanInfo
from ConnectionManagerDeployment", e);
}
GBeanMBean connectionManagerFactoryGBean;
try {
- connectionManagerFactoryGBean = new
GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
+ connectionManagerFactoryGBean = new
GBeanMBean(connectionManagerFactoryGBeanInfo,
ConnectionManagerDeployment.class.getClassLoader());
} catch (InvalidConfigurationException e) {
throw new DeploymentException("Unable to create GMBean",
e);
}
1.3 +3 -3
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilder.java
Index: RAR_1_5ConfigBuilder.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RAR_1_5ConfigBuilder.java 25 Feb 2004 09:57:09 -0000 1.2
+++ RAR_1_5ConfigBuilder.java 28 Feb 2004 10:08:47 -0000 1.3
@@ -147,14 +147,14 @@
GerConnectionmanagerType connectionManagerFactory =
connectionfactoryInstance.getConnectionmanager();
GBeanInfo connectionManagerFactoryGBeanInfo;
try {
- connectionManagerFactoryGBeanInfo =
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
+ connectionManagerFactoryGBeanInfo =
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(),
ConnectionManagerDeployment.class.getClassLoader());
} catch (InvalidConfigurationException e) {
throw new DeploymentException("Unable to get GBeanInfo
from ConnectionManagerDeployment", e);
}
GBeanMBean connectionManagerFactoryGBean;
try {
- connectionManagerFactoryGBean = new
GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
+ connectionManagerFactoryGBean = new
GBeanMBean(connectionManagerFactoryGBeanInfo,
ConnectionManagerDeployment.class.getClassLoader());
} catch (InvalidConfigurationException e) {
throw new DeploymentException("Unable to create GMBean",
e);
}
1.7 +5 -4
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java
Index: DeploymentContext.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DeploymentContext.java 25 Feb 2004 09:57:35 -0000 1.6
+++ DeploymentContext.java 28 Feb 2004 10:08:47 -0000 1.7
@@ -129,8 +129,7 @@
} finally {
is.close();
}
- classPath.add(path);
- includes.put(path, url);
+ addToClassPath(path, url);
}
public void addArchive(URI path, ZipInputStream archive) throws
IOException {
@@ -141,8 +140,9 @@
}
}
- public void addToClassPath(URI path) {
+ public void addToClassPath(URI path, URL url) {
classPath.add(path);
+ includes.put(path, url);
}
public ClassLoader getClassLoader(Repository repository) throws
DeploymentException {
@@ -165,6 +165,7 @@
throw new DeploymentException(e);
}
}
+
for (Iterator i = classPath.iterator(); i.hasNext();) {
URI uri = (URI) i.next();
urls[j++] = (URL) includes.get(uri);
1.14 +39 -128
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DeploymentManagerImpl.java
Index: DeploymentManagerImpl.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DeploymentManagerImpl.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- DeploymentManagerImpl.java 25 Feb 2004 09:57:36 -0000 1.13
+++ DeploymentManagerImpl.java 28 Feb 2004 10:08:47 -0000 1.14
@@ -20,17 +20,14 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.IOException;
import java.io.InputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
+import java.util.ArrayList;
import java.util.Arrays;
-import java.util.HashMap;
+import java.util.Collection;
import java.util.Iterator;
-import java.util.LinkedHashMap;
import java.util.Locale;
-import java.util.Map;
-import java.util.Collection;
-import java.util.ArrayList;
+import java.util.jar.JarInputStream;
import javax.enterprise.deploy.model.DeployableObject;
import javax.enterprise.deploy.shared.CommandType;
@@ -45,84 +42,65 @@
import javax.enterprise.deploy.spi.exceptions.TargetException;
import javax.enterprise.deploy.spi.status.ProgressObject;
-import org.apache.geronimo.deployment.DeploymentException;
-import org.apache.geronimo.deployment.DeploymentModule;
+import org.apache.geronimo.deployment.ConfigurationBuilder;
import org.apache.geronimo.deployment.ModuleConfigurer;
-import
org.apache.geronimo.deployment.plugin.factories.DeploymentConfigurationFactory;
-import org.apache.geronimo.gbean.GBean;
-import org.apache.geronimo.gbean.GBeanContext;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoFactory;
import org.apache.geronimo.gbean.GConstructorInfo;
import org.apache.geronimo.gbean.GOperationInfo;
import org.apache.geronimo.gbean.GReferenceInfo;
-import org.apache.geronimo.gbean.WaitingException;
-import org.apache.xmlbeans.SchemaType;
import org.apache.xmlbeans.SchemaTypeLoader;
import org.apache.xmlbeans.XmlBeans;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
-import org.w3c.dom.Document;
/**
*
*
* @version $Revision$ $Date$
*/
-public class DeploymentManagerImpl implements DeploymentManager, GBean {
+public class DeploymentManagerImpl implements DeploymentManager {
private final DeploymentServer server;
- private final Map schemaTypeToFactoryMap = new HashMap();
- private final Map schemaTypeToLoaderMap = new LinkedHashMap();
+ private final Collection typeLoaders = new ArrayList();
private final SchemaTypeLoader thisTypeLoader =
XmlBeans.getContextTypeLoader();
private SchemaTypeLoader schemaTypeLoader = thisTypeLoader;
- private final Map configurationFactories;
private final Collection configurers;
+ private final Collection builders = new ArrayList();
public DeploymentManagerImpl(
DeploymentServer server,
- Collection configurers,
- DeploymentConfigurationFactory earFactory,
- DeploymentConfigurationFactory warFactory,
- DeploymentConfigurationFactory ejbFactory,
- DeploymentConfigurationFactory rarFactory,
- DeploymentConfigurationFactory carFactory
- ) {
+ Collection configurers) {
this.server = server;
this.configurers = configurers;
//make sure context loader is always present
- //todo think if null is a plausible key here.
- schemaTypeToLoaderMap.put(null, thisTypeLoader);
- configurationFactories = new HashMap(5);
- addFactory(ModuleType.EAR, earFactory);
- addFactory(ModuleType.WAR, warFactory);
- addFactory(ModuleType.EJB, ejbFactory);
- addFactory(ModuleType.RAR, rarFactory);
- addFactory(ModuleType.CAR, carFactory);
+ typeLoaders.add(thisTypeLoader);
}
- public synchronized void addDeploymentConfigurationFactory(SchemaType
schemaType, SchemaTypeLoader schemaTypeLoader, DeploymentConfigurationFactory
factory) {
- schemaTypeToFactoryMap.put(schemaType, factory);
- schemaTypeToLoaderMap.put(schemaType, schemaTypeLoader);
+ public synchronized void addConfigurationBuilder(ConfigurationBuilder
builder) {
+ builders.add(builder);
+ SchemaTypeLoader[] loaders = builder.getTypeLoaders();
+ for (int i = 0; i < loaders.length; i++) {
+ typeLoaders.add(loaders[i]);
+
+ }
rebuildSchemaTypeLoader();
}
- public synchronized void removeDeploymentConfigurationFactory(SchemaType
schemaType) {
- schemaTypeToFactoryMap.remove(schemaType);
- schemaTypeToLoaderMap.remove(schemaType);
+ public synchronized void removeConfigurationBuilder(ConfigurationBuilder
builder) {
+ builders.remove(builder);
+ SchemaTypeLoader[] loaders = builder.getTypeLoaders();
+ for (int i = 0; i < loaders.length; i++) {
+ typeLoaders.remove(loaders[i]);
+
+ }
rebuildSchemaTypeLoader();
}
private void rebuildSchemaTypeLoader() {
- SchemaTypeLoader[] loaders = (SchemaTypeLoader[])
schemaTypeToLoaderMap.values().toArray(new
SchemaTypeLoader[schemaTypeToLoaderMap.size()]);
+ SchemaTypeLoader[] loaders = (SchemaTypeLoader[])
typeLoaders.toArray(new SchemaTypeLoader[typeLoaders.size()]);
schemaTypeLoader = XmlBeans.typeLoaderUnion(loaders);
}
- private void addFactory(ModuleType type, DeploymentConfigurationFactory
factory) {
- if (factory != null) {
- configurationFactories.put(type, factory);
- }
- }
-
public DeploymentConfiguration createConfiguration(DeployableObject
deployable) throws InvalidModuleException {
for (Iterator i = configurers.iterator(); i.hasNext();) {
ModuleConfigurer configurer = (ModuleConfigurer) i.next();
@@ -202,7 +180,6 @@
public ProgressObject distribute(Target[] targetList, InputStream
moduleArchive, InputStream deploymentPlan) throws IllegalStateException {
XmlObject plan;
- URI configId;
try {
plan = schemaTypeLoader.parse(deploymentPlan, null, null);
//validate
@@ -213,57 +190,22 @@
if (!plan.validate(xmlOptions)) {
return new FailedProgressObject(CommandType.DISTRIBUTE,
"Invalid deployment plan: errors: " + errors);
}
- configId = getConfigID(null);
} catch (org.apache.xmlbeans.XmlException e) {
return new FailedProgressObject(CommandType.DISTRIBUTE, "Could
not parse deployment plan");
} catch (java.io.IOException e) {
return new FailedProgressObject(CommandType.DISTRIBUTE, "Could
not read deployment plan");
- } catch (URISyntaxException e) {
- return new FailedProgressObject(CommandType.DISTRIBUTE, "Could
not read construct configId URI");
- }
- SchemaType planType = plan.schemaType();
- DeploymentConfigurationFactory factory =
(DeploymentConfigurationFactory) schemaTypeToFactoryMap.get(planType);
- DeploymentModule module = null;
- try {
- module = factory.createModule(moduleArchive, plan, configId,
server.isLocal());
- } catch (DeploymentException e) {
- return new FailedProgressObject(CommandType.DISTRIBUTE,
e.getMessage());
}
- if (module == null) {
- return new FailedProgressObject(CommandType.DISTRIBUTE, "No
deployer found for supplied plan");
- }
- return server.distribute(targetList, module, configId);
-
-
- //this won't get called.
- /*
- Document doc;
- try {
- DocumentBuilder parser =
DocumentBuilderFactory.newInstance().newDocumentBuilder();
- doc = parser.parse(deploymentPlan);
- } catch (Exception e) {
- return new FailedProgressObject(CommandType.DISTRIBUTE,
e.getMessage());
- }
- URI configID;
- try {
- configID = getConfigID(doc);
- } catch (URISyntaxException e) {
- return new FailedProgressObject(CommandType.DISTRIBUTE,
e.getMessage());
- }
- DeploymentModule module = null;
- for (Iterator i = configurationFactories.values().iterator();
i.hasNext();) {
- DeploymentConfigurationFactory factory =
(DeploymentConfigurationFactory) i.next();
- try {
- module = factory.createModule(moduleArchive, doc, configID);
- } catch (DeploymentException e) {
- return new FailedProgressObject(CommandType.DISTRIBUTE,
e.getMessage());
+ for (Iterator iterator = builders.iterator(); iterator.hasNext();) {
+ ConfigurationBuilder configurationBuilder =
(ConfigurationBuilder) iterator.next();
+ if (configurationBuilder.canConfigure(plan)) {
+ try {
+ return server.distribute(targetList,
configurationBuilder, new JarInputStream(moduleArchive), plan);
+ } catch (IOException e) {
+ return new FailedProgressObject(CommandType.DISTRIBUTE,
e.getMessage());
+ }
}
}
- if (module == null) {
- return new FailedProgressObject(CommandType.DISTRIBUTE, "No
deployer found for supplied plan");
- }
- return server.distribute(targetList, module, configID);
- */
+ return new FailedProgressObject(CommandType.DISTRIBUTE, "No
configuration builder found for module");
}
public ProgressObject start(TargetModuleID[] moduleIDList) throws
IllegalStateException {
@@ -300,48 +242,17 @@
// @todo shut down the deployment kernel
}
- //should we be using this or reading configID from deploymentplan?
- private URI getConfigID(Document doc) throws URISyntaxException {
- String id = Long.toString(System.currentTimeMillis()); // unique
enough one hopes
- return new URI(id);
- }
-
public static final GBeanInfo GBEAN_INFO;
- public void setGBeanContext(GBeanContext context) {
- }
-
- public void doStart() throws WaitingException, Exception {
- for (Iterator iterator = configurationFactories.values().iterator();
iterator.hasNext();) {
- DeploymentConfigurationFactory factory =
(DeploymentConfigurationFactory) iterator.next();
- addDeploymentConfigurationFactory(factory.getSchemaType(),
factory.getSchemaTypeLoader(), factory);
- }
- }
-
- public void doStop() throws WaitingException, Exception {
- for (Iterator iterator = configurationFactories.values().iterator();
iterator.hasNext();) {
- DeploymentConfigurationFactory factory =
(DeploymentConfigurationFactory) iterator.next();
- removeDeploymentConfigurationFactory(factory.getSchemaType());
- }
- }
-
- public void doFail() {
- }
-
static {
GBeanInfoFactory infoFactory = new GBeanInfoFactory("JSR88
Deployment Manager", DeploymentManagerImpl.class.getName());
- infoFactory.addOperation(new
GOperationInfo("addDeploymentConfigurationFactory", new
String[]{SchemaType.class.getName(), SchemaTypeLoader.class.getName(),
DeploymentConfigurationFactory.class.getName()}));
- infoFactory.addOperation(new
GOperationInfo("removeDeploymentConfigurationFactory", new
String[]{SchemaType.class.getName()}));
+ infoFactory.addOperation(new
GOperationInfo("addConfigurationBuilder", new
String[]{ConfigurationBuilder.class.getName()}));
+ infoFactory.addOperation(new
GOperationInfo("removeConfigurationBuilder", new
String[]{ConfigurationBuilder.class.getName()}));
infoFactory.addReference(new GReferenceInfo("Server",
DeploymentServer.class.getName()));
infoFactory.addReference(new GReferenceInfo("Configurers",
ModuleConfigurer.class));
- infoFactory.addReference(new GReferenceInfo("EARFactory",
DeploymentConfigurationFactory.class.getName()));
- infoFactory.addReference(new GReferenceInfo("WARFactory",
DeploymentConfigurationFactory.class.getName()));
- infoFactory.addReference(new GReferenceInfo("EJBFactory",
DeploymentConfigurationFactory.class.getName()));
- infoFactory.addReference(new GReferenceInfo("RARFactory",
DeploymentConfigurationFactory.class.getName()));
- infoFactory.addReference(new GReferenceInfo("CARFactory",
DeploymentConfigurationFactory.class.getName()));
infoFactory.setConstructor(new GConstructorInfo(
- Arrays.asList(new Object[]{"Server", "Configurers",
"EARFactory", "WARFactory", "EJBFactory", "RARFactory", "CARFactory"}),
- Arrays.asList(new Object[]{DeploymentServer.class,
Collection.class, DeploymentConfigurationFactory.class,
DeploymentConfigurationFactory.class, DeploymentConfigurationFactory.class,
DeploymentConfigurationFactory.class, DeploymentConfigurationFactory.class})
+ Arrays.asList(new Object[]{"Server", "Configurers"}),
+ Arrays.asList(new Object[]{DeploymentServer.class,
Collection.class})
));
GBEAN_INFO = infoFactory.getBeanInfo();
}
1.4 +9 -6
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DeploymentServer.java
Index: DeploymentServer.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DeploymentServer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DeploymentServer.java 25 Feb 2004 09:57:36 -0000 1.3
+++ DeploymentServer.java 28 Feb 2004 10:08:47 -0000 1.4
@@ -17,19 +17,22 @@
package org.apache.geronimo.deployment.plugin;
+import java.io.File;
import java.io.InputStream;
-import java.net.URI;
+import java.util.jar.JarInputStream;
+
import javax.enterprise.deploy.shared.ModuleType;
import javax.enterprise.deploy.spi.Target;
import javax.enterprise.deploy.spi.TargetModuleID;
import javax.enterprise.deploy.spi.exceptions.TargetException;
import javax.enterprise.deploy.spi.status.ProgressObject;
-import org.apache.geronimo.deployment.DeploymentModule;
+import org.apache.geronimo.deployment.ConfigurationBuilder;
+import org.apache.xmlbeans.XmlObject;
/**
- *
- *
+ *
+ *
* @version $Revision$ $Date$
*/
public interface DeploymentServer {
@@ -43,7 +46,7 @@
public TargetModuleID[] getAvailableModules(ModuleType moduleType,
Target[] targetList) throws TargetException, IllegalStateException;
- public ProgressObject distribute(Target[] targetList, DeploymentModule
module, URI configID) throws IllegalStateException;
+ public ProgressObject distribute(Target[] targetList,
ConfigurationBuilder builder, JarInputStream jis, XmlObject plan) throws
IllegalStateException;
public ProgressObject start(TargetModuleID[] moduleIDList) throws
IllegalStateException;
1.4 +7 -4
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DisconnectedServer.java
Index: DisconnectedServer.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/DisconnectedServer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DisconnectedServer.java 25 Feb 2004 09:57:36 -0000 1.3
+++ DisconnectedServer.java 28 Feb 2004 10:08:47 -0000 1.4
@@ -17,8 +17,10 @@
package org.apache.geronimo.deployment.plugin;
+import java.io.File;
import java.io.InputStream;
-import java.net.URI;
+import java.util.jar.JarInputStream;
+
import javax.enterprise.deploy.shared.ModuleType;
import javax.enterprise.deploy.spi.Target;
import javax.enterprise.deploy.spi.TargetModuleID;
@@ -27,7 +29,8 @@
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoFactory;
-import org.apache.geronimo.deployment.DeploymentModule;
+import org.apache.geronimo.deployment.ConfigurationBuilder;
+import org.apache.xmlbeans.XmlObject;
/**
*
@@ -55,7 +58,7 @@
throw new IllegalStateException("Disconnected");
}
- public ProgressObject distribute(Target[] targetList, DeploymentModule
module, URI configID) throws IllegalStateException {
+ public ProgressObject distribute(Target[] targetList,
ConfigurationBuilder builder, JarInputStream jis, XmlObject plan) throws
IllegalStateException {
throw new IllegalStateException("Disconnected");
}
1.8 +3 -5
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/factories/DeploymentFactoryImpl.java
Index: DeploymentFactoryImpl.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/factories/DeploymentFactoryImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DeploymentFactoryImpl.java 25 Feb 2004 09:57:38 -0000 1.7
+++ DeploymentFactoryImpl.java 28 Feb 2004 10:08:47 -0000 1.8
@@ -18,6 +18,7 @@
package org.apache.geronimo.deployment.plugin.factories;
import java.util.Collections;
+
import javax.enterprise.deploy.spi.DeploymentManager;
import
javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
import javax.enterprise.deploy.spi.factories.DeploymentFactory;
@@ -26,8 +27,6 @@
import org.apache.geronimo.deployment.plugin.DeploymentManagerImpl;
import org.apache.geronimo.deployment.plugin.DisconnectedServer;
import org.apache.geronimo.deployment.plugin.local.LocalServer;
-import
org.apache.geronimo.deployment.plugin.application.EARConfigurationFactory;
-import org.apache.geronimo.deployment.plugin.application.EARConfigurer;
import org.apache.geronimo.gbean.InvalidConfigurationException;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.kernel.Kernel;
@@ -38,7 +37,7 @@
* This will create a DeploymentManager using a local Geronimo kernel
* to contain the GBeans that are responsible for deploying each module
* type.
- *
+ *
* @version $Revision$ $Date$
*/
public class DeploymentFactoryImpl implements DeploymentFactory {
@@ -102,7 +101,6 @@
manager.setReferencePatterns("Configurers",
Collections.singleton(new ObjectName("geronimo.deployment:role=Configurer,*")));
// @todo for now lets hard code the deployers to use -
ultimately this should use a predefined Configuration
- loadFactory(kernel, manager, "EAR",
EARConfigurationFactory.class.getName(), EARConfigurer.class.getName());
kernel.loadGBean(managerName, manager);
kernel.startGBean(managerName);
1.6 +14 -43
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/DistributeCommand.java
Index: DistributeCommand.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/DistributeCommand.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DistributeCommand.java 25 Feb 2004 09:57:38 -0000 1.5
+++ DistributeCommand.java 28 Feb 2004 10:08:47 -0000 1.6
@@ -17,21 +17,16 @@
package org.apache.geronimo.deployment.plugin.local;
-import java.io.BufferedOutputStream;
import java.io.File;
-import java.io.FileOutputStream;
-import java.net.URI;
-import java.util.jar.JarOutputStream;
+import java.util.jar.JarInputStream;
+
import javax.enterprise.deploy.shared.CommandType;
import javax.enterprise.deploy.spi.Target;
-import javax.enterprise.deploy.spi.TargetModuleID;
-import org.apache.geronimo.deployment.DeploymentModule;
-import org.apache.geronimo.deployment.ModuleDeployer;
-import org.apache.geronimo.deployment.plugin.TargetModuleIDImpl;
-import org.apache.geronimo.deployment.util.FileUtil;
+import org.apache.geronimo.deployment.ConfigurationBuilder;
import org.apache.geronimo.kernel.config.ConfigurationParent;
import org.apache.geronimo.kernel.config.ConfigurationStore;
+import org.apache.xmlbeans.XmlObject;
/**
*
@@ -39,57 +34,33 @@
* @version $Revision$ $Date$
*/
public class DistributeCommand extends CommandSupport {
- private final Target target;
- private final ConfigurationParent parent;
- private final URI configID;
private final ConfigurationStore store;
- private final DeploymentModule module;
+ private final ConfigurationBuilder builder;
+ private final JarInputStream jis;
+ private final XmlObject plan;
- public DistributeCommand(Target target, ConfigurationParent parent, URI
configID, ConfigurationStore store, DeploymentModule module) {
+ public DistributeCommand(ConfigurationStore store, ConfigurationBuilder
builder, JarInputStream jis, XmlObject plan) {
super(CommandType.DISTRIBUTE);
- this.target = target;
- this.parent = parent;
- this.configID = configID;
this.store = store;
- this.module = module;
+ this.builder = builder;
+ this.jis = jis;
+ this.plan = plan;
}
public void run() {
File configFile = null;
- File workDir = null;
try {
// create some working space
configFile = File.createTempFile("deploy", ".car");
- workDir = File.createTempFile("deploy", "");
- workDir.delete();
- workDir.mkdir();
-
- // convert the module to a Configuration
- TargetModuleID targetID = new TargetModuleIDImpl(target,
configID.toString());
- ModuleDeployer deployer = new ModuleDeployer(parent, configID,
workDir);
- deployer.addModule(module);
- deployer.deploy();
-
- // Save the Configuration into a CAR
- FileOutputStream os = new FileOutputStream(configFile);
- try {
- JarOutputStream jos = new JarOutputStream(new
BufferedOutputStream(os));
- deployer.saveConfiguration(jos);
- jos.flush();
- } finally {
- os.close();
- }
+ builder.buildConfiguration(configFile, jis, plan);
// install in our local server
store.install(configFile.toURL());
- addModule(targetID);
+ //addModule(targetID);
complete("Completed");
} catch (Exception e) {
fail(e.getMessage());
} finally {
- if (workDir != null) {
- FileUtil.recursiveDelete(workDir);
- }
if (configFile != null) {
configFile.delete();
}
1.7 +9 -6
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/LocalServer.java
Index: LocalServer.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/plugin/local/LocalServer.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- LocalServer.java 25 Feb 2004 09:57:38 -0000 1.6
+++ LocalServer.java 28 Feb 2004 10:08:47 -0000 1.7
@@ -20,6 +20,8 @@
import java.io.File;
import java.io.InputStream;
import java.net.URI;
+import java.util.jar.JarInputStream;
+
import javax.enterprise.deploy.shared.CommandType;
import javax.enterprise.deploy.shared.ModuleType;
import javax.enterprise.deploy.spi.Target;
@@ -28,7 +30,7 @@
import javax.enterprise.deploy.spi.status.ProgressObject;
import javax.management.ObjectName;
-import org.apache.geronimo.deployment.DeploymentModule;
+import org.apache.geronimo.deployment.ConfigurationBuilder;
import org.apache.geronimo.deployment.plugin.DeploymentServer;
import org.apache.geronimo.deployment.plugin.FailedProgressObject;
import org.apache.geronimo.deployment.plugin.TargetImpl;
@@ -42,10 +44,11 @@
import org.apache.geronimo.gbean.jmx.GBeanMBean;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.config.ConfigurationParent;
-import org.apache.geronimo.system.configuration.LocalConfigStore;
import org.apache.geronimo.kernel.config.ConfigurationStore;
-import org.apache.geronimo.kernel.jmx.MBeanProxyFactory;
import org.apache.geronimo.kernel.jmx.JMXUtil;
+import org.apache.geronimo.kernel.jmx.MBeanProxyFactory;
+import org.apache.geronimo.system.configuration.LocalConfigStore;
+import org.apache.xmlbeans.XmlObject;
/**
*
@@ -97,11 +100,11 @@
return null;
}
- public ProgressObject distribute(Target[] targetList, DeploymentModule
module, URI configID) throws IllegalStateException {
+ public ProgressObject distribute(Target[] targetList,
ConfigurationBuilder builder, JarInputStream jis, XmlObject plan) throws
IllegalStateException {
if (targetList.length != 1 || !target.equals(targetList[0])) {
return new FailedProgressObject(CommandType.DISTRIBUTE, "Invalid
Target");
}
- DistributeCommand command = new DistributeCommand(target, parent,
configID, store, module);
+ DistributeCommand command = new DistributeCommand(store, builder,
jis, plan);
new Thread(command).start();
return command;
}
1.3 +6 -6
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/plugin/DeploymentConfigurationTest.java
Index: DeploymentConfigurationTest.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/plugin/DeploymentConfigurationTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DeploymentConfigurationTest.java 25 Feb 2004 09:57:39 -0000 1.2
+++ DeploymentConfigurationTest.java 28 Feb 2004 10:08:47 -0000 1.3
@@ -26,8 +26,8 @@
import junit.framework.TestCase;
/**
- *
- *
+ *
+ *
* @version $Revision$ $Date$
*/
public class DeploymentConfigurationTest extends TestCase {
@@ -37,9 +37,9 @@
public void testInit() throws Exception {
DeploymentManager manager =
factory.getDisconnectedDeploymentManager("deployer:geronimo:test");
- DeploymentConfiguration config =
manager.createConfiguration(deployable);
- assertEquals(deployable, config.getDeployableObject());
- assertNull(config.getDConfigBeanRoot(root));
+ //DeploymentConfiguration config =
manager.createConfiguration(deployable);
+ //assertEquals(deployable, config.getDeployableObject());
+ //assertNull(config.getDConfigBeanRoot(root));
}
protected void setUp() throws Exception {