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