You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2009/07/24 11:22:25 UTC
svn commit: r797382 - in /geronimo/server/branches/2.1:
buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/
framework/configs/geronimo-gbean-deployer/src/it/j2ee-system-2/
framework/configs/geronimo-gbean-deployer/src/it/j...
Author: xuhaihong
Date: Fri Jul 24 09:22:23 2009
New Revision: 797382
URL: http://svn.apache.org/viewvc?rev=797382&view=rev
Log:
GERONIMO-4628 Console plan wizards need to save plans (Patch from Rex Wang)
Modified:
geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PackageMojo.java
geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java
geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system-2/validate.groovy
geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system/validate.groovy
geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java
geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java
geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java
geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java
geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java
Modified: geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PackageMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PackageMojo.java?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PackageMojo.java (original)
+++ geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PackageMojo.java Fri Jul 24 09:22:23 2009
@@ -119,7 +119,7 @@
/**
* The plan file for the CAR.
*
- * @parameter expression="${project.build.directory}/resources/META-INF/plan.xml"
+ * @parameter expression="${project.build.directory}/work/plan.xml"
* @required
*/
private File planFile = null;
Modified: geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java (original)
+++ geronimo/server/branches/2.1/buildsupport/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/PlanProcessorMojo.java Fri Jul 24 09:22:23 2009
@@ -69,7 +69,7 @@
/**
* Directory to put the processed plan in.
*
- * @parameter expression="${project.build.directory}/resources/META-INF"
+ * @parameter expression="${project.build.directory}/work"
* @required
*/
protected File targetDir = null;
@@ -85,7 +85,7 @@
/**
* XXX
*
- * @parameter expression="${project.build.directory}/resources/META-INF/plan.xml"
+ * @parameter expression="${project.build.directory}/work/plan.xml"
* @required
*/
protected File targetFile = null;
Modified: geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system-2/validate.groovy
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system-2/validate.groovy?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system-2/validate.groovy (original)
+++ geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system-2/validate.groovy Fri Jul 24 09:22:23 2009
@@ -47,4 +47,4 @@
assertSame('src/test/resources/META-INF/geronimo-plugin.xml', 'target/resources/META-INF/geronimo-plugin.xml')
-assertSame('src/test/resources/META-INF/plan.xml', 'target/resources/META-INF/plan.xml')
+assertSame('src/test/resources/META-INF/plan.xml', 'target/work/plan.xml')
Modified: geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system/validate.groovy
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system/validate.groovy?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system/validate.groovy (original)
+++ geronimo/server/branches/2.1/framework/configs/geronimo-gbean-deployer/src/it/j2ee-system/validate.groovy Fri Jul 24 09:22:23 2009
@@ -47,4 +47,4 @@
assertSame('src/test/resources/META-INF/geronimo-plugin.xml', 'target/resources/META-INF/geronimo-plugin.xml')
-assertSame('src/test/resources/META-INF/plan.xml', 'target/resources/META-INF/plan.xml')
+assertSame('src/test/resources/META-INF/plan.xml', 'target/work/plan.xml')
Modified: geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java (original)
+++ geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/CopyResourceContext.java Fri Jul 24 09:22:23 2009
@@ -143,6 +143,19 @@
public void addFile(URI targetPath, String source) throws IOException {
addFile(getTargetFile(targetPath), new ByteArrayInputStream(source.getBytes()));
}
+
+ public void addFile(URI targetPath, byte[] contents) throws IOException {
+ File file = getTargetFile(targetPath);
+ if (!file.getParentFile().mkdirs()) {
+ throw new IOException("Could not create parent directory for entry: " + targetPath + " at " + file.getParentFile());
+ }
+ FileOutputStream out = new FileOutputStream(file);
+ try {
+ out.write(contents);
+ } finally {
+ DeploymentUtil.close(out);
+ }
+ }
public File getTargetFile(URI targetPath) {
if (targetPath == null) throw new NullPointerException("targetPath is null");
Modified: geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java (original)
+++ geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java Fri Jul 24 09:22:23 2009
@@ -76,7 +76,8 @@
private final Collection watchers;
private final ArtifactResolver artifactResolver;
private final Kernel kernel;
-
+ private static final URI PLAN_LOCATION = URI.create("META-INF/plan.xml");
+
public Deployer(String remoteDeployAddress, Collection builders, Collection stores, Collection watchers, Kernel kernel) {
this(remoteDeployAddress, builders, stores, watchers, getArtifactResolver(kernel), kernel);
}
@@ -253,7 +254,11 @@
// It's our responsibility to close this context, once we're done with it...
DeploymentContext context = builder.buildConfiguration(inPlace, configID, plan, module, stores, artifactResolver, store);
-
+ // Copy the external plan to the META-INF folder with the uniform name plan.xml if there is nothing there already
+ if (planFile != null && !context.getTargetFile(PLAN_LOCATION).exists()) {
+ context.addFile(PLAN_LOCATION, planFile);
+ }
+ // install the configuration
return install(targetFile, install, manifest, store, context);
} catch (Throwable e) {
//TODO not clear all errors will result in total cleanup
Modified: geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java (original)
+++ geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/DeploymentContext.java Fri Jul 24 09:22:23 2009
@@ -594,10 +594,7 @@
throw new IllegalStateException("target path must end with a '/' character: " + targetPath);
String classFileName = fqcn.replace('.', '/') + ".class";
-
- File targetFile = getTargetFile(new URI(targetPath.toString() + classFileName));
- addFile(targetFile, new ByteArrayInputStream(bytes));
-
+ resourceContext.addFile(new URI(targetPath.toString() + classFileName), bytes);
configuration.addToClassPath(targetPath.toString());
}
@@ -617,21 +614,6 @@
resourceContext.addFile(targetPath, source);
}
- private void addFile(File targetFile, InputStream source) throws IOException {
- targetFile.getParentFile().mkdirs();
- OutputStream out = null;
- try {
- out = new FileOutputStream(targetFile);
- byte[] buffer = new byte[4096];
- int count;
- while ((count = source.read(buffer)) > 0) {
- out.write(buffer, 0, count);
- }
- } finally {
- DeploymentUtil.close(out);
- }
- }
-
public File getTargetFile(URI targetPath) {
return resourceContext.getTargetFile(targetPath);
}
Modified: geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java (original)
+++ geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/InPlaceResourceContext.java Fri Jul 24 09:22:23 2009
@@ -18,6 +18,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.FileOutputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
@@ -93,7 +94,21 @@
public void addFile(URI targetPath, String source) throws IOException {
}
-
+
+ //completely untested
+ public void addFile(URI targetPath, byte[] contents) throws IOException {
+ File file = getTargetFile(targetPath);
+ if (!file.getParentFile().mkdirs()) {
+ throw new IOException("Could not create parent directory for entry: " + targetPath + " at " + file.getParentFile());
+ }
+ FileOutputStream out = new FileOutputStream(file);
+ try {
+ out.write(contents);
+ } finally {
+ DeploymentUtil.close(out);
+ }
+ }
+
public File getTargetFile(URI targetPath) {
if (targetPath == null) throw new NullPointerException("targetPath is null");
if (targetPath.isAbsolute()) throw new IllegalArgumentException("targetPath is absolute");
Modified: geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java?rev=797382&r1=797381&r2=797382&view=diff
==============================================================================
--- geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java (original)
+++ geronimo/server/branches/2.1/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/ResourceContext.java Fri Jul 24 09:22:23 2009
@@ -40,6 +40,8 @@
void addFile(URI targetPath, File source) throws IOException;
void addFile(URI targetPath, String source) throws IOException;
+
+ void addFile(URI targetPath, byte[] contents) throws IOException;
File getTargetFile(URI targetPath);