Author: rmannibucau
Date: Tue Dec 18 22:41:51 2012
New Revision: 1423698
URL: http://svn.apache.org/viewvc?rev=1423698&view=rev
Log:
app composer needs to manage webappInfo as in ear
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java?rev=1423698&r1=1423697&r2=1423698&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/web/LightweightWebAppBuilder.java
Tue Dec 18 22:41:51 2012
@@ -17,9 +17,11 @@
package org.apache.openejb.web;
import org.apache.openejb.AppContext;
+import org.apache.openejb.BeanContext;
import org.apache.openejb.Injection;
import org.apache.openejb.OpenEJBRuntimeException;
import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.Assembler;
import org.apache.openejb.assembler.classic.ClassListInfo;
import org.apache.openejb.assembler.classic.FilterInfo;
import org.apache.openejb.assembler.classic.InjectionBuilder;
@@ -28,6 +30,7 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.ServletInfo;
import org.apache.openejb.assembler.classic.WebAppBuilder;
import org.apache.openejb.assembler.classic.WebAppInfo;
+import org.apache.openejb.cdi.CdiBuilder;
import org.apache.openejb.core.CoreContainerSystem;
import org.apache.openejb.core.WebContext;
import org.apache.openejb.loader.SystemInstance;
@@ -55,10 +58,10 @@ import javax.servlet.annotation.WebServl
import java.io.File;
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
@@ -99,7 +102,7 @@ public class LightweightWebAppBuilder im
}
for (WebAppInfo webAppInfo : appInfo.webApps) {
- final Collection<Injection> injections =
appContext.getInjections();
+ final Set<Injection> injections = new
HashSet<Injection>(appContext.getInjections());
injections.addAll(new
InjectionBuilder(classLoader).buildInjections(webAppInfo.jndiEnc));
final Map<String, Object> bindings = new HashMap<String, Object>();
@@ -119,6 +122,14 @@ public class LightweightWebAppBuilder im
appContext.getWebContexts().add(webContext);
cs.addWebContext(webContext);
+ if (!appInfo.webAppAlone) {
+ final Assembler assembler =
SystemInstance.get().getComponent(Assembler.class);
+ final List<BeanContext> beanContexts =
assembler.initEjbs(classLoader, appInfo, appContext, injections, new
ArrayList<BeanContext>(), webAppInfo.moduleId);
+ appContext.getBeanContexts().addAll(beanContexts);
+ new CdiBuilder().build(appInfo, appContext,
appContext.getBeanContexts(), webContext);
+ assembler.startEjbs(true, beanContexts);
+ }
+
final ServletContextEvent sce = new MockServletContextEvent();
servletContextEvents.put(webAppInfo, sce);