Author: rmannibucau
Date: Wed Nov 14 17:18:57 2012
New Revision: 1409262

URL: http://svn.apache.org/viewvc?rev=1409262&view=rev
Log:
TOMEE-569 cdi in ear

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java?rev=1409262&r1=1409261&r2=1409262&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
 Wed Nov 14 17:18:57 2012
@@ -324,6 +324,10 @@ public class OpenEJBLifecycle implements
             }
             //Start actual starting on sub-classes
             afterStartApplication(startupObject);
+
+            if (beanManager instanceof WebappBeanManager) {
+                ((WebappBeanManager) beanManager).afterStart();
+            }
         } finally {
             Thread.currentThread().setContextClassLoader(oldCl);
 

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java?rev=1409262&r1=1409261&r2=1409262&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
 Wed Nov 14 17:18:57 2012
@@ -16,6 +16,9 @@
  */
 package org.apache.openejb.cdi;
 
+import org.apache.webbeans.component.BeanManagerBean;
+import org.apache.webbeans.component.BuildInOwbBean;
+import org.apache.webbeans.component.ConversationBean;
 import org.apache.webbeans.container.BeanManagerImpl;
 
 import javax.el.ELResolver;
@@ -367,16 +370,6 @@ public class WebappBeanManager extends B
     }
 
     @Override
-    public BeanManager addInternalBean(Bean<?> newBean) {
-        super.addInternalBean(newBean);
-
-        deploymentBeans.clear();
-        deploymentBeans.addAll(getParentBm().getBeans());
-        deploymentBeans.addAll(super.getBeans());
-        return this;
-    }
-
-    @Override
     public Set<Bean<?>> getComponents() {
         return deploymentBeans;
     }
@@ -385,4 +378,16 @@ public class WebappBeanManager extends B
     public Set<Bean<?>> getBeans() {
         return deploymentBeans;
     }
+
+    public void afterStart() {
+        deploymentBeans.clear();
+        for (Bean<?> bean : getParentBm().getBeans()) {
+            if (bean instanceof BeanManagerBean || bean instanceof 
BuildInOwbBean
+                    || bean instanceof ConversationBean) {
+                continue;
+            }
+            deploymentBeans.add(bean);
+        }
+        deploymentBeans.addAll(super.getBeans());
+    }
 }

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1409262&r1=1409261&r2=1409262&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 Wed Nov 14 17:18:57 2012
@@ -298,6 +298,7 @@ public class DeploymentLoader implements
             final Map<String, String> webContextRoots = new HashMap<String, 
String>();
 
             final URL applicationXmlUrl = 
appDescriptors.get("application.xml");
+            final List<URL> extraLibs = new ArrayList<URL>();
 
             final Application application;
             if (applicationXmlUrl != null) {
@@ -309,7 +310,8 @@ public class DeploymentLoader implements
                             ejbModules.put(module.getEjb(), url);
                         } else if (module.getJava() != null) {
                             final URL url = 
finder.find(module.getJava().trim());
-                            clientModules.put(module.getConnector(), url);
+                            clientModules.put(module.getJava(), url);
+                            extraLibs.add(url);
                         } else if (module.getConnector() != null) {
                             final URL url = 
finder.find(module.getConnector().trim());
                             resouceModules.put(module.getConnector(), url);
@@ -367,7 +369,7 @@ public class DeploymentLoader implements
                 final String dir = application.getLibraryDirectory();
                 if (!dir.endsWith("/")) application.setLibraryDirectory(dir + 
"/");
             }
-            final List<URL> extraLibs = new ArrayList<URL>();
+
             try {
                 final Map<String, URL> libs = 
finder.getResourcesMap(application.getLibraryDirectory());
                 extraLibs.addAll(libs.values());
@@ -626,6 +628,8 @@ public class DeploymentLoader implements
 
     public void addWebModule(final AppModule appModule, final URL warUrl, 
final ClassLoader parentClassLoader, final String contextRoot, final String 
moduleName) throws OpenEJBException {
         final WebModule webModule = 
createWebModule(appModule.getJarLocation(), URLs.toFilePath(warUrl), 
parentClassLoader, contextRoot, moduleName);
+        final List<URL> parentUrls = 
filterWebappUrls(appModule.getAdditionalLibraries().toArray(new 
URL[appModule.getAdditionalLibraries().size()]), (URL) 
webModule.getAltDDs().get(NewLoaderLogic.EXCLUSION_FILE));
+        webModule.getScannableUrls().addAll(parentUrls);
         addWebModule(webModule, appModule);
     }
 


Reply via email to