You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2007/01/19 01:26:56 UTC

svn commit: r497657 - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ itests/openejb-itests-beans/src/main/resources/META-INF/

Author: dain
Date: Thu Jan 18 16:26:55 2007
New Revision: 497657

URL: http://svn.apache.org/viewvc?view=rev&rev=497657
Log:
Generate cmp2 impl in createApplication and fix class loader related bugs
Fixed some typos in the itest ejb-jar.xml file

Modified:
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Cmp2Builder.java
    incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?view=diff&rev=497657&r1=497656&r2=497657
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Thu Jan 18 16:26:55 2007
@@ -293,6 +293,13 @@
     }
 
     public void createApplication(AppInfo appInfo, ClassLoader classLoader) throws OpenEJBException, IOException, NamingException {
+        // Generate the cmp2 concrete subclasses
+        Cmp2Builder cmp2Builder = new Cmp2Builder(appInfo, classLoader);
+        File generatedJar = cmp2Builder.getJarFile();
+        if (generatedJar != null) {
+            classLoader = new URLClassLoader(new URL [] {generatedJar.toURL()}, classLoader);
+        }
+
 
         // JPA - Persistence Units MUST be processed first since they will add ClassFileTransformers
         // to the class loader which must be added before any classes are loaded
@@ -368,13 +375,6 @@
         }
         for (String jarPath : appInfo.libs) {
             jars.add(toUrl(jarPath));
-        }
-
-        // Generate the cmp2 concrete subclasses
-        Cmp2Builder cmp2Builder = new Cmp2Builder(appInfo);
-        File generatedJar = cmp2Builder.getJarFile();
-        if (generatedJar != null) {
-            jars.add(generatedJar.toURL());
         }
 
         // Create the class loader

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Cmp2Builder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Cmp2Builder.java?view=diff&rev=497657&r1=497656&r2=497657
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Cmp2Builder.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Cmp2Builder.java Thu Jan 18 16:26:55 2007
@@ -42,26 +42,9 @@
     private final Set<String> entries = new TreeSet<String>();
     private final AppInfo appInfo;
 
-    public Cmp2Builder(AppInfo appInfo) throws OpenEJBException {
+    public Cmp2Builder(AppInfo appInfo, ClassLoader classLoader) {
         this.appInfo = appInfo;
-
-        // create a tempClassLoader
-        try {
-            List<URL> jars = null;
-            jars = new ArrayList<URL>();
-            for (EjbJarInfo info : appInfo.ejbJars) {
-                jars.add(new File(info.jarPath).toURL());
-            }
-            for (ClientInfo info : appInfo.clients) {
-                jars.add(new File(info.codebase).toURL());
-            }
-            for (String jarPath : appInfo.libs) {
-                jars.add(new File(jarPath).toURL());
-            }
-            tempClassLoader = new TemporaryClassLoader(jars.toArray(new URL[]{}), OpenEJB.class.getClassLoader());
-        } catch (Exception e) {
-            throw new OpenEJBException("Unable to create temporary class loader", e);
-        }
+        tempClassLoader = new TemporaryClassLoader(classLoader);
     }
 
     public File getJarFile() throws IOException {

Modified: incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml?view=diff&rev=497657&r1=497656&r2=497657
==============================================================================
--- incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml (original)
+++ incubator/openejb/trunk/openejb3/itests/openejb-itests-beans/src/main/resources/META-INF/ejb-jar.xml Thu Jan 18 16:26:55 2007
@@ -1340,7 +1340,7 @@
         <ejb-ref-name>stateful/rmi-iiop/home</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <home>org.apache.openejb.test.stateful.EncStatefulHome</home>
-        <remote>org.apache.openejb.test.stateful.EncStatefulBean</remote>
+        <remote>org.apache.openejb.test.stateful.EncStatefulObject</remote>
         <ejb-link>EncStatefulBean</ejb-link>
       </ejb-ref>
       <security-role-ref>
@@ -1956,7 +1956,7 @@
         <ejb-ref-name>stateless/rmi-iiop/home</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <home>org.apache.openejb.test.stateless.EncStatelessHome</home>
-        <remote>org.apache.openejb.test.stateless.EncStatelessBean</remote>
+        <remote>org.apache.openejb.test.stateless.EncStatelessObject</remote>
         <ejb-link>EncStatelessBean</ejb-link>
       </ejb-ref>
       <security-role-ref>