djencks     2005/01/21 19:39:15

  Modified:    modules/openejb-builder/src/test/org/openejb/deployment
                        CMPEntityBuilderTest.java DeploymentHelper.java
                        EJBConfigBuilderTest.java
  Added:       modules/openejb-builder/src/test/org/openejb/deployment
                        KernelHelper.java
  Log:

  GERONIMO-450 progress: get the domain and J2EEServer for gbeans from the 
parent config, or specify them explicitly if there is not parent.  Also some 
improvements in storing enhanced/generated classes in a config.
  
  Revision  Changes    Path
  1.6       +18 -17    
openejb/modules/openejb-builder/src/test/org/openejb/deployment/CMPEntityBuilderTest.java
  
  Index: CMPEntityBuilderTest.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/CMPEntityBuilderTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CMPEntityBuilderTest.java 26 Dec 2004 20:30:03 -0000      1.5
  +++ CMPEntityBuilderTest.java 22 Jan 2005 00:39:15 -0000      1.6
  @@ -87,13 +87,20 @@
    *
    * */
   public class CMPEntityBuilderTest extends TestCase {
  -    private URI defaultParentId = null;
       private SkeletonGenerator skeletonGenerator = null;
       private Repository repository = null;
       private Kernel kernel = null;
   
       private static final File basedir = new 
File(System.getProperty("basedir", System.getProperty("user.dir")));
   
  +    protected void setUp() throws Exception {
  +        kernel = KernelHelper.getPreparedKernel();
  +    }
  +
  +    protected void tearDown() throws Exception {
  +        kernel.shutdown();
  +    }
  +
       public void testOneToOne() throws Exception {
           executeOneToOne("src/test-cmp/onetoone/simplepk/ejb-jar.xml", 
"src/test-cmp/onetoone/simplepk/openejb-jar.xml");
       }
  @@ -108,7 +115,7 @@
           EjbJarType ejbJarType = ((EjbJarDocument) 
XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
           OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument) 
XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
           
  -        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
  +        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator, 
repository, kernel);
           CMPEntityBuilder builder = new CMPEntityBuilder(moduleBuilder);
           
           GlobalSchema globalSchema = new GlobalSchema("Test");
  @@ -120,10 +127,8 @@
               EARContext earContext = new EARContext(tempDir,
                       new URI("test"),
                       ConfigurationModuleType.EJB,
  -                    null,
  -                    null,
  -                    "geronimo.server",
  -                    "TestGeronimoServer",
  +                    KernelHelper.DEFAULT_PARENTID,
  +                    kernel,
                       "null",
                       null,
                       null,
  @@ -155,7 +160,7 @@
           EjbJarType ejbJarType = ((EjbJarDocument) 
XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
           OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument) 
XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
           
  -        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
  +        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator, 
repository, kernel);
           CMPEntityBuilder builder = new CMPEntityBuilder(moduleBuilder);
           
           GlobalSchema globalSchema = new GlobalSchema("Test");
  @@ -167,10 +172,8 @@
               EARContext earContext = new EARContext(tempDir,
                       new URI("test"),
                       ConfigurationModuleType.EJB,
  -                    null,
  -                    null,
  -                    "geronimo.server",
  -                    "TestGeronimoServer",
  +                    KernelHelper.DEFAULT_PARENTID,
  +                    kernel,
                       "null",
                       null,
                       null,
  @@ -203,7 +206,7 @@
           EjbJarType ejbJarType = ((EjbJarDocument) 
XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
           OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument) 
XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
           
  -        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
  +        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator, 
repository, kernel);
           CMPEntityBuilder builder = new CMPEntityBuilder(moduleBuilder);
           
           GlobalSchema globalSchema = new GlobalSchema("Test");
  @@ -215,10 +218,8 @@
               EARContext earContext = new EARContext(tempDir,
                       new URI("test"),
                       ConfigurationModuleType.EJB,
  -                    null,
  -                    null,
  -                    "geronimo.server",
  -                    "TestGeronimoServer",
  +                    KernelHelper.DEFAULT_PARENTID,
  +                    kernel,
                       "null",
                       null,
                       null,
  
  
  
  1.5       +3 -4      
openejb/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java
  
  Index: DeploymentHelper.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentHelper.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DeploymentHelper.java     11 Dec 2004 05:03:33 -0000      1.4
  +++ DeploymentHelper.java     22 Jan 2005 00:39:15 -0000      1.5
  @@ -113,9 +113,8 @@
           }
       }
   
  -    public static Kernel setUpKernelWithTransactionManager(String 
kernelName) throws Exception {
  -        Kernel kernel = new Kernel(kernelName);
  -        kernel.boot();
  +    public static Kernel setUpKernelWithTransactionManager() throws 
Exception {
  +        Kernel kernel = KernelHelper.getPreparedKernel();
   
           GBeanData tmGBean = new GBeanData(TRANSACTIONMANAGER_NAME, 
TransactionManagerImpl.GBEAN_INFO);
           Set rmpatterns = new HashSet();
  
  
  
  1.12      +30 -19    
openejb/modules/openejb-builder/src/test/org/openejb/deployment/EJBConfigBuilderTest.java
  
  Index: EJBConfigBuilderTest.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/EJBConfigBuilderTest.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- EJBConfigBuilderTest.java 18 Jan 2005 06:13:40 -0000      1.11
  +++ EJBConfigBuilderTest.java 22 Jan 2005 00:39:15 -0000      1.12
  @@ -62,6 +62,7 @@
   import java.util.Set;
   import java.util.Map;
   import java.util.List;
  +import java.util.Iterator;
   import java.util.jar.JarFile;
   import javax.ejb.EJBHome;
   import javax.management.ObjectName;
  @@ -85,6 +86,7 @@
   import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
   import org.apache.geronimo.j2ee.management.impl.J2EEServerImpl;
   import org.apache.geronimo.kernel.Kernel;
  +import org.apache.geronimo.kernel.config.Configuration;
   import org.apache.geronimo.kernel.repository.Repository;
   import org.apache.geronimo.kernel.management.State;
   import org.apache.geronimo.system.serverinfo.ServerInfo;
  @@ -97,8 +99,8 @@
    */
   public class EJBConfigBuilderTest extends TestCase {
   
  -    private static final String j2eeDomainName = "openejb.server";
  -    private static final String j2eeServerName = "TestOpenEJBServer";
  +    private static final String j2eeDomainName = "test";
  +    private static final String j2eeServerName = "bar";
       private Repository repository = null;
       private Kernel kernel;
   
  @@ -135,13 +137,12 @@
   
       private final ServiceReferenceBuilder serviceReferenceBuilder = new 
ServiceReferenceBuilder() {
           //it could return a Service or a Reference, we don't care
  -        public Object createService(Class serviceInterface, URI wsdlURI, URI 
jaxrpcMappingURI, QName serviceQName, Map portComponentRefMap, List handlers, 
DeploymentContext deploymentContext, ClassLoader classLoader) throws 
DeploymentException {
  +        public Object createService(Class serviceInterface, URI wsdlURI, URI 
jaxrpcMappingURI, QName serviceQName, Map portComponentRefMap, List handlers, 
DeploymentContext deploymentContext, Module module, ClassLoader classLoader) 
throws DeploymentException {
               return null;
           }
       };
   
       private J2eeContext j2eeContext = new J2eeContextImpl(j2eeDomainName, 
j2eeServerName, NameFactory.NULL, "testejbmodule", "testapp", 
NameFactory.J2EE_APPLICATION);
  -    private URI defaultParentId;
   
   //    public void testCreateResourceAdapterNameQuery() throws Exception {
   //        File tempDir = null;
  @@ -188,7 +189,7 @@
   
           OpenORBSkeletonGenerator skeletonGenerator = new 
OpenORBSkeletonGenerator(cl);
           skeletonGenerator.doStart();
  -        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
  +        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator, 
repository, kernel);
   
           JarFile jarFile = DeploymentUtil.createJarFile(ejbJarFile);
           Module module = moduleBuilder.createModule(null, jarFile);
  @@ -200,9 +201,7 @@
                       module.getConfigId(),
                       module.getType(),
                       module.getParentId(),
  -                    null,
  -                    j2eeDomainName,
  -                    j2eeServerName,
  +                    kernel,
                       j2eeApplicationName,
                       DeploymentHelper.TRANSACTIONCONTEXTMANAGER_NAME,
                       DeploymentHelper.TRACKEDCONNECTIONASSOCIATOR_NAME,
  @@ -236,12 +235,12 @@
   
           OpenORBSkeletonGenerator skeletonGenerator = new 
OpenORBSkeletonGenerator(cl);
           skeletonGenerator.doStart();
  -        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
  +        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator, 
repository, kernel);
   
           File tempDir = null;
           try {
               tempDir = DeploymentUtil.createTempDir();
  -            EARConfigBuilder earConfigBuilder = new 
EARConfigBuilder(defaultParentId, new ObjectName(j2eeDomainName + 
":j2eeType=J2EEServer,name=" + j2eeServerName),
  +            EARConfigBuilder earConfigBuilder = new 
EARConfigBuilder(KernelHelper.DEFAULT_PARENTID,
                       DeploymentHelper.TRANSACTIONCONTEXTMANAGER_NAME,
                       DeploymentHelper.TRACKEDCONNECTIONASSOCIATOR_NAME,
                       DeploymentHelper.TRANSACTIONALTIMER_NAME,
  @@ -252,7 +251,8 @@
                       null, null, resourceReferenceBuilder, // web
                       // connector
                       null, // app client
  -                    serviceReferenceBuilder, null // kernel
  +                    serviceReferenceBuilder,
  +                    kernel
               );
   
               JarFile jarFile = null;
  @@ -285,12 +285,12 @@
   
           OpenORBSkeletonGenerator skeletonGenerator = new 
OpenORBSkeletonGenerator(cl);
           skeletonGenerator.doStart();
  -        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(defaultParentId, skeletonGenerator, repository, kernel);
  +        OpenEJBModuleBuilder moduleBuilder = new 
OpenEJBModuleBuilder(KernelHelper.DEFAULT_PARENTID, skeletonGenerator, 
repository, kernel);
   
           File tempDir = null;
           try {
               tempDir = DeploymentUtil.createTempDir();
  -            EARConfigBuilder earConfigBuilder = new 
EARConfigBuilder(defaultParentId, new ObjectName(j2eeDomainName + 
":j2eeType=J2EEServer,name=" + j2eeServerName),
  +            EARConfigBuilder earConfigBuilder = new 
EARConfigBuilder(KernelHelper.DEFAULT_PARENTID,
                       DeploymentHelper.TRANSACTIONCONTEXTMANAGER_NAME,
                       DeploymentHelper.TRACKEDCONNECTIONASSOCIATOR_NAME,
                       DeploymentHelper.TRANSACTIONALTIMER_NAME,
  @@ -301,7 +301,8 @@
                       null, null, resourceReferenceBuilder, // web
                       // connector
                       null, // app client
  -                    serviceReferenceBuilder, null // kernel
  +                    serviceReferenceBuilder,
  +                    kernel
               );
   
               JarFile jarFile = DeploymentUtil.createJarFile(earFile);
  @@ -317,9 +318,12 @@
       private void verifyDeployment(File tempDir, ClassLoader cl, String 
j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String 
j2eeModuleName) throws Exception {
           DataSource ds = null;
           try {
  -            ObjectName objectName = 
ObjectName.getInstance("test:configuration=test-ejb-jar");
  +            ObjectName objectName = 
Configuration.getConfigurationObjectName(URI.create("test-ejb-jar"));
  +//                    
ObjectName.getInstance("test:configuration=test-ejb-jar");
               GBeanData config = loadConfig(tempDir);
               config.setName(objectName);
  +            config.setAttribute("baseURL", tempDir.toURL());
  +            config.setAttribute("parentID", KernelHelper.DEFAULT_PARENTID);
   
               ObjectName containerIndexObjectName = 
ObjectName.getInstance(j2eeDomainName + ":type=ContainerIndex");
               GBeanData containerIndexGBean = new 
GBeanData(containerIndexObjectName, ContainerIndex.GBEAN_INFO);
  @@ -352,10 +356,18 @@
   
               // load the configuration
               kernel.loadGBean(config, cl);
  -            kernel.setAttribute(objectName, "baseURL", tempDir.toURL());
   
               // start the configuration
               kernel.startRecursiveGBean(objectName);
  +
  +//            Set names = kernel.listGBeans(ObjectName.getInstance("*:*"));
  +//            for (Iterator iterator = names.iterator(); 
iterator.hasNext();) {
  +//                ObjectName name = (ObjectName) iterator.next();
  +//                int state = ((Integer) kernel.getAttribute(name, 
"state")).intValue();
  +//                if (State.RUNNING_INDEX != state) {
  +//                    System.out.println("Not running: " + name);
  +//                }
  +//            }
               assertRunning(kernel, objectName);
   
               ObjectName applicationObjectName = 
ObjectName.getInstance(j2eeDomainName + ":j2eeType=J2EEApplication,name=" + 
j2eeApplicationName + ",J2EEServer=" + j2eeServerName);
  @@ -460,7 +472,6 @@
       protected void setUp() throws Exception {
           super.setUp();
           ClassLoader cl = getClass().getClassLoader();
  -        defaultParentId = new URI("org/apache/geronimo/Server");
           String str = 
System.getProperty(javax.naming.Context.URL_PKG_PREFIXES);
           if (str == null) {
               str = ":org.apache.geronimo.naming";
  @@ -469,7 +480,7 @@
           }
           System.setProperty(javax.naming.Context.URL_PKG_PREFIXES, str);
   
  -        kernel = 
DeploymentHelper.setUpKernelWithTransactionManager("EJBConfigBuilderTest");
  +        kernel = DeploymentHelper.setUpKernelWithTransactionManager();
           DeploymentHelper.setUpTimer(kernel);
   
           ObjectName serverInfoObjectName = 
ObjectName.getInstance(j2eeDomainName + ":type=ServerInfo");
  
  
  
  1.1                  
openejb/modules/openejb-builder/src/test/org/openejb/deployment/KernelHelper.java
  
  Index: KernelHelper.java
  ===================================================================
  /**
   *
   * 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.openejb.deployment;
  
  import java.io.ByteArrayOutputStream;
  import java.io.File;
  import java.io.IOException;
  import java.io.ObjectOutputStream;
  import java.net.URI;
  import java.net.URL;
  import java.util.List;
  import javax.management.MalformedObjectNameException;
  
  import org.apache.geronimo.gbean.GBeanData;
  import org.apache.geronimo.gbean.GBeanInfo;
  import org.apache.geronimo.gbean.GBeanInfoBuilder;
  import org.apache.geronimo.kernel.Kernel;
  import org.apache.geronimo.kernel.config.Configuration;
  import org.apache.geronimo.kernel.config.ConfigurationStore;
  import org.apache.geronimo.kernel.config.InvalidConfigException;
  import org.apache.geronimo.kernel.config.NoSuchConfigException;
  import org.apache.geronimo.kernel.jmx.JMXUtil;
  import org.apache.geronimo.kernel.registry.BasicGBeanRegistry;
  
  /**
   * @version $Rev:  $ $Date: 2005/01/22 00:39:15 $
   */
  public class KernelHelper {
      public static final URI DEFAULT_PARENTID = 
URI.create("org/apache/geronimo/Server");
  
      public static Kernel getPreparedKernel() throws Exception {
          Kernel kernel = new Kernel("bar", new BasicGBeanRegistry());
          kernel.boot();
          GBeanData store = new 
GBeanData(JMXUtil.getObjectName("foo:j2eeType=ConfigurationStore,name=mock"), 
MockConfigStore.GBEAN_INFO);
          kernel.loadGBean(store, KernelHelper.class.getClassLoader());
          kernel.startGBean(store.getName());
  
          GBeanData baseConfig = (GBeanData) kernel.invoke(store.getName(), 
"getConfiguration", new Object[]{DEFAULT_PARENTID}, new 
String[]{URI.class.getName()});
          kernel.loadGBean(baseConfig, KernelHelper.class.getClassLoader());
          kernel.startGBean(baseConfig.getName());
  
          return kernel;
      }
  
  
      public static class MockConfigStore implements ConfigurationStore {
          public URI install(URL source) throws IOException, 
InvalidConfigException {
              return null;
          }
  
          public URI install(File source) throws IOException, 
InvalidConfigException {
              return null;
          }
  
          public void uninstall(URI configID) throws NoSuchConfigException, 
IOException {
  
          }
  
          public boolean containsConfiguration(URI configID) {
              return true;
          }
  
          public GBeanData getConfiguration(URI id) throws 
NoSuchConfigException, IOException, InvalidConfigException {
              GBeanData configData = null;
              try {
                  configData = new 
GBeanData(Configuration.getConfigurationObjectName(id), 
Configuration.GBEAN_INFO);
              } catch (MalformedObjectNameException e) {
                  throw new InvalidConfigException(e);
              }
              configData.setAttribute("ID", id);
              configData.setAttribute("domain", "test");
              configData.setAttribute("server", "bar");
              configData.setAttribute("gBeanState", NO_OBJECTS_OS);
              return configData;
          }
  
          public void updateConfiguration(Configuration configuration) throws 
NoSuchConfigException, Exception {
  
          }
  
          public URL getBaseURL(URI id) throws NoSuchConfigException {
              return null;
          }
  
          public String getObjectName() {
              return null;
          }
  
          public List listConfiguations() {
              return null;
          }
  
          public File createNewConfigurationDir() {
              return null;
          }
  
          public final static GBeanInfo GBEAN_INFO;
  
          private static final byte[] NO_OBJECTS_OS;
  
          static {
              GBeanInfoBuilder infoBuilder = new 
GBeanInfoBuilder(MockConfigStore.class);
              infoBuilder.addInterface(ConfigurationStore.class);
              GBEAN_INFO = infoBuilder.getBeanInfo();
  
              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              try {
                  ObjectOutputStream oos = new ObjectOutputStream(baos);
                  oos.flush();
                  NO_OBJECTS_OS = baos.toByteArray();
              } catch (IOException e) {
                  throw new RuntimeException(e);
              }
          }
      };
  
  
  }
  
  
  

Reply via email to