Author: rmannibucau
Date: Sun Sep 30 21:45:50 2012
New Revision: 1392118

URL: http://svn.apache.org/viewvc?rev=1392118&view=rev
Log:
slf4j filtering in URLClassLoaderFirst too

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/LazyStopWebappClassLoader.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.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=1392118&r1=1392117&r2=1392118&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
 Sun Sep 30 21:45:50 2012
@@ -18,11 +18,14 @@ package org.apache.openejb.util.classloa
 
 import org.apache.openejb.loader.SystemInstance;
 
+import java.io.IOException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.Enumeration;
 
 // TODO: look SM usage, find a better name
 public class URLClassLoaderFirst extends URLClassLoader {
@@ -323,4 +326,31 @@ public class URLClassLoaderFirst extends
         return openejb.startsWith("hibernate.") || 
openejb.startsWith("jpa.integration.")
                 || openejb.startsWith("toplink.") || 
openejb.startsWith("eclipselink.");
     }
+
+    @Override
+    public Enumeration<URL> getResources(final String name) throws IOException 
{
+        final Enumeration<URL> result = super.getResources(name);
+        if (isSlf4jQuery(name)) {
+            return filterSlf4jImpl(result);
+        }
+        return result;
+    }
+
+    public static final String SLF4J_STATIC_LOGGER_BINDER_CLASS = 
"org/slf4j/impl/StaticLoggerBinder.class";
+
+    public static boolean isSlf4jQuery(final String name) {
+        return SLF4J_STATIC_LOGGER_BINDER_CLASS.equals(name);
+    }
+
+    public static Enumeration<URL> filterSlf4jImpl(final Enumeration<URL> 
result) {
+        final Collection<URL> values = Collections.list(result);
+        if (values.size() > 1) {
+            // remove openejb one
+            final URL url = URLClassLoaderFirst.class.getResource("/" + 
SLF4J_STATIC_LOGGER_BINDER_CLASS);
+            if (url != null) {
+                values.remove(url);
+            }
+        }
+        return Collections.enumeration(values);
+    }
 }

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java?rev=1392118&r1=1392117&r2=1392118&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
 Sun Sep 30 21:45:50 2012
@@ -21,6 +21,7 @@ import org.apache.catalina.LifecycleExce
 import org.apache.catalina.loader.WebappClassLoader;
 import org.apache.openejb.classloader.WebAppEnricher;
 import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.classloader.URLClassLoaderFirst;
 
 import java.io.File;
 import java.io.IOException;
@@ -100,8 +101,8 @@ public class LazyStopWebappClassLoader e
     @Override
     public Enumeration<URL> getResources(final String name) throws IOException 
{
         final Enumeration<URL> urls = super.getResources(name);
-        if (TomEEClassLoaderEnricher.isSlf4jQuery(name)) {
-            return TomEEClassLoaderEnricher.filterSlf4jImpl(urls);
+        if (URLClassLoaderFirst.isSlf4jQuery(name)) {
+            return URLClassLoaderFirst.filterSlf4jImpl(urls);
         }
         return urls;
     }

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java?rev=1392118&r1=1392117&r2=1392118&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java
 Sun Sep 30 21:45:50 2012
@@ -32,8 +32,6 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
@@ -228,25 +226,4 @@ public final class TomEEClassLoaderEnric
             }
         }
     }
-
-    /**
-     * Helper part
-     */
-    public static final String SLF4J_STATIC_LOGGER_BINDER_CLASS = 
"org/slf4j/impl/StaticLoggerBinder.class";
-
-    public static boolean isSlf4jQuery(final String name) {
-        return SLF4J_STATIC_LOGGER_BINDER_CLASS.equals(name);
-    }
-
-    public static Enumeration<URL> filterSlf4jImpl(final Enumeration<URL> 
result) {
-        final Collection<URL> values = Collections.list(result);
-        if (values.size() > 1) {
-            // remove openejb one
-            final URL url = TomEEClassLoaderEnricher.class.getResource("/" + 
SLF4J_STATIC_LOGGER_BINDER_CLASS);
-            if (url != null) {
-                values.remove(url);
-            }
-        }
-        return Collections.enumeration(values);
-    }
 }

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java?rev=1392118&r1=1392117&r2=1392118&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
 Sun Sep 30 21:45:50 2012
@@ -32,6 +32,7 @@ import org.apache.openejb.loader.SystemI
 import org.apache.openejb.util.ArrayEnumeration;
 import org.apache.openejb.util.URLs;
 import org.apache.openejb.util.classloader.ClassLoaderComparator;
+import org.apache.openejb.util.classloader.URLClassLoaderFirst;
 import org.apache.tomcat.util.ExceptionUtils;
 import org.apache.tomcat.util.modeler.Registry;
 
@@ -193,8 +194,8 @@ public class TomEEWebappLoader extends W
                 result = app.getResources(name);
             }
 
-            if (TomEEClassLoaderEnricher.isSlf4jQuery(name)) {
-                return TomEEClassLoaderEnricher.filterSlf4jImpl(result);
+            if (URLClassLoaderFirst.isSlf4jQuery(name)) {
+                return URLClassLoaderFirst.filterSlf4jImpl(result);
             }
 
             return result;


Reply via email to