Author: markt
Date: Fri Jun 14 07:38:09 2013
New Revision: 1492973

URL: http://svn.apache.org/r1492973
Log:
Remove class loader from the scan method as class loader is accessible
from ServletContext.

Modified:
    tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
    tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java
    tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
    tomcat/trunk/java/org/apache/tomcat/JarScanner.java
    tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java

Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1492973&r1=1492972&r2=1492973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Fri Jun 14 
07:38:09 2013
@@ -2042,8 +2042,7 @@ public class ContextConfig implements Li
         JarScanner jarScanner = context.getJarScanner();
         FragmentJarScannerCallback callback = new FragmentJarScannerCallback();
 
-        jarScanner.scan(context.getServletContext(),
-                context.getLoader().getClassLoader(), callback,
+        jarScanner.scan(context.getServletContext(), callback,
                 pluggabilityJarsToSkip);
 
         return callback.getFragments();

Modified: tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=1492973&r1=1492972&r2=1492973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/TldConfig.java Fri Jun 14 
07:38:09 2013
@@ -263,7 +263,6 @@ public final class TldConfig  implements
         // Stages 3b & 4
         JarScanner jarScanner = context.getJarScanner();
         jarScanner.scan(context.getServletContext(),
-                context.getLoader().getClassLoader(),
                 new TldJarScannerCallback(), noTldJars);
 
         // Now add all the listeners we found to the listeners for this context

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=1492973&r1=1492972&r2=1492973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Fri Jun 
14 07:38:09 2013
@@ -242,9 +242,7 @@ public class TldLocationsCache {
 
             JarScanner jarScanner = JarScannerFactory.getJarScanner(ctxt);
             if (jarScanner != null) {
-                jarScanner.scan(ctxt,
-                        Thread.currentThread().getContextClassLoader(),
-                        new TldJarScannerCallback(), noTldJars);
+                jarScanner.scan(ctxt, new TldJarScannerCallback(), noTldJars);
             }
 
             initialized = true;

Modified: tomcat/trunk/java/org/apache/tomcat/JarScanner.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/JarScanner.java?rev=1492973&r1=1492972&r2=1492973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/JarScanner.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/JarScanner.java Fri Jun 14 07:38:09 2013
@@ -33,12 +33,10 @@ public interface JarScanner {
      *
      * @param context       The ServletContext - used to locate and access
      *                      WEB-INF/lib
-     * @param classloader   The classloader - used to access JARs not in
-     *                      WEB-INF/lib
      * @param callback      The handler to process any JARs found
      * @param jarsToSkip    List of JARs to ignore
      */
-    public void scan(ServletContext context, ClassLoader classloader,
-            JarScannerCallback callback, Set<String> jarsToSkip);
+    public void scan(ServletContext context, JarScannerCallback callback,
+            Set<String> jarsToSkip);
 
 }

Modified: tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java?rev=1492973&r1=1492972&r2=1492973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java Fri 
Jun 14 07:38:09 2013
@@ -127,16 +127,14 @@ public class StandardJarScanner implemen
      *
      * @param context       The ServletContext - used to locate and access
      *                      WEB-INF/lib
-     * @param classloader   The classloader - used to access JARs not in
-     *                      WEB-INF/lib
      * @param callback      The handler to process any JARs found
      * @param jarsToSkip    List of JARs to ignore. If this list is null, a
      *                      default list will be read from the system property
      *                      defined by {@link Constants#SKIP_JARS_PROPERTY}
      */
     @Override
-    public void scan(ServletContext context, ClassLoader classloader,
-            JarScannerCallback callback, Set<String> jarsToSkip) {
+    public void scan(ServletContext context, JarScannerCallback callback,
+            Set<String> jarsToSkip) {
 
         if (log.isTraceEnabled()) {
             log.trace(sm.getString("jarScan.webinflibStart"));
@@ -205,7 +203,7 @@ public class StandardJarScanner implemen
         }
 
         // Scan the classpath
-        if (scanClassPath && classloader != null) {
+        if (scanClassPath) {
             if (log.isTraceEnabled()) {
                 log.trace(sm.getString("jarScan.classloaderStart"));
             }
@@ -216,13 +214,15 @@ public class StandardJarScanner implemen
                 stopLoader = ClassLoader.getSystemClassLoader().getParent();
             }
 
+
+            ClassLoader classLoader = context.getClassLoader();
             // No need to scan the web application class loader - we have
             // already scanned WEB-INF/lib and WEB-INF/classes
-            ClassLoader loader = classloader.getParent();
+            classLoader = classLoader.getParent();
 
-            while (loader != null && loader != stopLoader) {
-                if (loader instanceof URLClassLoader) {
-                    URL[] urls = ((URLClassLoader) loader).getURLs();
+            while (classLoader != null && classLoader != stopLoader) {
+                if (classLoader instanceof URLClassLoader) {
+                    URL[] urls = ((URLClassLoader) classLoader).getURLs();
                     for (int i=0; i<urls.length; i++) {
                         // Extract the jarName if there is one to be found
                         String jarName = getJarName(urls[i]);
@@ -249,7 +249,7 @@ public class StandardJarScanner implemen
                         }
                     }
                 }
-                loader = loader.getParent();
+                classLoader = classLoader.getParent();
             }
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to