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: [email protected]
For additional commands, e-mail: [email protected]