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]));
           }
       }
   
  
  
  

Reply via email to