djencks 2004/07/22 23:14:35
Modified: modules/deployment/src/java/org/apache/geronimo/deployment Deployer.java Log: allow null module and null plan when directly deploying, similar to command line style Revision Changes Path 1.22 +37 -20 incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/Deployer.java Index: Deployer.java =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/Deployer.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- Deployer.java 23 Jun 2004 22:44:49 -0000 1.21 +++ Deployer.java 23 Jul 2004 06:14:35 -0000 1.22 @@ -31,6 +31,7 @@ import java.util.Properties; import java.util.jar.Attributes; import java.util.jar.Manifest; + import javax.management.MalformedObjectNameException; import javax.management.ObjectName; @@ -64,34 +65,50 @@ } public URI deploy(File moduleFile, File deploymentPlan) throws DeploymentException { - URL moduleURL; - try { - moduleURL = moduleFile.toURL(); - } catch (MalformedURLException e) { - throw new DeploymentException(e); - } ConfigurationBuilder builder = null; XmlObject plan = null; - for (Iterator i = builders.iterator(); i.hasNext();) { - ConfigurationBuilder candidate = (ConfigurationBuilder) i.next(); + if (deploymentPlan != null) { try { - plan = candidate.getDeploymentPlan(moduleURL); - if (!plan.validate()) { - throw new DeploymentException("Unable to parse plan"); - } + plan = getLoader().parse(deploymentPlan, null, null); } catch (XmlException e) { throw new DeploymentException(e); + } catch (IOException e) { + throw new DeploymentException(e); } - if (plan != null) { - builder = candidate; - break; + for (Iterator i = builders.iterator(); i.hasNext();) { + ConfigurationBuilder candidate = (ConfigurationBuilder) i.next(); + if (candidate.canConfigure(plan)) { + builder = candidate; + break; + } + } + if (builder == null) { + throw new DeploymentException("No deployer found for this plan type: " + deploymentPlan); + } + } else if (moduleFile != null) { + URL moduleURL; + try { + moduleURL = moduleFile.toURL(); + } catch (MalformedURLException e) { + throw new DeploymentException(e); + } + for (Iterator i = builders.iterator(); i.hasNext();) { + ConfigurationBuilder candidate = (ConfigurationBuilder) i.next(); + try { + plan = candidate.getDeploymentPlan(moduleURL); + } catch (XmlException e) { + throw new DeploymentException(e); + } + if (plan != null) { + builder = candidate; + break; + } + } + if (builder == null) { + throw new DeploymentException("No deployer found for this module type: " + moduleFile); } } - if (builder == null) { - throw new DeploymentException("No deployer found for this module type: " + moduleFile); - } - try { File carfile = File.createTempFile("deployer", ".car"); try {