remm        02/02/19 19:18:32

  Modified:    catalina/src/share/org/apache/catalina/startup Tag:
                        tomcat_40_branch ContextConfig.java
  Log:
  - Fix bug 6090. WEB-INF will now be scanned for TLD files containing listeners.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.52.2.1  +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.52
  retrieving revision 1.52.2.1
  diff -u -r1.52 -r1.52.2.1
  --- ContextConfig.java        4 Sep 2001 18:15:30 -0000       1.52
  +++ ContextConfig.java        20 Feb 2002 03:18:32 -0000      1.52.2.1
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.52 2001/09/04 18:15:30 craigmcc Exp $
  - * $Revision: 1.52 $
  - * $Date: 2001/09/04 18:15:30 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
 1.52.2.1 2002/02/20 03:18:32 remm Exp $
  + * $Revision: 1.52.2.1 $
  + * $Date: 2002/02/20 03:18:32 $
    *
    * ====================================================================
    *
  @@ -128,7 +128,7 @@
    * of that Context, and the associated defined servlets.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.52 $ $Date: 2001/09/04 18:15:30 $
  + * @version $Revision: 1.52.2.1 $ $Date: 2002/02/20 03:18:32 $
    */
   
   public final class ContextConfig
  @@ -1044,27 +1044,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, mapper);
  +            }
  +        } 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, mapper);
               }
           } 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]>

Reply via email to