You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2007/01/21 03:41:57 UTC

svn commit: r498235 - in /geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment: EjbModuleBuilder.java XmlUtil.java

Author: dain
Date: Sat Jan 20 18:41:56 2007
New Revision: 498235

URL: http://svn.apache.org/viewvc?view=rev&rev=498235
Log:
Generate CMP2 impl during deployment and save into earContext

Modified:
    geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
    geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/XmlUtil.java

Modified: geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java?view=diff&rev=498235&r1=498234&r2=498235
==============================================================================
--- geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java Sat Jan 20 18:41:56 2007
@@ -64,6 +64,8 @@
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.alt.config.ejb.OpenejbJar;
 import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.Cmp2Builder;
+import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.EjbLocalRef;
 import org.apache.openejb.jee.EjbRef;
@@ -316,11 +318,31 @@
         // build the config info tree
         // this method fills in the ejbJar jaxb tree based on the annotations
         // (metadata complete) and it run the openejb verifier
+        EjbJarInfo ejbJarInfo;
         try {
-            EjbJarInfo ejbJarInfo = openEjbSystem.configureApplication(ejbModule.getEjbModule());
+            ejbJarInfo = openEjbSystem.configureApplication(ejbModule.getEjbModule());
             ejbModule.setEjbJarInfo(ejbJarInfo);
         } catch (OpenEJBException e) {
             e.printStackTrace();
+            throw new DeploymentException(e);
+        }
+
+        // generate the CMP2 implementation classes
+        // Generate the cmp2 concrete subclasses
+        AppInfo appInfo = new AppInfo();
+        appInfo.ejbJars.add(ejbJarInfo);
+        Cmp2Builder cmp2Builder = new Cmp2Builder(appInfo, classLoader);
+        try {
+            File generatedJar = cmp2Builder.getJarFile();
+            if (generatedJar != null) {
+                String generatedPath = module.getTargetPath();
+                if (generatedPath.endsWith(".jar")) {
+                    generatedPath = generatedPath.substring(0, generatedPath.length() -4);
+                }
+                generatedPath += "-cmp2.jar";
+                earContext.addInclude(URI.create(generatedPath), generatedJar);
+            }
+        } catch (IOException e) {
             throw new DeploymentException(e);
         }
 

Modified: geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/XmlUtil.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/XmlUtil.java?view=diff&rev=498235&r1=498234&r2=498235
==============================================================================
--- geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/XmlUtil.java (original)
+++ geronimo/server/trunk/modules/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/XmlUtil.java Sat Jan 20 18:41:56 2007
@@ -111,6 +111,9 @@
                     openejbJarXml = xmlObject.xmlText();
                 } else {
                     URL path = DeploymentUtil.createJarURL(moduleFile, "META-INF/openejb-jar.xml");
+                    if (path == null) {
+                        return null;
+                    }
                     openejbJarXml = DeploymentUtil.readAll(path);
                 }
             }