larryi      01/03/05 21:39:24

  Modified:    src/share/org/apache/tomcat/util/compat
                        SimpleClassLoader.java
  Log:
  Move previously added zf.close() in doFindResource() since this method
  needs to return the Resource with ZipFile still open.
  
  Add parent delagation to getResource() and getResourceAsStream().  This
  is now needed when using Jdk1.1 because web.dtd has changed location.
  It used to be with the classes now handled by the "container" classloader.
  It is now handled by the "common" classloader which is a parent of the
  "container" classloader.
  
  Revision  Changes    Path
  1.3       +16 -2     
jakarta-tomcat/src/share/org/apache/tomcat/util/compat/SimpleClassLoader.java
  
  Index: SimpleClassLoader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/compat/SimpleClassLoader.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SimpleClassLoader.java    2001/03/04 19:49:02     1.2
  +++ SimpleClassLoader.java    2001/03/06 05:39:24     1.3
  @@ -328,8 +328,15 @@
        */
       public URL getResource(String name) {
           if( debug > 0 ) log( "getResource() " + name );
  +     URL u = null;
   
  -     URL u = getSystemResource(name);
  +     if (parent != null) {
  +         u = parent.getResource(name);
  +         if (u != null)
  +             return u;
  +     }
  +
  +     u = getSystemResource(name);
        if (u != null) {
            return u;
        }
  @@ -391,6 +398,13 @@
        //      InputStream s = getSystemResourceAsStream(name);
        InputStream s = null;
   
  +     if (parent != null) {
  +         s = parent.getResourceAsStream(name);
  +         if( debug>0 ) log( "Found resource in parent " + s );
  +         if (s != null)
  +             return s;
  +     }
  +
        // Get this resource from system class loader 
        s = getSystemResourceAsStream(name);
   
  @@ -475,7 +489,6 @@
                   try {
                       ZipFile zf = new ZipFile(file.getAbsolutePath());
                       ZipEntry ze = zf.getEntry(name);
  -                 zf.close();
                                        
                       if (ze != null) {
                        r.zipEntry=ze;
  @@ -483,6 +496,7 @@
                        r.repository=file;
                        return r;
                       }
  +                 zf.close();
                   } catch (IOException ioe) {
                       ioe.printStackTrace();
                    System.out.println("Name= " + name + " " + file );
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to