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