remm 02/02/19 19:18:19 Modified: catalina/src/share/org/apache/catalina/startup ContextConfig.java Log: - Fix bug 6090. WEB-INF will now be scanned for TLD files containing listeners. Revision Changes Path 1.58 +27 -12 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java Index: ContextConfig.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- ContextConfig.java 19 Feb 2002 22:16:00 -0000 1.57 +++ ContextConfig.java 20 Feb 2002 03:18:19 -0000 1.58 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v 1.57 2002/02/19 22:16:00 craigmcc Exp $ - * $Revision: 1.57 $ - * $Date: 2002/02/19 22:16:00 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v 1.58 2002/02/20 03:18:19 remm Exp $ + * $Revision: 1.58 $ + * $Date: 2002/02/20 03:18:19 $ * * ==================================================================== * @@ -127,7 +127,7 @@ * of that Context, and the associated defined servlets. * * @author Craig R. McClanahan - * @version $Revision: 1.57 $ $Date: 2002/02/19 22:16:00 $ + * @version $Revision: 1.58 $ $Date: 2002/02/20 03:18:19 $ */ public final class ContextConfig @@ -823,27 +823,42 @@ } - // Second, scan tag libraries defined in JAR files - // FIXME - Yet another dependence on files + DirContext resources = context.getResources(); + + // Second, scan tag libraries defined in tld files in /WEB-INF + if (debug >= 1) + log("Scanning TLD files in /WEB-INF"); + String webinfName = "/WEB-INF"; + // Looking up directory /WEB-INF in the context + try { + NamingEnumeration enum = resources.list(webinfName); + while (enum.hasMoreElements()) { + NameClassPair ncPair = (NameClassPair) enum.nextElement(); + String filename = webinfName + "/" + ncPair.getName(); + if (!filename.endsWith(".tld")) + continue; + tldConfigTld(filename, digester); + } + } catch (NamingException e) { + // Silent catch: it's valid that no /WEB-INF directory exists + } + + // Third, scan tag libraries defined in JAR files if (debug >= 1) log("Scanning library JAR files"); - DirContext resources = context.getResources(); String libName = "/WEB-INF/lib"; - DirContext libDir = null; // Looking up directory /WEB-INF/lib in the context try { NamingEnumeration enum = resources.list(libName); while (enum.hasMoreElements()) { - NameClassPair ncPair = - (NameClassPair) enum.nextElement(); + NameClassPair ncPair = (NameClassPair) enum.nextElement(); String filename = libName + "/" + ncPair.getName(); if (!filename.endsWith(".jar")) continue; tldConfigJar(filename, digester); } } catch (NamingException e) { - // Silent catch: it's valid that no /WEB-INF/lib directory - //exists + // Silent catch: it's valid that no /WEB-INF/lib directory exists } }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>