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