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

Reply via email to