Author: markt Date: Wed Mar 30 20:06:25 2011 New Revision: 1087062 URL: http://svn.apache.org/viewvc?rev=1087062&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50997 Relax the requirement that directories must have a name ending in .jar to be treated as an expanded JAR file by the default JarScanner. Based on patch by Rodion Zhitomirsky.
Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java tomcat/trunk/webapps/docs/changelog.xml 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=1087062&r1=1087061&r2=1087062&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Wed Mar 30 20:06:25 2011 @@ -2347,7 +2347,7 @@ public class ContextConfig public void scan(File file) throws IOException { InputStream stream = null; - WebXml fragment = null; + WebXml fragment = new WebXml(); try { File fragmentFile = new File(file, FRAGMENT_LOCATION); @@ -2356,7 +2356,6 @@ public class ContextConfig InputSource source = new InputSource(fragmentFile.toURI().toURL().toString()); source.setByteStream(stream); - fragment = new WebXml(); parseWebXml(source, fragment, true); } } finally { @@ -2367,15 +2366,11 @@ public class ContextConfig ExceptionUtils.handleThrowable(t); } } - if (fragment == null) { - fragments.put(file.toURI().toURL().toString(), fragment); - } else { - fragment.setURL(file.toURI().toURL()); - if (fragment.getName() == null) { - fragment.setName(fragment.getURL().toString()); - } - fragments.put(fragment.getName(), fragment); + fragment.setURL(file.toURI().toURL()); + if (fragment.getName() == null) { + fragment.setName(fragment.getURL().toString()); } + fragments.put(fragment.getName(), fragment); } } 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=1087062&r1=1087061&r2=1087062&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java Wed Mar 30 20:06:25 2011 @@ -271,6 +271,9 @@ public class StandardJarScanner implemen if (end != -1) { int start = path.lastIndexOf('/', end); name = path.substring(start + 1, end + 4); + } else if (isScanAllDirectories()){ + int start = path.lastIndexOf('/'); + name = path.substring(start + 1); } return name; Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1087062&r1=1087061&r2=1087062&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Wed Mar 30 20:06:25 2011 @@ -123,6 +123,11 @@ Correctly track changes to context.xml files and trigger redeployment when copyXML is set to false. (markt) </fix> + <fix> + <bug>50997</bug>: Relax the requirement that directories must have a + name ending in <code>.jar</code> to be treated as an expanded JAR file + by the default JarScanner. Based on patch by Rodion Zhitomirsky. (markt) + </fix> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org