Author: rmannibucau
Date: Mon Feb 24 22:50:32 2014
New Revision: 1571478

URL: http://svn.apache.org/r1571478
Log:
removing myfaces initializer which is in fact done in tomeemyfacesinitializer 
to avoid false positive and reuse tomee scanning - TODO: see if it is still 
relevant since we pass the xbean finder to tomcat, this part should be 
removable from openejb-core and tomcat-catalina normally

Modified:
    
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
    
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigResourceProvider.java
    
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEMyFacesContainerInitializer.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1571478&r1=1571477&r2=1571478&view=diff
==============================================================================
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Mon Feb 24 22:50:32 2014
@@ -78,6 +78,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -417,6 +418,22 @@ public class OpenEJBContextConfig extend
         webInfClassesAnnotationsProcessed = false;
         try {
             super.processServletContainerInitializers(ctx);
+            final 
Iterator<Map.Entry<ServletContainerInitializer,Set<Class<?>>>> iterator = 
initializerClassMap.entrySet().iterator();
+            while (iterator.hasNext()) {
+                final Map.Entry<ServletContainerInitializer, Set<Class<?>>> 
entry = iterator.next();
+                final ServletContainerInitializer sci = entry.getKey();
+                final String classname = sci.getClass().getName();
+                if 
(classname.equals("org.apache.myfaces.ee6.MyFacesContainerInitializer")
+                        || 
classname.equals("org.springframework.web.SpringServletContainerInitializer")) {
+                    for (final Map.Entry<Class<?>, 
Set<ServletContainerInitializer>> scanning : typeInitializerMap.entrySet()) {
+                        final Set<ServletContainerInitializer> scis = 
scanning.getValue();
+                        if (scis != null && scis.contains(sci)) {
+                            scis.remove(sci);
+                        }
+                    }
+                    iterator.remove();
+                }
+            }
 
             final ClassLoader loader = context.getLoader().getClassLoader();
 
@@ -435,6 +452,10 @@ public class OpenEJBContextConfig extend
             // scanned SCIs
             if (typeInitializerMap.size() > 0 && finder != null) {
                 for (final Map.Entry<Class<?>, 
Set<ServletContainerInitializer>> entry : typeInitializerMap.entrySet()) {
+                    if (entry.getValue() == null || 
entry.getValue().isEmpty()) {
+                        continue;
+                    }
+
                     final Class<?> annotation = entry.getKey();
                     for (final ServletContainerInitializer sci : 
entry.getValue()) {
                         if (annotation.isAnnotation()) {

Modified: 
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigResourceProvider.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigResourceProvider.java?rev=1571478&r1=1571477&r2=1571478&view=diff
==============================================================================
--- 
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigResourceProvider.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigResourceProvider.java
 Mon Feb 24 22:50:32 2014
@@ -50,7 +50,7 @@ public class TomEEFacesConfigResourcePro
     private static final Map<ClassLoader, Collection<URL>> CACHED_RESOURCES = 
new HashMap<ClassLoader, Collection<URL>>();
 
     @Override
-    public Collection<URL> getMetaInfConfigurationResources(final 
ExternalContext context) throws IOException {
+    public Collection<URL> getMetaInfConfigurationResources(final 
ExternalContext notUsedNullIsPassedFromInitializer) throws IOException {
         final ClassLoader loader = getClassLoader();
 
         Collection<URL> urlSet = CACHED_RESOURCES.get(loader);

Modified: 
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEMyFacesContainerInitializer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEMyFacesContainerInitializer.java?rev=1571478&r1=1571477&r2=1571478&view=diff
==============================================================================
--- 
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEMyFacesContainerInitializer.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEMyFacesContainerInitializer.java
 Mon Feb 24 22:50:32 2014
@@ -81,7 +81,7 @@ public class TomEEMyFacesContainerInitia
                         Level.WARNING, "No mappings of FacesServlet found. 
Abort initializing MyFaces."),
                 Level.WARNING, "No mappings of FacesServlet found. Abort 
destroy MyFaces."));
 
-        if ((classes != null && !classes.isEmpty()) || 
isFacesConfigPresent(ctx) || isFacesServletPresent(ctx)) {
+        if ((classes != null && !classes.isEmpty()) || 
isFacesServletPresent(ctx) || isFacesConfigPresent(ctx)) {
             // we found a faces-config.xml or some classes so let's delegate 
to myfaces
 
             // since we don't want to call isFacesConfigPresent again (it scan 
all jars!!!!)
@@ -161,11 +161,7 @@ public class TomEEMyFacesContainerInitia
                 }
             }
 
-            final ExternalContext externalContext = new 
StartupServletExternalContextImpl(servletContext, true);
-            final FacesConfigResourceProviderFactory factory = 
FacesConfigResourceProviderFactory.
-                    getFacesConfigResourceProviderFactory(externalContext);
-            final FacesConfigResourceProvider provider = 
factory.createFacesConfigResourceProvider(externalContext);
-            final Collection<URL> metaInfFacesConfigUrls =  
provider.getMetaInfConfigurationResources(externalContext);
+            final Collection<URL> metaInfFacesConfigUrls =  new 
TomEEFacesConfigResourceProvider().getMetaInfConfigurationResources(null);
             if (metaInfFacesConfigUrls == null) {
                 return false;
             }
@@ -180,7 +176,7 @@ public class TomEEMyFacesContainerInitia
             }
 
             return !metaInfFacesConfigUrls.isEmpty();
-        } catch (Exception e) {
+        } catch (final Exception e) {
             return false;
         }
     }


Reply via email to