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)) {