Author: rmannibucau
Date: Thu Sep 13 15:54:34 2012
New Revision: 1384388

URL: http://svn.apache.org/viewvc?rev=1384388&view=rev
Log:
tomee embedded could change moduleName of ejbmodule and moduleId of webapp so 
then the ejbmodule of the webapp was no using the same moduleid.

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/PojoUtil.java
    
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
    
openejb/trunk/openejb/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
    
openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/PojoUtil.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/PojoUtil.java?rev=1384388&r1=1384387&r2=1384388&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/PojoUtil.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/PojoUtil.java
 Thu Sep 13 15:54:34 2012
@@ -16,7 +16,10 @@
  */
 package org.apache.openejb.assembler.classic.util;
 
+import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.EjbJarInfo;
 import org.apache.openejb.assembler.classic.IdPropertiesInfo;
+import org.apache.openejb.assembler.classic.WebAppInfo;
 
 import java.util.Collection;
 import java.util.Properties;
@@ -34,4 +37,22 @@ public final class PojoUtil {
         }
         return null;
     }
+
+    public static Collection<IdPropertiesInfo> findPojoConfig(final 
Collection<IdPropertiesInfo> pojoConfigurations, final AppInfo appInfo, final 
WebAppInfo webApp) {
+        if (pojoConfigurations == null) {
+            for (EjbJarInfo ejbJarInfo : appInfo.ejbJars) {
+                if (ejbJarInfo.moduleId.equals(webApp.moduleId)) {
+                    return ejbJarInfo.pojoConfigurations;
+                }
+            }
+
+            // useless normally but we had some code where modulName was the 
webapp moduleId
+            for (EjbJarInfo ejbJarInfo : appInfo.ejbJars) {
+                if (ejbJarInfo.moduleName.equals(webApp.moduleId)) {
+                    return ejbJarInfo.pojoConfigurations;
+                }
+            }
+        }
+        return pojoConfigurations;
+    }
 }

Modified: 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java?rev=1384388&r1=1384387&r2=1384388&view=diff
==============================================================================
--- 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
 (original)
+++ 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
 Thu Sep 13 15:54:34 2012
@@ -167,7 +167,7 @@ public abstract class RESTService implem
                     // no more a singleton if the ejb is not a singleton...but 
it is a weird case
                     deployEJB(appPrefix, 
restEjbs.get(o.getClass().getName()).context, additionalProviders, 
appInfo.services);
                 } else {
-                    pojoConfigurations = findPojoConfig(pojoConfigurations, 
appInfo, webApp);
+                    pojoConfigurations = 
PojoUtil.findPojoConfig(pojoConfigurations, appInfo, webApp);
                     deploySingleton(appPrefix, o, appInstance, classLoader, 
additionalProviders,
                             new 
ServiceConfiguration(PojoUtil.findConfiguration(pojoConfigurations, 
o.getClass().getName()), appInfo.services));
                 }
@@ -177,7 +177,7 @@ public abstract class RESTService implem
                 if (hasEjbAndIsNotAManagedBean(restEjbs, clazz.getName())) {
                     deployEJB(appPrefix, 
restEjbs.get(clazz.getName()).context, additionalProviders, appInfo.services);
                 } else {
-                    pojoConfigurations = findPojoConfig(pojoConfigurations, 
appInfo, webApp);
+                    pojoConfigurations = 
PojoUtil.findPojoConfig(pojoConfigurations, appInfo, webApp);
                     deployPojo(appPrefix, clazz, appInstance, classLoader, 
injections, context, owbCtx, additionalProviders,
                             new 
ServiceConfiguration(PojoUtil.findConfiguration(pojoConfigurations, 
clazz.getName()), appInfo.services));
                 }
@@ -203,7 +203,7 @@ public abstract class RESTService implem
                 } else {
                     try {
                         Class<?> loadedClazz = classLoader.loadClass(clazz);
-                        pojoConfigurations = 
findPojoConfig(pojoConfigurations, appInfo, webApp);
+                        pojoConfigurations = 
PojoUtil.findPojoConfig(pojoConfigurations, appInfo, webApp);
                         deployPojo(appPrefix, loadedClazz, null, classLoader, 
injections, context, owbCtx,
                                 additionalProviders,
                                 new 
ServiceConfiguration(PojoUtil.findConfiguration(pojoConfigurations, 
loadedClazz.getName()), appInfo.services));
@@ -217,17 +217,6 @@ public abstract class RESTService implem
         restEjbs.clear();
     }
 
-    protected Collection<IdPropertiesInfo> findPojoConfig(final 
Collection<IdPropertiesInfo> pojoConfigurations, final AppInfo appInfo, final 
WebAppInfo webApp) {
-        if (pojoConfigurations == null) {
-            for (EjbJarInfo ejbJarInfo : appInfo.ejbJars) {
-                if (ejbJarInfo.moduleId.equals(webApp.moduleId)) {
-                    return ejbJarInfo.pojoConfigurations;
-                }
-            }
-        }
-        return pojoConfigurations;
-    }
-
     private boolean hasEjbAndIsNotAManagedBean(final Map<String, 
EJBRestServiceInfo> restEjbs, final String clazz) {
         return restEjbs.containsKey(clazz) && 
!BeanType.MANAGED.equals(restEjbs.get(clazz).context.getComponentType());
     }

Modified: 
openejb/trunk/openejb/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java?rev=1384388&r1=1384387&r2=1384388&view=diff
==============================================================================
--- 
openejb/trunk/openejb/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
 (original)
+++ 
openejb/trunk/openejb/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
 Thu Sep 13 15:54:34 2012
@@ -348,14 +348,7 @@ public abstract class WsService implemen
 
                 PortData port = WsBuilder.toPortData(portInfo, injections, 
moduleBaseUrl, classLoader);
 
-                if (pojoConfiguration == null) {
-                    for (EjbJarInfo ejbJarInfo : appInfo.ejbJars) {
-                        if (ejbJarInfo.moduleName.equals(webApp.moduleId)) {
-                            pojoConfiguration = ejbJarInfo.pojoConfigurations;
-                            break;
-                        }
-                    }
-                }
+                pojoConfiguration = PojoUtil.findPojoConfig(pojoConfiguration, 
appInfo, webApp);
 
                 HttpListener container = createPojoWsContainer(moduleBaseUrl, 
port, portInfo.serviceLink,
                         target, context, webApp.contextRoot, bindings,

Modified: 
openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1384388&r1=1384387&r2=1384388&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
 Thu Sep 13 15:54:34 2012
@@ -256,6 +256,7 @@ public class Container {
             for (EjbJarInfo ejbJar : appInfo.ejbJars) {
                 if (file.getName().equals(ejbJar.moduleName)) {
                     ejbJar.moduleName = name;
+                    ejbJar.moduleId = name;
                 }
                 for (EnterpriseBeanInfo ejb : ejbJar.enterpriseBeans) {
                     if 
(BeanContext.Comp.openejbCompName(file.getName()).equals(ejb.ejbName)) {


Reply via email to