Author: markt
Date: Fri Jun 14 07:41:33 2013
New Revision: 1492978

URL: http://svn.apache.org/r1492978
Log:
Add the type of scan to the JarScanner API
This is preparation for changing how jarsToSkip are handled.

Added:
    tomcat/trunk/java/org/apache/tomcat/JarScanType.java
      - copied, changed from r1492977, 
tomcat/trunk/java/org/apache/tomcat/JarScanner.java
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=1492978&r1=1492977&r2=1492978&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:41:33 2013
@@ -95,6 +95,7 @@ import org.apache.catalina.util.ContextN
 import org.apache.catalina.util.Introspection;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.JarScanType;
 import org.apache.tomcat.JarScanner;
 import org.apache.tomcat.JarScannerCallback;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -2042,8 +2043,8 @@ public class ContextConfig implements Li
         JarScanner jarScanner = context.getJarScanner();
         FragmentJarScannerCallback callback = new FragmentJarScannerCallback();
 
-        jarScanner.scan(context.getServletContext(), callback,
-                pluggabilityJarsToSkip);
+        jarScanner.scan(JarScanType.SERVLET3_PLUGGABILITY,
+                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=1492978&r1=1492977&r2=1492978&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:41:33 2013
@@ -37,6 +37,7 @@ import org.apache.catalina.LifecycleEven
 import org.apache.catalina.LifecycleListener;
 import org.apache.catalina.core.StandardContext;
 import org.apache.catalina.deploy.ApplicationListener;
+import org.apache.tomcat.JarScanType;
 import org.apache.tomcat.JarScanner;
 import org.apache.tomcat.JarScannerCallback;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -262,7 +263,7 @@ public final class TldConfig  implements
 
         // Stages 3b & 4
         JarScanner jarScanner = context.getJarScanner();
-        jarScanner.scan(context.getServletContext(),
+        jarScanner.scan(JarScanType.TLD, context.getServletContext(),
                 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=1492978&r1=1492977&r2=1492978&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:41:33 2013
@@ -37,6 +37,7 @@ import org.apache.jasper.xmlparser.Parse
 import org.apache.jasper.xmlparser.TreeNode;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.JarScanType;
 import org.apache.tomcat.JarScanner;
 import org.apache.tomcat.JarScannerCallback;
 import org.apache.tomcat.util.scan.Jar;
@@ -242,7 +243,8 @@ public class TldLocationsCache {
 
             JarScanner jarScanner = JarScannerFactory.getJarScanner(ctxt);
             if (jarScanner != null) {
-                jarScanner.scan(ctxt, new TldJarScannerCallback(), noTldJars);
+                jarScanner.scan(JarScanType.TLD, ctxt,
+                        new TldJarScannerCallback(), noTldJars);
             }
 
             initialized = true;

Copied: tomcat/trunk/java/org/apache/tomcat/JarScanType.java (from r1492977, 
tomcat/trunk/java/org/apache/tomcat/JarScanner.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/JarScanType.java?p2=tomcat/trunk/java/org/apache/tomcat/JarScanType.java&p1=tomcat/trunk/java/org/apache/tomcat/JarScanner.java&r1=1492977&r2=1492978&rev=1492978&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/JarScanner.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/JarScanType.java Fri Jun 14 07:41:33 
2013
@@ -16,27 +16,8 @@
  */
 package org.apache.tomcat;
 
-import java.util.Set;
-
-import javax.servlet.ServletContext;
-
-/**
- * Scans a web application and classloader hierarchy for JAR files. Uses
- * include TLD scanning and web-fragment.xml scanning. Uses a call-back
- * mechanism so the caller can process each JAR found.
- */
-public interface JarScanner {
-
-    /**
-     * Scan the provided ServletContext and classloader for JAR files. Each JAR
-     * file found will be passed to the callback handler to be processed.
-     *
-     * @param context       The ServletContext - used to locate and access
-     *                      WEB-INF/lib
-     * @param callback      The handler to process any JARs found
-     * @param jarsToSkip    List of JARs to ignore
-     */
-    public void scan(ServletContext context, JarScannerCallback callback,
-            Set<String> jarsToSkip);
-
+public enum JarScanType {
+    TLD,
+    SERVLET3_PLUGGABILITY,
+    OTHER
 }

Modified: tomcat/trunk/java/org/apache/tomcat/JarScanner.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/JarScanner.java?rev=1492978&r1=1492977&r2=1492978&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/JarScanner.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/JarScanner.java Fri Jun 14 07:41:33 2013
@@ -31,12 +31,15 @@ public interface JarScanner {
      * Scan the provided ServletContext and classloader for JAR files. Each JAR
      * file found will be passed to the callback handler to be processed.
      *
+     * @param scanType      The type of JAR scan to perform. This is passed to
+     *                          the filter which uses it to determine how to
+     *                          filter the results
      * @param context       The ServletContext - used to locate and access
      *                      WEB-INF/lib
      * @param callback      The handler to process any JARs found
      * @param jarsToSkip    List of JARs to ignore
      */
-    public void scan(ServletContext context, JarScannerCallback callback,
+    public void scan(JarScanType scanType, 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=1492978&r1=1492977&r2=1492978&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:41:33 2013
@@ -34,6 +34,7 @@ import javax.servlet.ServletContext;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.JarScanType;
 import org.apache.tomcat.JarScanner;
 import org.apache.tomcat.JarScannerCallback;
 import org.apache.tomcat.util.file.Matcher;
@@ -122,9 +123,12 @@ public class StandardJarScanner implemen
     }
 
     /**
-     * Scan the provided ServletContext and classloader for JAR files. Each JAR
+     * Scan the provided ServletContext and class loader for JAR files. Each 
JAR
      * file found will be passed to the callback handler to be processed.
      *
+     * @param scanType      The type of JAR scan to perform. This is passed to
+     *                          the filter which uses it to determine how to
+     *                          filter the results
      * @param context       The ServletContext - used to locate and access
      *                      WEB-INF/lib
      * @param callback      The handler to process any JARs found
@@ -133,8 +137,8 @@ public class StandardJarScanner implemen
      *                      defined by {@link Constants#SKIP_JARS_PROPERTY}
      */
     @Override
-    public void scan(ServletContext context, JarScannerCallback callback,
-            Set<String> jarsToSkip) {
+    public void scan(JarScanType scanType, ServletContext context,
+            JarScannerCallback callback, Set<String> jarsToSkip) {
 
         if (log.isTraceEnabled()) {
             log.trace(sm.getString("jarScan.webinflibStart"));



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

Reply via email to