dain 2004/10/04 19:00:48
Modified: modules/core/src/java/org/openejb/deployment
OpenEJBModuleBuilder.java
Log:
Rewrote deployment to build output into a temp directory instead of into a packed
jar file
This will make adding support for manifest classpath entries trivial
Changed entire system to meticulously track temp files and delete them asap
Revision Changes Path
1.39 +15 -16
openejb/modules/core/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java
Index: OpenEJBModuleBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- OpenEJBModuleBuilder.java 30 Sep 2004 21:26:25 -0000 1.38
+++ OpenEJBModuleBuilder.java 4 Oct 2004 23:00:48 -0000 1.39
@@ -64,8 +64,7 @@
import org.apache.geronimo.deployment.DeploymentException;
import org.apache.geronimo.deployment.service.GBeanHelper;
-import org.apache.geronimo.deployment.util.IOUtil;
-import org.apache.geronimo.deployment.util.JarUtil;
+import org.apache.geronimo.deployment.util.DeploymentUtil;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoFactory;
import org.apache.geronimo.gbean.jmx.GBeanMBean;
@@ -140,12 +139,12 @@
EjbJarType ejbJar;
try {
if (specDDUrl == null) {
- specDDUrl = JarUtil.createJarURL(moduleFile,
"META-INF/ejb-jar.xml");
+ specDDUrl = DeploymentUtil.createJarURL(moduleFile,
"META-INF/ejb-jar.xml");
}
// read in the entire specDD as a string, we need this for
getDeploymentDescriptor
// on the J2ee management object
- specDD = IOUtil.readAll(specDDUrl);
+ specDD = DeploymentUtil.readAll(specDDUrl);
// parse it
EjbJarDocument ejbJarDoc =
SchemaConversionUtils.convertToEJBSchema(SchemaConversionUtils.parse(specDD));
@@ -191,7 +190,7 @@
if (plan != null) {
openejbJarDoc =
OpenejbOpenejbJarDocument.Factory.parse((File)plan);
} else {
- URL path = JarUtil.createJarURL(moduleFile,
"META-INF/openejb-jar.xml");
+ URL path = DeploymentUtil.createJarURL(moduleFile,
"META-INF/openejb-jar.xml");
openejbJarDoc =
OpenejbOpenejbJarDocument.Factory.parse(path);
}
if (openejbJarDoc != null) {
@@ -246,19 +245,19 @@
}
public void installModule(JarFile earFile, EARContext earContext, Module
module) throws DeploymentException {
+ JarFile moduleFile = module.getModuleFile();
try {
// extract the ejbJar file into a standalone packed jar file and add
the contents to the output
- File ejbJarFile = JarUtil.extractToPackedJar(module.getModuleFile());
- earContext.addInclude(URI.create(module.getTargetPath()),
ejbJarFile.toURL());
-
- // add the dependencies declared in the openejb-jar.xml file
- OpenejbOpenejbJarType openEjbJar = (OpenejbOpenejbJarType)
module.getVendorDD();
- OpenejbDependencyType[] dependencies = openEjbJar.getDependencyArray();
- for (int i = 0; i < dependencies.length; i++) {
- earContext.addDependency(getDependencyURI(dependencies[i]));
- }
+ earContext.addIncludeAsPackedJar(URI.create(module.getTargetPath()),
moduleFile);
} catch (IOException e) {
- throw new DeploymentException("Unable to deploy ejb module [" +
module.getName() + "]", e);
+ throw new DeploymentException("Unable to copy ejb module jar into
configuration: " + moduleFile.getName());
+ }
+
+ // add the dependencies declared in the openejb-jar.xml file
+ OpenejbOpenejbJarType openEjbJar = (OpenejbOpenejbJarType)
module.getVendorDD();
+ OpenejbDependencyType[] dependencies = openEjbJar.getDependencyArray();
+ for (int i = 0; i < dependencies.length; i++) {
+ earContext.addDependency(getDependencyURI(dependencies[i]));
}
}