You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by he...@apache.org on 2004/11/18 13:13:10 UTC

svn commit: r76232 - in geronimo/trunk/modules/axis: . src/java/org/apache/geronimo/axis src/test/org/apache/geronimo/axis src/test/org/apache/geronimo/axis/preconditions src/test/org/apache/geronimo/axis/testUtils

Author: hemapani
Date: Thu Nov 18 04:13:07 2004
New Revision: 76232

Added:
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/PlansTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/MockActivationSpec.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java
Removed:
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/WSConfigBuilderTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/ClassLoadingTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/GBeanConfigTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestServer.java
Modified:
   geronimo/trunk/modules/axis/project.xml
   geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGbean.java
   geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java
   geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/GeronimoProvider.java
   geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/WSConfigBuilder.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractTestCase.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/ComplexTypeWebServiceTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/EchoHeadersTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/J2EEManagerTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimpleEJBWebServiceTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimplePOJOWebServiceTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/AdminClientDeploymentTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/DynamicEJBDeploymentTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/AxisGeronimoConstants.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManager.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManagerTest.java
   geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/JettyServiceWrapper.java
Log:
refactor the ConfigurationBuilder code and get the few broken test cases up. EJBWebService and ComplexTypeWebService test are still excludeded

Modified: geronimo/trunk/modules/axis/project.xml
==============================================================================
--- geronimo/trunk/modules/axis/project.xml	(original)
+++ geronimo/trunk/modules/axis/project.xml	Thu Nov 18 04:13:07 2004
@@ -123,6 +123,14 @@
         </dependency>
         <dependency>
             <groupId>geronimo</groupId>
+            <artifactId>geronimo-security-builder</artifactId>
+            <version>${pom.currentVersion}</version>
+            <properties>
+                <xmlbeans>true</xmlbeans>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>geronimo</groupId>
             <artifactId>geronimo-transaction</artifactId>
             <version>${pom.currentVersion}</version>
         </dependency>
@@ -354,9 +362,21 @@
         </resources>
         <unitTest>
             <includes>
+	            <include>**/**Test.java</include>
                 <include>**/SimplePOJO*Test.java</include>
             </includes>
             <excludes>
+				<!-- these are none testing classes need not to worry about -->
+                <exclude>**/*Abstract**.java</exclude>  
+                <exclude>**/testUtils**</exclude>                            
+
+				<!-- This one runs EWS, can run IFF the tools.jar avalible -->
+                <exclude>**/*EWS*Test.java</exclude>            
+
+				<!-- Those are the ones we need to worry about -->                                          
+                <exclude>**/SimpleEJB*Test.java</exclude>            
+                <exclude>**/*Complex*Test.java</exclude>            
+                <exclude>**/Echo**</exclude>                                            
             </excludes>
             <resources>
                 <resource>

Modified: geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGbean.java
==============================================================================
--- geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGbean.java	(original)
+++ geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGbean.java	Thu Nov 18 04:13:07 2004
@@ -16,17 +16,15 @@
 
 package org.apache.geronimo.axis;
 
+import javax.management.ObjectName;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.gbean.WaitingException;
-import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.jmx.JMXUtil;
-
-import javax.management.ObjectName;
-import java.util.Collection;
 
 /**
  * Class AxisGbean

Modified: geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java
==============================================================================
--- geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java	(original)
+++ geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/AxisGeronimoUtils.java	Thu Nov 18 04:13:07 2004
@@ -23,23 +23,38 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.geronimo.deployment.DeploymentException;
+import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.gbean.jmx.GBeanMBean;
 import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.Configuration;
+import org.apache.geronimo.kernel.config.ConfigurationStore;
 import org.openejb.ContainerIndex;
 import org.openejb.EJBContainer;
 
 import javax.ejb.EJBHome;
 import javax.management.ObjectName;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.lang.reflect.Method;
+import java.net.URI;
 import java.net.URL;
 import java.net.MalformedURLException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
 import java.util.Set;
+import java.util.jar.JarOutputStream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipException;
 import java.util.zip.ZipFile;
@@ -255,6 +270,38 @@
     public static URL getURL(String file) throws MalformedURLException {
         URL requestUrl = new URL("http", NetworkUtils.getLocalHostname(), AXIS_SERVICE_PORT, file);
         return requestUrl;
+    }
+    public static URI saveConfiguration(GBeanMBean config, ConfigurationStore store)throws Exception{
+        File sourceFile = null;
+        try {
+            sourceFile = File.createTempFile("test", ".car");
+            URL source = sourceFile.toURL();
+            JarOutputStream jos = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(sourceFile)));
+            jos.putNextEntry(new ZipEntry("META-INF/config.ser"));
+            ObjectOutputStream oos = new ObjectOutputStream(jos);
+            config.getGBeanData().writeExternal(oos);
+            oos.flush();
+            jos.closeEntry();
+            jos.close();
+            ArrayList list = new ArrayList(1);
+            return store.install(source);
+        } finally {
+            if (sourceFile != null) {
+                sourceFile.delete();
+            }
+        }
+    }
+    
+    public static GBeanMBean loadConfig(File unpackedCar) throws Exception {
+        InputStream in = new FileInputStream(new File(unpackedCar, "META-INF/config.ser"));
+        try {
+            ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(in));
+            GBeanData config = new GBeanData();
+            config.readExternal(ois);
+            return new GBeanMBean(config, Thread.currentThread().getContextClassLoader());
+        } finally {
+            in.close();
+        }
     }
 
 }

Modified: geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/GeronimoProvider.java
==============================================================================
--- geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/GeronimoProvider.java	(original)
+++ geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/GeronimoProvider.java	Thu Nov 18 04:13:07 2004
@@ -27,8 +27,6 @@
 
 /**
  * register the MessageContext in the jax-rpc runtime of the JSR109
- *
- * @author Srinath Perera(hemapani@opensource.lk)
  */
 public class GeronimoProvider extends RPCProvider {
     public static final String OPTION_EJB_NAME = "beanName";

Modified: geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/WSConfigBuilder.java
==============================================================================
--- geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/WSConfigBuilder.java	(original)
+++ geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/WSConfigBuilder.java	Thu Nov 18 04:13:07 2004
@@ -16,30 +16,11 @@
 
 package org.apache.geronimo.axis;
 
-import org.apache.geronimo.deployment.ConfigurationBuilder;
-import org.apache.geronimo.deployment.DeploymentException;
-import org.apache.geronimo.gbean.GBeanData;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
-import org.apache.geronimo.gbean.WaitingException;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
-import org.apache.geronimo.j2ee.deployment.EARConfigBuilder;
-import org.apache.geronimo.kernel.config.Configuration;
-import org.apache.geronimo.kernel.config.ConfigurationStore;
-
-import javax.management.ObjectName;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
 import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Enumeration;
@@ -47,18 +28,31 @@
 import java.util.List;
 import java.util.Map;
 import java.util.jar.JarFile;
-import java.util.jar.JarOutputStream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
+import javax.management.ObjectName;
+
+import org.apache.geronimo.deployment.ConfigurationBuilder;
+import org.apache.geronimo.deployment.DeploymentException;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.WaitingException;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.j2ee.deployment.EARConfigBuilder;
+import org.apache.geronimo.kernel.config.Configuration;
+import org.apache.geronimo.kernel.config.ConfigurationStore;
+
 /**
- * @author Srinath Perera(hemapani@opensource.lk)
+ * This Class should build Configurations out of deployment Module. 
  */
 public class WSConfigBuilder implements ConfigurationBuilder {
     private boolean hasEJB = false;
 
     private final EARConfigBuilder earConfigBuilder;
     private final ConfigurationStore store;
+    private ObjectName configName = null;
+    
 
     public WSConfigBuilder(EARConfigBuilder earConfigBuilder,
                            ConfigurationStore store) {
@@ -74,10 +68,17 @@
     }
 
     public List buildConfiguration(Object plan, JarFile earFile, File outfile) throws IOException, DeploymentException {
+        //TODO this is not implemented as the current code need the location of the file 
+        //where this gives a Zip file. For the time been the method is override and used.  
         return null;
     }
 
-    public List buildConfiguration(Object plan, File earFile, File outfile) throws Exception {
+    public List buildConfiguration(Object plan, 
+            File earFile, 
+            File outfile) throws Exception {
+        ObjectName wsconf = new ObjectName("geronimo.test:name=" + earFile.getName());
+        ObjectName ejbconf = new ObjectName("geronimo.test:name=" + earFile.getName() + "EJB");
+
         Enumeration entires = new JarFile(earFile).entries();
         while (entires.hasMoreElements()) {
             ZipEntry zipe = (ZipEntry) entires.nextElement();
@@ -91,123 +92,78 @@
         }
         GBeanMBean[] confBeans = null;
         if (hasEJB) {
-            File file = installEJBWebService(earFile, outfile);
-            confBeans = loadEJBWebService(file, earFile);
+            return installEJBWebService(earFile, outfile,wsconf,ejbconf);
+            
         } else {
-            File file = installPOJOWebService(earFile, outfile);
-            confBeans = loadPOJOWebService(file);
-        }
-        
-        //TODO: take these from plan
-        ObjectName gbeanName1 = new ObjectName("geronimo.test:name=" + earFile.getName());
-        ObjectName gbeanName2 = new ObjectName("geronimo.test:name=" + earFile.getName() + "EJB");
-        Map gbeans = new HashMap();
-        gbeans.put(gbeanName1, confBeans[0]);
-        if (confBeans.length > 1)
-            gbeans.put(gbeanName2, confBeans[1]);
-        byte[] state = Configuration.storeGBeans(gbeans);
-        GBeanMBean config = new GBeanMBean(Configuration.GBEAN_INFO);
-        config.setAttribute("ID", new URI("test"));
-        config.setReferencePatterns("Parent", null);
-        config.setAttribute("classPath", Collections.EMPTY_LIST);
-        config.setAttribute("gBeanState", state);
-        config.setAttribute("dependencies", Collections.EMPTY_LIST);
-        File sourceFile = null;
-        try {
-            sourceFile = File.createTempFile("test", ".car");
-            URL source = sourceFile.toURL();
-            JarOutputStream jos = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(sourceFile)));
-            jos.putNextEntry(new ZipEntry("META-INF/config.ser"));
-            ObjectOutputStream oos = new ObjectOutputStream(jos);
-            config.getGBeanData().writeExternal(oos);
-            oos.flush();
-            jos.closeEntry();
-            jos.close();
-            ArrayList list = new ArrayList(1);
-            list.add(store.install(source));
-            return list;
-        } finally {
-            if (sourceFile != null) {
-                sourceFile.delete();
-            }
-        }
-    }
+            return installPOJOWebService(earFile, outfile,wsconf);
 
-    public GBeanMBean[] loadtheWSConfigurations(File installedLocation, File module, ClassLoader classLoader) throws Exception {
-        if (hasEJB) {
-            return loadEJBWebService(installedLocation, module);
-        } else {
-            return loadPOJOWebService(installedLocation);
         }
     }
 
-    public File installWebService(File module, File unpackedDir, ClassLoader classLoader) throws IOException, URISyntaxException, DeploymentException {
-        ZipFile zipfile = new ZipFile(module);
-        Enumeration entires = zipfile.entries();
-        while (entires.hasMoreElements()) {
-            ZipEntry zipe = (ZipEntry) entires.nextElement();
-            String name = zipe.getName();
-            if (name.endsWith("/ejb-jar.xml")) {
-                hasEJB = true;
-                System.out.println("entry found " + name + " the web service is based on a ejb.");
-                break;
-            }
-        }
-        if (hasEJB) {
-            return installEJBWebService(module, unpackedDir);
-        } else {
-            return installPOJOWebService(module, unpackedDir);
-        }
-    }
 
     /**
      * @param module      Web Service module generated by EWS
      * @param unpackedDir for WS
      * @return the file to where Module is copied in to
      */
-    private File installPOJOWebService(File module, File unpackedDir) throws IOException {
+    private List installPOJOWebService(File module, File unpackedDir,ObjectName pojoWSGbeanName) throws Exception {
+        List installedConfig = new ArrayList();
         File out = new File(unpackedDir, module.getName());
         copyTheFile(module, out);
-        return out;
-    }
-
-    private File installEJBWebService(File module, File unpackedDir) throws IOException, DeploymentException {
-        JarFile jarFile = new JarFile(module);
-        Object plan = earConfigBuilder.getDeploymentPlan(null, jarFile);
-        earConfigBuilder.buildConfiguration(plan, jarFile, unpackedDir);
-        return unpackedDir;
-    }
 
-    private GBeanMBean[] loadPOJOWebService(File module) throws Exception {
         GBeanMBean gbean = new GBeanMBean(POJOWSGBean.getGBeanInfo());
         //TODO fill up the POJOWSGBean info
         ArrayList classList = AxisGeronimoUtils.getClassFileList(new ZipFile(module));
         gbean.setAttribute("classList", classList);
         gbean.setAttribute("moduleURL", module.toURL());
-        return new GBeanMBean[]{gbean};
+        Map gbeans = new HashMap();
+        gbeans.put(pojoWSGbeanName, gbean);
+        
+        
+        byte[] state = Configuration.storeGBeans(gbeans);
+        GBeanMBean config = new GBeanMBean(Configuration.GBEAN_INFO);
+        config.setAttribute("ID", new URI("test"));
+        config.setReferencePatterns("Parent", null);
+        config.setAttribute("classPath", Collections.EMPTY_LIST);
+        config.setAttribute("gBeanState", state);
+        config.setAttribute("dependencies", Collections.EMPTY_LIST);
+        installedConfig.add(AxisGeronimoUtils.saveConfiguration(config,store));
+        return installedConfig;
     }
 
-    private GBeanMBean[] loadEJBWebService(File installLocation, File module) throws Exception {
-        GBeanMBean config = loadConfig(installLocation);
-        config.setAttribute("baseURL", installLocation.toURL());
-        GBeanMBean gbean = new GBeanMBean(EJBWSGBean.getGBeanInfo());
+    private List installEJBWebService(File module, 
+                File unpackedDir,
+                ObjectName wSGbeanName,
+                ObjectName ejbConfGBeanName) throws Exception {
+        List installedConfig = new ArrayList();
+
+        JarFile jarFile = new JarFile(module);
+        Object plan = earConfigBuilder.getDeploymentPlan(null, jarFile);
+        earConfigBuilder.buildConfiguration(plan, jarFile, unpackedDir);
+        GBeanMBean ejbGBean = AxisGeronimoUtils.loadConfig(unpackedDir);
+        installedConfig.add(AxisGeronimoUtils.saveConfiguration(ejbGBean,store));
+        
+        GBeanMBean wsGbean = new GBeanMBean(EJBWSGBean.getGBeanInfo());
         ArrayList classList = AxisGeronimoUtils.getClassFileList(new ZipFile(module));
-        gbean.setAttribute("classList", classList);
-        gbean.setAttribute("ejbConfig", config.getTarget());
-        return new GBeanMBean[]{gbean, config};
-    }
+        wsGbean.setAttribute("classList", classList);
+        wsGbean.setReferencePattern("ejbConfig", ejbConfGBeanName);
+        Map gbeans = new HashMap();
+        gbeans.put(wSGbeanName, wsGbean);
+        gbeans.put(ejbConfGBeanName, ejbGBean);
+        
+        byte[] state = Configuration.storeGBeans(gbeans);
+        GBeanMBean config = new GBeanMBean(Configuration.GBEAN_INFO);
+        config.setAttribute("ID", new URI("test"));
+        config.setReferencePatterns("Parent", null);
+        config.setAttribute("classPath", Collections.EMPTY_LIST);
+        config.setAttribute("gBeanState", state);
+        config.setAttribute("dependencies", Collections.EMPTY_LIST);
 
-    private GBeanMBean loadConfig(File unpackedCar) throws Exception {
-        InputStream in = new FileInputStream(new File(unpackedCar, "META-INF/config.ser"));
-        try {
-            ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(in));
-            GBeanData config = new GBeanData();
-            config.readExternal(ois);
-            return new GBeanMBean(config, null);
-        } finally {
-            in.close();
-        }
+        
+        installedConfig.add(AxisGeronimoUtils.saveConfiguration(config,store));
+        return installedConfig;
     }
+
 
     private void copyTheFile(File inFile, File outFile) throws IOException {
         if (!outFile.exists())

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractTestCase.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractTestCase.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractTestCase.java	Thu Nov 18 04:13:07 2004
@@ -16,10 +16,10 @@
 
 package org.apache.geronimo.axis;
 
-import junit.framework.TestCase;
-
 import java.io.File;
 
+import junit.framework.TestCase;
+
 /**
  * Abstract base class for test cases.
  */
@@ -45,7 +45,7 @@
             if (!(basedir.endsWith("axis")
                     || basedir.endsWith("axis\\")
                     || basedir.endsWith("axis/"))) {
-                basedir = new File("./modules/axis").getAbsolutePath();
+                basedir = new File("./modules/axis/").getAbsolutePath();
             }
         }
         testDir = new File(basedir, testDir).getAbsolutePath();

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AbstractWebServiceTest.java	Thu Nov 18 04:13:07 2004
@@ -15,25 +15,26 @@
  */
 package org.apache.geronimo.axis;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URI;
+
+import javax.management.ObjectName;
+import javax.naming.Reference;
+
 import org.apache.geronimo.axis.testUtils.AxisGeronimoConstants;
-import org.apache.geronimo.axis.testUtils.J2EEManager;
+import org.apache.geronimo.axis.testUtils.TestingUtils;
+import org.apache.geronimo.deployment.DeploymentException;
+import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.gbean.WaitingException;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.j2ee.deployment.EARConfigBuilder;
+import org.apache.geronimo.j2ee.deployment.ResourceReferenceBuilder;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.jmx.JMXUtil;
 import org.apache.geronimo.system.configuration.LocalConfigStore;
-import org.apache.geronimo.transaction.OnlineUserTransaction;
-import org.apache.geronimo.j2ee.deployment.EARConfigBuilder;
 import org.openejb.deployment.OpenEJBModuleBuilder;
 
-import javax.management.ObjectName;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.util.Collections;
-
 public class AbstractWebServiceTest extends AbstractTestCase {
 
     private static final String j2eeDomainName = "openejb.server";
@@ -43,7 +44,6 @@
 
     protected ObjectName axisname;
     protected Kernel kernel;
-    protected J2EEManager j2eeManager;
     protected LocalConfigStore store;
     protected File outFile = new File(AxisGeronimoConstants.AXIS_CONFIG_STORE);
 
@@ -52,7 +52,7 @@
      */
     public AbstractWebServiceTest(String testName) throws FileNotFoundException, WaitingException, IOException {
         super(testName);
-        j2eeManager = new J2EEManager();
+
         store = new LocalConfigStore(outFile);
         store.doStart();
     }
@@ -65,35 +65,19 @@
         outFile.getParentFile().mkdirs();
         //start the J2EE server which would be started by the server plan
         //in the real case 
-        j2eeManager.startJ2EEContainer(kernel);
-        //start the Axis Serverlet which would be started by the service plan
-        org.apache.geronimo.jetty.JettyWebAppContext c = null;
-        GBeanMBean app = new GBeanMBean("org.apache.geronimo.jetty.JettyWebAppContext");
-        URL url =
-                Thread.currentThread().getContextClassLoader().getResource("deployables/axis/");
-        System.out.print(url);
-        app.setAttribute("uri", URI.create(url.toString()));
-        app.setAttribute("contextPath", "/axis");
-        app.setAttribute("componentContext", null);
-        OnlineUserTransaction userTransaction = new OnlineUserTransaction();
-        app.setAttribute("userTransaction", userTransaction);
-        app.setAttribute("webClassPath", new URI[0]);
-        app.setAttribute("contextPriorityClassLoader", Boolean.FALSE);
-        app.setReferencePatterns("JettyContainer", Collections.singleton(AxisGeronimoConstants.WEB_CONTAINER_NAME));
-        app.setAttribute("configurationBaseUrl", Thread.currentThread().getContextClassLoader().getResource("deployables/"));
-        app.setReferencePattern("TransactionContextManager", AxisGeronimoConstants.TRANSACTION_CONTEXT_MANAGER_NAME);
-        app.setReferencePattern("TrackedConnectionAssociator", AxisGeronimoConstants.TRACKED_CONNECTION_ASSOCIATOR_NAME);
-        AxisGeronimoUtils.startGBean(AxisGeronimoConstants.APPLICATION_NAME, app, kernel);
+        TestingUtils.startJ2EEContinerAndAxisServlet(kernel);
 
     }
 
     protected void tearDown() throws Exception {
-        j2eeManager.stopJ2EEContainer(kernel);
+        TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
         kernel.shutdown();
         File file = new File(AxisGeronimoConstants.AXIS_CONFIG_STORE);
         AxisGeronimoUtils.delete(file);
     }
-
+    
+     
+    
     protected EARConfigBuilder getEARConfigBuilder() throws Exception {
         URI defaultParentId = new URI("org/apache/geronimo/Server");
         OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(null, defaultParentId, null);
@@ -109,7 +93,7 @@
                         moduleBuilder,
                         null,
                         null,
-                        null,
+                        TestingUtils.RESOURCE_REFERANCE_BUILDER,
                         null,
                         null);
         return earConfigBuilder;

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisGBeanTest.java	Thu Nov 18 04:13:07 2004
@@ -15,16 +15,18 @@
  */
 package org.apache.geronimo.axis;
 
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
-import org.apache.geronimo.kernel.Kernel;
-
-import javax.management.ObjectName;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLClassLoader;
 
+import javax.management.ObjectName;
+
+import org.apache.geronimo.axis.testUtils.TestingUtils;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.kernel.Kernel;
+
 /**
  * <p> This test case start the AxisGbean and test retiving the index.html of the
  * Axis Service</p>
@@ -62,12 +64,15 @@
     }
 
     protected void setUp() throws Exception {
+        
         name = new ObjectName("test:name=AxisGBean");
         kernel = new Kernel("test.kernel", "test");
         kernel.boot();
+        TestingUtils.startJ2EEContinerAndAxisServlet(kernel);
     }
 
     protected void tearDown() throws Exception {
+        TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
         kernel.shutdown();
     }
 }

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/ComplexTypeWebServiceTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/ComplexTypeWebServiceTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/ComplexTypeWebServiceTest.java	Thu Nov 18 04:13:07 2004
@@ -15,25 +15,32 @@
  */
 package org.apache.geronimo.axis;
 
-import org.apache.axis.utils.ClassUtils;
-import org.apache.geronimo.axis.testUtils.AxisGeronimoConstants;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
-import org.apache.geronimo.kernel.Kernel;
-
-import javax.management.ObjectName;
 import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.lang.reflect.Method;
 import java.net.URL;
 import java.net.URLClassLoader;
 
-public class ComplexTypeWebServiceTest extends AbstractTestCase {
+import javax.management.ObjectName;
+
+import org.apache.axis.utils.ClassUtils;
+import org.apache.geronimo.axis.testUtils.AxisGeronimoConstants;
+import org.apache.geronimo.gbean.WaitingException;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.kernel.Kernel;
+
+public class ComplexTypeWebServiceTest extends AbstractWebServiceTest {
     private ObjectName axisname;
     private Kernel kernel;
 
     /**
      * @param testName
+     * @throws IOException
+     * @throws WaitingException
+     * @throws FileNotFoundException
      */
-    public ComplexTypeWebServiceTest(String testName) {
+    public ComplexTypeWebServiceTest(String testName) throws FileNotFoundException, WaitingException, IOException {
         super(testName);
     }
 
@@ -46,6 +53,7 @@
         kernel.loadGBean(axisname, axisgbean);
         kernel.startGBean(axisname);
         File jarfile = new File(getTestFile("target/generated/samples/echo-ewsimpl.jar"));
+        
         kernel.getMBeanServer().invoke(axisname,
                 "deployEWSModule",
                 new Object[]{
@@ -67,8 +75,10 @@
         Class echoClass = echoPort.getClass();
         Method echostuctMethod = echoClass.getMethod("echoStruct", new Class[]{structClass});
         Object structval = structClass.newInstance();
+        
         Object structret = echostuctMethod.invoke(echoPort, new Object[]{null});
         structret = echostuctMethod.invoke(echoPort, new Object[]{structval});
+        
         assertEquals(structval, structret);
         //Thread.currentThread().setContextClassLoader(ocl); 
          

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/EchoHeadersTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/EchoHeadersTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/EchoHeadersTest.java	Thu Nov 18 04:13:07 2004
@@ -15,11 +15,8 @@
  */
 package org.apache.geronimo.axis;
 
-import org.apache.axis.AxisEngine;
-import org.apache.axis.client.Call;
-import org.apache.axis.client.Service;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
-import org.apache.geronimo.kernel.Kernel;
+import java.net.URL;
+import java.net.URLClassLoader;
 
 import javax.management.ObjectName;
 import javax.xml.messaging.URLEndpoint;
@@ -32,8 +29,13 @@
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPEnvelope;
 import javax.xml.soap.SOAPMessage;
-import java.net.URL;
-import java.net.URLClassLoader;
+
+import org.apache.axis.AxisEngine;
+import org.apache.axis.client.Call;
+import org.apache.axis.client.Service;
+import org.apache.geronimo.axis.testUtils.TestingUtils;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.kernel.Kernel;
 
 public class EchoHeadersTest extends AbstractTestCase {
     private ObjectName name;
@@ -53,6 +55,8 @@
         kernel.boot();
         ClassLoader cl = getClass().getClassLoader();
         ClassLoader myCl = new URLClassLoader(new URL[]{}, cl);
+        
+        TestingUtils.startJ2EEContinerAndAxisServlet(kernel);
         GBeanMBean gbean = new GBeanMBean(AxisGbean.getGBeanInfo(), myCl);
         gbean.setAttribute("Name", "Test");
         kernel.loadGBean(name, gbean);
@@ -136,6 +140,7 @@
     }
 
     protected void tearDown() throws Exception {
+        TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
         kernel.stopGBean(name);
         kernel.unloadGBean(name);
         kernel.shutdown();

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/J2EEManagerTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/J2EEManagerTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/J2EEManagerTest.java	Thu Nov 18 04:13:07 2004
@@ -15,10 +15,10 @@
  */
 package org.apache.geronimo.axis;
 
+import javax.management.ObjectName;
+
 import org.apache.geronimo.axis.testUtils.J2EEManager;
 import org.apache.geronimo.kernel.Kernel;
-
-import javax.management.ObjectName;
 
 /**
  * <p>This test case represents the code generation with the EWS module.

Added: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/PlansTest.java
==============================================================================
--- (empty file)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/PlansTest.java	Thu Nov 18 04:13:07 2004
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.axis;
+
+import javax.management.ObjectName;
+
+import org.apache.geronimo.kernel.Kernel;
+
+public class PlansTest extends AbstractTestCase {
+    private ObjectName configBuilderName;
+    private Kernel kernel;
+
+    /**
+     * @param testName
+     */
+    public PlansTest(String testName) {
+        super(testName);
+    }
+
+    public void testSetUpSystemWithPlans() throws Exception {
+        //TODO This test should bring up the Axis module using a plan rather than setting 
+        //up them with the code. When we find out how to do it we should remove this test case 
+        //do all the test cases with plans
+        
+        //kernel.getConfigurationManager().load(new File("modules/axis/test-resources/plans/plan1.xml").toURI());
+    }
+
+    protected void setUp() throws Exception {
+    }
+
+    protected void tearDown() throws Exception {
+    }
+}

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimpleEJBWebServiceTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimpleEJBWebServiceTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimpleEJBWebServiceTest.java	Thu Nov 18 04:13:07 2004
@@ -15,11 +15,6 @@
  */
 package org.apache.geronimo.axis;
 
-import org.apache.geronimo.axis.testUtils.AxisGeronimoConstants;
-import org.apache.geronimo.gbean.WaitingException;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
-
-import javax.management.ObjectName;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -27,9 +22,17 @@
 import java.io.InputStreamReader;
 import java.lang.reflect.Method;
 import java.net.HttpURLConnection;
+import java.net.URI;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.Arrays;
+import java.util.List;
+
+import javax.management.ObjectName;
+
+import org.apache.geronimo.gbean.WaitingException;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.kernel.config.ConfigurationManager;
 
 public class SimpleEJBWebServiceTest extends AbstractWebServiceTest {
 
@@ -41,21 +44,26 @@
         ClassLoader cl = Thread.currentThread().getContextClassLoader();
         ClassLoader myCl = new URLClassLoader(new URL[]{}, cl);
 
-  
+        File jarfile = new File(getTestFile("target/generated/samples/echo-jar/echo-ewsimpl.jar"));
+        ObjectName configName = new ObjectName("geronimo.test:name=" + jarfile.getName());
+        
         //axis gbean        
         GBeanMBean axisgbean = new GBeanMBean(AxisGbean.getGBeanInfo(), myCl);
         kernel.loadGBean(axisname, axisgbean);
         kernel.startGBean(axisname);
-        File jarfile = new File(getTestFile("target/generated/samples/echo-jar/echo-ewsimpl.jar"));
+        
         WSConfigBuilder wsconfBuilder = new WSConfigBuilder(getEARConfigBuilder(), store);
-        File out = new File("target/temp");
-        out.mkdirs();
-        File ws = wsconfBuilder.installWebService(jarfile, out, Thread.currentThread().getContextClassLoader());
-        GBeanMBean[] gbeans = wsconfBuilder.loadtheWSConfigurations(ws, jarfile, cl);
-        ObjectName wsName = ObjectName.getInstance("test:configuration=" + "echo");
-        ObjectName wsEJBName = ObjectName.getInstance("test:configuration=" + "echoEJB");
-        AxisGeronimoUtils.startGBean(wsName, gbeans[0], kernel);
-        AxisGeronimoUtils.startGBean(wsEJBName, gbeans[1], kernel);
+        List uri = wsconfBuilder.buildConfiguration(null, jarfile, outFile);
+        
+        for(int i = 0; i< uri.size();i++){
+            GBeanMBean config = store.getConfiguration((URI) uri.get(i));
+            ConfigurationManager configurationManager = kernel.getConfigurationManager();
+            configName = configurationManager.load(config, null);
+            kernel.startRecursiveGBean(configName);
+        }
+        
+        
+
 
 
         //let us try to brows the WSDL of the service
@@ -160,12 +168,4 @@
         kernel.stopGBean(axisname);
         kernel.unloadGBean(axisname);
     }
-
-    protected void tearDown() throws Exception {
-        j2eeManager.stopJ2EEContainer(kernel);
-        kernel.shutdown();
-        File file = new File(AxisGeronimoConstants.AXIS_CONFIG_STORE);
-        AxisGeronimoUtils.delete(file);
-    }
-
 }

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimplePOJOWebServiceTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimplePOJOWebServiceTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/SimplePOJOWebServiceTest.java	Thu Nov 18 04:13:07 2004
@@ -15,12 +15,6 @@
  */
 package org.apache.geronimo.axis;
 
-import org.apache.axis.utils.ClassUtils;
-import org.apache.geronimo.gbean.WaitingException;
-import org.apache.geronimo.gbean.jmx.GBeanMBean;
-import org.apache.geronimo.kernel.config.ConfigurationManager;
-
-import javax.management.ObjectName;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -33,6 +27,13 @@
 import java.net.URLClassLoader;
 import java.util.List;
 
+import javax.management.ObjectName;
+
+import org.apache.axis.utils.ClassUtils;
+import org.apache.geronimo.gbean.WaitingException;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.kernel.config.ConfigurationManager;
+
 public class SimplePOJOWebServiceTest extends AbstractWebServiceTest {
 
     public SimplePOJOWebServiceTest(String testName) throws FileNotFoundException, WaitingException, IOException {
@@ -44,16 +45,22 @@
         ClassLoader myCl = new URLClassLoader(new URL[]{}, cl);
         File jarfile = new File(getTestFile("target/generated/samples/echo-war/echo-ewsimpl.jar"));
   
-        //axis gbean        
+        //Start axis gbean        
         GBeanMBean axisgbean = new GBeanMBean(AxisGbean.getGBeanInfo(), myCl);
         kernel.loadGBean(axisname, axisgbean);
         kernel.startGBean(axisname);
+
+        //build the configuration
         WSConfigBuilder wsconfBuilder = new WSConfigBuilder(getEARConfigBuilder(), store);
         List uri = wsconfBuilder.buildConfiguration(null, jarfile, outFile);
-        GBeanMBean config = store.getConfiguration((URI) uri.get(0));
-        ConfigurationManager configurationManager = kernel.getConfigurationManager();
-        ObjectName configName = configurationManager.load(config, null);
-        kernel.getMBeanServer().invoke(configName, "startRecursive", null, null);
+        //start the configuration
+        for(int i = 0; i< uri.size();i++){
+            GBeanMBean config = store.getConfiguration((URI) uri.get(i));
+            ConfigurationManager configurationManager = kernel.getConfigurationManager();
+            ObjectName configName = configurationManager.load(config, null);
+            kernel.startRecursiveGBean(configName);
+        }
+
 
         //let us try to brows the WSDL of the service
         URL wsdlrequestUrl = AxisGeronimoUtils.getURL("/axis/services/echoPort?wsdl");

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/AdminClientDeploymentTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/AdminClientDeploymentTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/AdminClientDeploymentTest.java	Thu Nov 18 04:13:07 2004
@@ -44,7 +44,7 @@
     }
 
     public void testDeployWithAdminClientDinamically() throws Exception {
-        File jarFile = new File(outDir + "echo-jar/echo-ewsimpl.jar");
+        File jarFile = new File(outDir , "echo-jar/echo-ewsimpl.jar");
         URLClassLoader cl = new URLClassLoader(new URL[]{jarFile.toURL()});
         InputStream deplydd = cl.getResourceAsStream("deploy.wsdd");
         assertNotNull(deplydd);

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/DynamicEJBDeploymentTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/DynamicEJBDeploymentTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/preconditions/DynamicEJBDeploymentTest.java	Thu Nov 18 04:13:07 2004
@@ -16,21 +16,25 @@
 
 package org.apache.geronimo.axis.preconditions;
 
+import java.io.File;
+import java.net.URI;
+import java.util.jar.JarFile;
+
+import javax.management.ObjectName;
+import javax.naming.Reference;
+
 import org.apache.geronimo.axis.AbstractTestCase;
+import org.apache.geronimo.axis.AxisGeronimoUtils;
+import org.apache.geronimo.axis.testUtils.AxisGeronimoConstants;
 import org.apache.geronimo.axis.testUtils.J2EEManager;
+import org.apache.geronimo.axis.testUtils.TestingUtils;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
 import org.apache.geronimo.j2ee.deployment.EARConfigBuilder;
+import org.apache.geronimo.j2ee.deployment.ResourceReferenceBuilder;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.jmx.JMXUtil;
-import org.apache.geronimo.kernel.management.State;
 import org.openejb.deployment.OpenEJBModuleBuilder;
 
-import javax.management.ObjectName;
-import java.io.File;
-import java.net.URI;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.jar.JarFile;
-
 /**
  * <p>This test case show the infomation about openEJB that we assumed. And the
  * simmlier code code is used in the real code. As the OpenEJB is developing and
@@ -63,51 +67,57 @@
         System.setProperty(javax.naming.Context.URL_PKG_PREFIXES, str);
         kernel = new Kernel("blah");
         kernel.boot();
-        j2eeManager = new J2EEManager();
-        j2eeManager.startJ2EEContainer(kernel);
+        TestingUtils.startJ2EEContinerAndAxisServlet(kernel);
     }
 
+    private ResourceReferenceBuilder resourceReferenceBuilder = TestingUtils.RESOURCE_REFERANCE_BUILDER;
     public void testEJBJarDeploy() throws Exception {
+        File jarFile = new File(outDir , "echo-jar/echo-ewsimpl.jar");
+        
+        URI defaultParentId = new URI("org/apache/geronimo/Server");
         OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(null, defaultParentId, null);
-        File jarFile = new File(outDir + "echo-jar/echo-ewsimpl.jar");
-        ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
-        ClassLoader cl = new URLClassLoader(new URL[]{jarFile.toURL()}, oldCl);
-        Thread.currentThread().setContextClassLoader(cl);
-        File carFile = File.createTempFile("OpenEJBTest", ".car");
-        try {
-            EARConfigBuilder earConfigBuilder =
-                    new EARConfigBuilder(defaultParentId,
-                            new ObjectName(j2eeDomainName + ":j2eeType=J2EEServer,name=" + j2eeServerName),
-                            transactionManagerObjectName,
-                            connectionTrackerObjectName,
-                            null,
-                            null,
-                            null,
-                            moduleBuilder,
-                            moduleBuilder,
-                            null,
-                            null,
-                            null,
-                            null,
-                            null);
+        
+        
+        EARConfigBuilder earConfigBuilder =
+                new EARConfigBuilder(defaultParentId,
+                        new ObjectName(j2eeDomainName + ":j2eeType=J2EEServer,name=" + j2eeServerName),
+                        transactionManagerObjectName,
+                        connectionTrackerObjectName,
+                        null,
+                        null,
+                        null,
+                        moduleBuilder,
+                        moduleBuilder,
+                        null,
+                        null,
+                        resourceReferenceBuilder,
+                        null,
+                        null);
+
+        
             File unpackedDir = new File(tempDir, "OpenEJBTest-ear-Unpacked");
             JarFile jarFileModules = null;
+            System.out.println("**"+jarFile +"**");
             try {
                 jarFileModules = new JarFile(jarFile);
                 Object plan = earConfigBuilder.getDeploymentPlan(null, jarFileModules);
                 earConfigBuilder.buildConfiguration(plan, jarFileModules, unpackedDir);
             } finally {
-                if (jarFile != null) {
+                if (jarFileModules != null) {
                     jarFileModules.close();
                 }
             }
-        } finally {
-            carFile.delete();
-        }
+            ObjectName name = new ObjectName("geronimo.test:name=" + jarFile.getName());
+            GBeanMBean gbean = AxisGeronimoUtils.loadConfig(unpackedDir);
+            kernel.loadGBean(name,gbean);
+            gbean.setAttribute("baseURL",unpackedDir.toURL());
+            kernel.startGBean(name);
+            
     }
 
     protected void tearDown() throws Exception {
-        j2eeManager.stopJ2EEContainer(kernel);
+        TestingUtils.stopJ2EEContinerAndAxisServlet(kernel);
+        kernel.shutdown();
     }
 }
 

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/AxisGeronimoConstants.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/AxisGeronimoConstants.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/AxisGeronimoConstants.java	Thu Nov 18 04:13:07 2004
@@ -15,9 +15,10 @@
  */
 package org.apache.geronimo.axis.testUtils;
 
-import org.apache.geronimo.kernel.jmx.JMXUtil;
-
 import javax.management.ObjectName;
+import org.apache.geronimo.connector.ActivationSpecWrapper;
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.kernel.jmx.JMXUtil;
 
 public class AxisGeronimoConstants {
     public static final String J2EE_DOMAIN_NAME = "openejb.server";
@@ -48,5 +49,6 @@
     public static final ObjectName THREADPOOL_NAME = JMXUtil.getObjectName(J2EE_SERVER_PREFIX + ":type=ThreadPool,name=DefaultThreadPool");
     public static final ObjectName TRANSACTIONAL_TIMER_NAME = JMXUtil.getObjectName(J2EE_SERVER_PREFIX + ":type=ThreadPooledTimer,name=TransactionalThreaPooledTimer");
     public static final ObjectName NONTRANSACTIONAL_TIMER_NAME = JMXUtil.getObjectName(J2EE_SERVER_PREFIX + ":type=ThreadPooledTimer,name=NonTransactionalThreaPooledTimer");
-
+    public static final GBeanData ACTIVATION_SPEC_INFO = new GBeanData(ActivationSpecWrapper.getGBeanInfo());
+    
 }

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManager.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManager.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManager.java	Thu Nov 18 04:13:07 2004
@@ -16,6 +16,12 @@
 
 package org.apache.geronimo.axis.testUtils;
 
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
 import org.apache.axis.AxisFault;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -30,11 +36,6 @@
 import org.apache.geronimo.timer.vm.VMStoreThreadPooledTransactionalTimer;
 import org.apache.geronimo.transaction.GeronimoTransactionManager;
 import org.apache.geronimo.transaction.context.TransactionContextManager;
-
-import javax.management.ObjectName;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
 
 public class J2EEManager {
     public static final Log log = LogFactory.getLog(J2EEManager.class);

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManagerTest.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManagerTest.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/J2EEManagerTest.java	Thu Nov 18 04:13:07 2004
@@ -15,10 +15,10 @@
  */
 package org.apache.geronimo.axis.testUtils;
 
+import javax.management.ObjectName;
+
 import org.apache.geronimo.axis.AbstractTestCase;
 import org.apache.geronimo.kernel.Kernel;
-
-import javax.management.ObjectName;
 
 /**
  * <p>This test case represents the code generation with the EWS module.

Modified: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/JettyServiceWrapper.java
==============================================================================
--- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/JettyServiceWrapper.java	(original)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/JettyServiceWrapper.java	Thu Nov 18 04:13:07 2004
@@ -16,6 +16,13 @@
 
 package org.apache.geronimo.axis.testUtils;
 
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
 import org.apache.geronimo.axis.AxisGeronimoUtils;
 import org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator;
 import org.apache.geronimo.gbean.jmx.GBeanMBean;
@@ -24,12 +31,6 @@
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.transaction.GeronimoTransactionManager;
 import org.apache.geronimo.transaction.context.TransactionContextManager;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
 
 /**
  * <p>This class wrap the Jetty service, This is a test utility only</p>

Added: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/MockActivationSpec.java
==============================================================================
--- (empty file)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/MockActivationSpec.java	Thu Nov 18 04:13:07 2004
@@ -0,0 +1,108 @@
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" and
+ *    "Apache Geronimo" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    "Apache Geronimo", nor may "Apache" appear in their name, without
+ *    prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ * ====================================================================
+ */
+package org.apache.geronimo.axis.testUtils;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ActivationSpec;
+import javax.resource.spi.InvalidPropertyException;
+import javax.resource.spi.ResourceAdapter;
+
+/**
+ * @version $Revision: 1.1 $ $Date: 2004/11/10 01:35:12 $
+ */
+public class MockActivationSpec implements ActivationSpec {
+
+    private ResourceAdapter resourceAdapter;
+
+    private boolean raSet = false;
+
+    private String QueueName;
+
+
+    /**
+     * @see javax.resource.spi.ActivationSpec#validate()
+     */
+    public void validate() throws InvalidPropertyException {
+    }
+
+    /**
+     * @see javax.resource.spi.ResourceAdapterAssociation#getResourceAdapter()
+     */
+    public ResourceAdapter getResourceAdapter() {
+        return resourceAdapter;
+    }
+
+    /**
+     * @see javax.resource.spi.ResourceAdapterAssociation#setResourceAdapter(javax.resource.spi.ResourceAdapter)
+     */
+    public void setResourceAdapter(ResourceAdapter resourceAdapter) throws ResourceException {
+        //spec section 5.3.3
+        if (raSet) {
+            throw new ResourceException("ResourceAdapter already set");
+        }
+        this.resourceAdapter = resourceAdapter;
+        raSet = true;
+    }
+
+    public String getQueueName() {
+        return QueueName;
+    }
+
+    public void setQueueName(String queueName) {
+        QueueName = queueName;
+    }
+
+}
\ No newline at end of file

Added: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java
==============================================================================
--- (empty file)
+++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testUtils/TestingUtils.java	Thu Nov 18 04:13:07 2004
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2003,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.axis.testUtils;
+
+import java.net.URI;
+import java.net.URL;
+import java.util.Collections;
+
+import javax.management.ObjectName;
+import javax.naming.Reference;
+
+import org.apache.geronimo.axis.AxisGeronimoUtils;
+import org.apache.geronimo.deployment.DeploymentException;
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.gbean.jmx.GBeanMBean;
+import org.apache.geronimo.j2ee.deployment.ResourceReferenceBuilder;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.transaction.OnlineUserTransaction;
+
+public class TestingUtils {
+    
+    protected static J2EEManager j2eeManager  = new J2EEManager();
+    
+
+    public static void startJ2EEContinerAndAxisServlet(Kernel kernel) throws Exception{
+        //This does the work need to be done by plan
+        j2eeManager.startJ2EEContainer(kernel);
+        //start the Axis Serverlet which would be started by the service plan
+        org.apache.geronimo.jetty.JettyWebAppContext c = null;
+        GBeanMBean app = new GBeanMBean("org.apache.geronimo.jetty.JettyWebAppContext");
+        URL url =
+                Thread.currentThread().getContextClassLoader().getResource("deployables/axis/");
+        System.out.print(url);
+        app.setAttribute("uri", URI.create(url.toString()));
+        app.setAttribute("contextPath", "/axis");
+        app.setAttribute("componentContext", null);
+        OnlineUserTransaction userTransaction = new OnlineUserTransaction();
+        app.setAttribute("userTransaction", userTransaction);
+        app.setAttribute("webClassPath", new URI[0]);
+        app.setAttribute("contextPriorityClassLoader", Boolean.FALSE);
+        app.setReferencePatterns("JettyContainer", Collections.singleton(AxisGeronimoConstants.WEB_CONTAINER_NAME));
+        app.setAttribute("configurationBaseUrl", Thread.currentThread().getContextClassLoader().getResource("deployables/"));
+        app.setReferencePattern("TransactionContextManager", AxisGeronimoConstants.TRANSACTION_CONTEXT_MANAGER_NAME);
+        app.setReferencePattern("TrackedConnectionAssociator", AxisGeronimoConstants.TRACKED_CONNECTION_ASSOCIATOR_NAME);
+        AxisGeronimoUtils.startGBean(AxisGeronimoConstants.APPLICATION_NAME, app, kernel);
+
+    }
+    
+    public static void stopJ2EEContinerAndAxisServlet(Kernel kernel) throws Exception{
+        j2eeManager.stopJ2EEContainer(kernel);
+    }
+    
+    public static ResourceReferenceBuilder RESOURCE_REFERANCE_BUILDER = new ResourceReferenceBuilder() {
+
+        public Reference createResourceRef(String containerId, Class iface) {
+            return null;
+        }
+
+        public Reference createAdminObjectRef(String containerId, Class iface) {
+            return null;
+        }
+
+        public ObjectName locateResourceName(ObjectName query) {
+            return AxisGeronimoConstants.RESOURCE_ADAPTER_NAME;
+        }
+
+        public GBeanData locateActivationSpecInfo(ObjectName resourceAdapterModuleName, String messageListenerInterface) {
+            return AxisGeronimoConstants.ACTIVATION_SPEC_INFO;
+        }
+
+        public GBeanData locateResourceAdapterGBeanData(ObjectName resourceAdapterModuleName) throws DeploymentException {
+            return null;
+        }
+
+        public GBeanData locateAdminObjectInfo(ObjectName resourceAdapterModuleName, String adminObjectInterfaceName) throws DeploymentException {
+            return null;
+        }
+
+        public GBeanData locateConnectionFactoryInfo(ObjectName resourceAdapterModuleName, String connectionFactoryInterfaceName) throws DeploymentException {
+            return null;
+        }
+    };
+
+}