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; } }