Enable the JAR implementation for JARs in packed WARs to correctly handle multiple calls to methods

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538806 13f79535-47bb-0310-9956-ffa450edef68
First pass at using the new resources implementation to provide
resources to the class loader.

Class loader resources are handled by treating JARs in WEB-INF/lib as
resource JARs (without the internal META-INF/resources/ prefix) mounted
at WEB-INF/claasses (rather than the web app root). This enables reuse
of the resource handling plumbing.

These resources are marked as class loader only so they are only used in
the methods that are explicitly defined to return class loader
resources. This prevents calls to getResource("/WEB-INF/classes")
returning from one or more of the JAR files.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538807 13f79535-47bb-0310-9956-ffa450edef68
Switch the web application class loader to load resources via the new
resources implementation.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538808 13f79535-47bb-0310-9956-ffa450edef68
Add getClassLoaderResources() support

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538809 13f79535-47bb-0310-9956-ffa450edef68
Remove the nonFoundResources collection - WebResources will handle this.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538810 13f79535-47bb-0310-9956-ffa450edef68
Remove unnecessary whitespace

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538811 13f79535-47bb-0310-9956-ffa450edef68
Clean up

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538813 13f79535-47bb-0310-9956-ffa450edef68
Remove the anti JAR locking feature. It will be replaced by tracking of
InputStreams obtained from the WebResources. This will allow
identification of the resource leaks.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538814 13f79535-47bb-0310-9956-ffa450edef68
Whitespace

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538815 13f79535-47bb-0310-9956-ffa450edef68
Additional fix for removing anti JAR locking

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538817 13f79535-47bb-0310-9956-ffa450edef68
Remove now unused loaderDir

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538818 13f79535-47bb-0310-9956-ffa450edef68
Remove unneccessary sync

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538819 13f79535-47bb-0310-9956-ffa450edef68
Remove unused JarFiles - class loader resources in JARs are obtained via
WebResources

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538820 13f79535-47bb-0310-9956-ffa450edef68
More removal of anti JAR locking

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538822 13f79535-47bb-0310-9956-ffa450edef68
Fix getURLs() so it takes account of any call to addURL() on the class
loader
Ensure the list of repositories that the loader returns via JMX includes
any added via addURL()

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538823 13f79535-47bb-0310-9956-ffa450edef68
Class loader is responsible for setting up WEB-INF/classes

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538824 13f79535-47bb-0310-9956-ffa450edef68
Whitespace

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538826 13f79535-47bb-0310-9956-ffa450edef68
Remove some now unused code

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538828 13f79535-47bb-0310-9956-ffa450edef68
Re-write JAR modification tracking

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538829 13f79535-47bb-0310-9956-ffa450edef68
Refactor the implementation of the requirements of 10.7.2 of the spec.
Don't ignore whole JARs, just prevent applications from overriding spec
classes and container implementation classes.
Note overriding of Java JRE provided classes is already prevented.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1538830 13f79535-47bb-0310-9956-ffa450edef68