maguro      2004/08/06 09:22:18

  Modified:    modules/core/src/test/org/openejb/deployment
                        EJBConfigBuilderTest.java
  Log:

  Deployment of unpacked EJB JARs
  
  http://jira.codehaus.org/browse/OPENEJB-7
  
  Revision  Changes    Path
  1.22      +40 -6     
openejb/modules/core/src/test/org/openejb/deployment/EJBConfigBuilderTest.java
  
  Index: EJBConfigBuilderTest.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/test/org/openejb/deployment/EJBConfigBuilderTest.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- EJBConfigBuilderTest.java 4 Aug 2004 22:40:41 -0000       1.21
  +++ EJBConfigBuilderTest.java 6 Aug 2004 13:22:18 -0000       1.22
  @@ -70,6 +70,7 @@
   
   import junit.framework.TestCase;
   import org.apache.geronimo.common.xml.XmlBeansUtil;
  +import org.apache.geronimo.deployment.util.FileUtil;
   import org.apache.geronimo.gbean.GBeanInfo;
   import org.apache.geronimo.gbean.jmx.GBeanMBean;
   import org.apache.geronimo.j2ee.deployment.EARConfigBuilder;
  @@ -159,12 +160,38 @@
           }
       }
   
  -    public void testBuildModule() throws Exception {
  +    public void testBuildUnpackedModule() throws Exception {
  +        InstallAction action = new InstallAction() {
  +            private File ejbJarFile = new File("target/test-ejb-jar");
  +            public File getEjbJarFile() {
  +                return ejbJarFile;
  +            }
  +            public void install(OpenEJBModuleBuilder moduleBuilder, EARContext 
earContext, Module module) throws Exception {
  +                moduleBuilder.installModule(ejbJarFile, earContext, module);
  +            }
  +        };
  +        executeTestBuildModule(action);
  +    }
  + 
  +    public void testBuildPackedModule() throws Exception {
  +        InstallAction action = new InstallAction() {
  +            private File ejbJarFile = new File("target/test-ejb-jar.jar");
  +            public File getEjbJarFile() {
  +                return ejbJarFile;
  +            }
  +            public void install(OpenEJBModuleBuilder moduleBuilder, EARContext 
earContext, Module module) throws Exception {
  +                moduleBuilder.installModule(new JarFile(ejbJarFile), earContext, 
module);
  +            }
  +        };
  +        executeTestBuildModule(action);
  +    }
  +    
  +    private void executeTestBuildModule(InstallAction action) throws Exception {
           String j2eeApplicationName = "null";
           String j2eeModuleName = "org/openejb/deployment/test";
   
  -        ModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(kernel);
  -        File ejbJarFile = new File("target/test-ejb-jar.jar");
  +        OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(kernel);
  +        File ejbJarFile = action.getEjbJarFile();
   
           ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
           ClassLoader cl = new URLClassLoader(new URL[]{ejbJarFile.toURL()}, oldCl);
  @@ -192,7 +219,7 @@
                       DeploymentHelper.NONTRANSACTIONALTIMER_NAME
               );
   
  -            moduleBuilder.installModule(new JarFile(ejbJarFile), earContext, 
module);
  +            action.install(moduleBuilder, earContext, module);
               earContext.getClassLoader(null);
               moduleBuilder.initContext(earContext, module, cl);
               moduleBuilder.addGBeans(earContext, module, cl);
  @@ -200,6 +227,7 @@
   
               File tempdir = new File(System.getProperty("java.io.tmpdir"));
               File unpackedDir = new File(tempdir, "OpenEJBTest-Unpacked");
  +            FileUtil.recursiveDelete(unpackedDir);
               LocalConfigStore.unpack(unpackedDir, new FileInputStream(carFile));
   
               verifyDeployment(unpackedDir, oldCl, j2eeDomainName, j2eeServerName, 
j2eeApplicationName, j2eeModuleName);
  @@ -338,7 +366,7 @@
               Object statelessLocalHome = kernel.getAttribute(statelessBeanName, 
"ejbLocalHome");
               Object statelessLocal = 
statelessLocalHome.getClass().getMethod("create", null).invoke(statelessLocalHome, 
null);
               statelessLocal.getClass().getMethod("startTimer", 
null).invoke(statelessLocal, null);
  -            Thread.currentThread().sleep(200L);
  +            Thread.sleep(200L);
               assertEquals(new Integer(1), 
statelessLocal.getClass().getMethod("getTimeoutCount", null).invoke(statelessLocal, 
null));
   
               // STATEFUL
  @@ -451,4 +479,10 @@
           DeploymentHelper.tearDownAdapter(kernel);
           kernel.shutdown();
       }
  +    
  +    private interface InstallAction {
  +        public File getEjbJarFile();
  +        public void install(OpenEJBModuleBuilder moduleBuilder, EARContext 
earContext, Module module) throws Exception;
  +    }
  +
   }
  
  
  

Reply via email to