Author: jboynes
Date: Sat Feb 28 18:59:16 2015
New Revision: 1662989

URL: http://svn.apache.org/r1662989
Log:
Log warning if any jar scan does not find a TLD

Modified:
    tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
    tomcat/trunk/test/org/apache/jasper/servlet/TestTldScanner.java

Modified: tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java?rev=1662989&r1=1662988&r2=1662989&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java (original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java Sat Feb 28 
18:59:16 2015
@@ -278,17 +278,13 @@ public class TldScanner {
     }
 
     class TldScannerCallback implements JarScannerCallback {
-        private boolean tldFound = false;
-        private boolean jarFound = false;
+        private boolean foundJarWithoutTld = false;
 
         @Override
         public void scan(JarURLConnection urlConn, String webappPath,
                 boolean isWebapp) throws IOException {
-            if (!jarFound) {
-                jarFound = true;
-            }
             boolean found = false;
-            URL jarURL = null;
+            URL jarURL;
             try (Jar jar = JarFactory.newInstance(urlConn.getURL())) {
                 jarURL = jar.getJarFileURL();
                 jar.nextEntry();
@@ -309,9 +305,8 @@ public class TldScanner {
                     }
                 }
             }
-            if (found) {
-                tldFound = true;
-            } else {
+            if (!found) {
+                foundJarWithoutTld = true;
                 if (log.isDebugEnabled()) {
                     log.debug(Localizer.getMessage("jsp.tldCache.noTldInJar",
                             jarURL.toString()));
@@ -322,9 +317,6 @@ public class TldScanner {
         @Override
         public void scan(File file, final String webappPath, boolean isWebapp)
                 throws IOException {
-            if (!jarFound) {
-                jarFound = true;
-            }
             File metaInf = new File(file, "META-INF");
             if (!metaInf.isDirectory()) {
                 return;
@@ -356,7 +348,6 @@ public class TldScanner {
                         URL url = file.toUri().toURL();
                         TldResourcePath path = new TldResourcePath(url, 
resourcePath);
                         parseTld(path);
-                        tldFound = true;
                     } catch (SAXException e) {
                         throw new IOException(e);
                     }
@@ -382,7 +373,7 @@ public class TldScanner {
 
 
         boolean scanFoundNoTLDs() {
-            return jarFound && !tldFound;
+            return foundJarWithoutTld;
         }
     }
 }

Modified: tomcat/trunk/test/org/apache/jasper/servlet/TestTldScanner.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/servlet/TestTldScanner.java?rev=1662989&r1=1662988&r2=1662989&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/jasper/servlet/TestTldScanner.java (original)
+++ tomcat/trunk/test/org/apache/jasper/servlet/TestTldScanner.java Sat Feb 28 
18:59:16 2015
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import org.apache.catalina.Context;
@@ -91,14 +90,13 @@ public class TestTldScanner extends Tomc
         Assert.assertTrue(result, result.indexOf("<p>" + expected + "</p>") > 
0);
     }
 
-    @Ignore("Illustrates Bug 57647")
     @Test
     public void testBug57647() throws Exception {
         TldScanner scanner = EasyMock.createMock(TldScanner.class);
         Constructor<TldScanner.TldScannerCallback> constructor =
                 
TldScanner.TldScannerCallback.class.getDeclaredConstructor(TldScanner.class);
         constructor.setAccessible(true);
-        TldScanner.TldScannerCallback callback = 
constructor.newInstance((TldScanner) scanner);
+        TldScanner.TldScannerCallback callback = 
constructor.newInstance(scanner);
 
         File webappDir = new File("webapps/examples");
         Assert.assertFalse(callback.scanFoundNoTLDs());



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to