Author: rmannibucau
Date: Mon Aug 13 23:34:09 2012
New Revision: 1372667

URL: http://svn.apache.org/viewvc?rev=1372667&view=rev
Log:
better myfaces filtering + statup context listener of myfaces is added 
automatically, no need to do it

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java?rev=1372667&r1=1372666&r2=1372667&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
 Mon Aug 13 23:34:09 2012
@@ -170,11 +170,11 @@ public class URLClassLoaderFirst extends
         }
 
         if (name.startsWith("java.")) return true;
+        if (name.startsWith("javax.faces.")) return false;
         if (name.startsWith("javax.")) return true;
         if (name.startsWith("sun.")) return true;
 
         // can be provided in the webapp
-        if (name.startsWith("javax.faces.")) return false;
         if (name.startsWith("javax.servlet.jsp.jstl")) return false;
         if (name.equals("org.apache.commons.logging.impl.LogFactoryImpl")) 
return false;
 
@@ -224,7 +224,30 @@ public class URLClassLoaderFirst extends
         if (name.startsWith("org.slf4j")) return true;
 
         if (name.startsWith("org.apache.log4j") && SKIP_LOG4J) return true;
-        if (name.startsWith("org.apache.myfaces.") && SKIP_MYFACES) return 
true;
+
+        // myfaces-impl
+        // a lot of other jar uses org.apache.myfaces as base package
+        if (SKIP_MYFACES) {
+            if (name.startsWith("org.apache.myfaces.shared")) return true;
+            if (name.startsWith("org.apache.myfaces.ee6.")) return true;
+            if (name.startsWith("org.apache.myfaces.lifecycle.")) return true;
+            if (name.startsWith("org.apache.myfaces.renderkit.")) return true;
+            if (name.startsWith("org.apache.myfaces.context.")) return true;
+            if (name.startsWith("org.apache.myfaces.logging.")) return true;
+            if (name.startsWith("org.apache.myfaces.component.")) return true;
+            if (name.startsWith("org.apache.myfaces.application.")) return 
true;
+            if (name.startsWith("org.apache.myfaces.config.")) return true;
+            if (name.startsWith("org.apache.myfaces.event.")) return true;
+            if (name.startsWith("org.apache.myfaces.taglib.")) return true;
+            if (name.startsWith("org.apache.myfaces.resource.")) return true;
+            if (name.startsWith("org.apache.myfaces.el.")) return true;
+            if (name.startsWith("org.apache.myfaces.webapp.")) return true;
+            if (name.startsWith("org.apache.myfaces.spi.")) return true;
+            if (name.startsWith("org.apache.myfaces.convert.")) return true;
+            if (name.startsWith("org.apache.myfaces.debug.")) return true;
+            if (name.startsWith("org.apache.myfaces.util.")) return true;
+            if (name.startsWith("org.apache.myfaces.view.")) return true;
+        }
 
         if (name.startsWith("org.apache.catalina")) return true;
         if (name.startsWith("org.apache.jasper.")) return true;

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1372667&r1=1372666&r2=1372667&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Mon Aug 13 23:34:09 2012
@@ -33,7 +33,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -42,7 +41,7 @@ public class OpenEJBContextConfig extend
 
     private static Logger logger = Logger.getInstance(LogCategory.OPENEJB, 
OpenEJBContextConfig.class);
 
-    private static final String MYFACES_STARTUP_SERVLET_CONTEXT_LISTENER = 
"org.apache.myfaces.webapp.StartupServletContextListener";
+    // private static final String MYFACES_STARTUP_SERVLET_CONTEXT_LISTENER = 
"org.apache.myfaces.webapp.StartupServletContextListener";
     private static final String MYFACES_TOMEEM_CONTAINER_INITIALIZER = 
"org.apache.tomee.myfaces.TomEEMyFacesContainerInitializer";
     private static final String TOMEE_MYFACES_CONTEXT_LISTENER = 
"org.apache.tomee.myfaces.TomEEMyFacesContextListener";
 
@@ -91,9 +90,11 @@ public class OpenEJBContextConfig extend
             final Class<?> myfacesInitializer = 
Class.forName(MYFACES_TOMEEM_CONTAINER_INITIALIZER, true, 
context.getLoader().getClassLoader());
             final ServletContainerInitializer instance = 
(ServletContainerInitializer) myfacesInitializer.newInstance();
             context.addServletContainerInitializer(instance, 
getJsfClasses(context));
+            /* done through myfaces tld automatically
             if 
(!Arrays.asList(context.findApplicationListeners()).contains(MYFACES_STARTUP_SERVLET_CONTEXT_LISTENER))
 {
                 
context.addApplicationListener(MYFACES_STARTUP_SERVLET_CONTEXT_LISTENER);
             }
+            */
             context.addApplicationListener(TOMEE_MYFACES_CONTEXT_LISTENER); // 
cleanup listener
         } catch (Exception ignored) {
             // no-op


Reply via email to