remm        02/04/15 17:37:52

  Modified:    catalina/src/share/org/apache/naming ContextBindings.java
  Log:
  - Add unbindCL method allowing to specify the CL.
  
  Revision  Changes    Path
  1.5       +23 -7     
jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/ContextBindings.java
  
  Index: ContextBindings.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/ContextBindings.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ContextBindings.java      22 May 2001 20:10:36 -0000      1.4
  +++ ContextBindings.java      16 Apr 2002 00:37:52 -0000      1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/ContextBindings.java,v
 1.4 2001/05/22 20:10:36 remm Exp $
  - * $Revision: 1.4 $
  - * $Date: 2001/05/22 20:10:36 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/ContextBindings.java,v
 1.5 2002/04/16 00:37:52 remm Exp $
  + * $Revision: 1.5 $
  + * $Date: 2002/04/16 00:37:52 $
    *
    * ====================================================================
    *
  @@ -76,7 +76,7 @@
    * </ul>
    *
    * @author Remy Maucherat
  - * @version $Revision: 1.4 $ $Date: 2001/05/22 20:10:36 $
  + * @version $Revision: 1.5 $ $Date: 2002/04/16 00:37:52 $
    */
   
   public class ContextBindings {
  @@ -332,10 +332,26 @@
        * @param token Security token
        */
       public static void unbindClassLoader(Object name, Object token) {
  +        unbindClassLoader(name, token, 
  +                          Thread.currentThread().getContextClassLoader());
  +    }
  +
  +
  +    /**
  +     * Unbinds a naming context to a class loader.
  +     * 
  +     * @param name Name of the context
  +     * @param token Security token
  +     */
  +    public static void unbindClassLoader(Object name, Object token, 
  +                                         ClassLoader classLoader) {
           if (ContextAccessController.checkSecurityToken(name, token)) {
  -            clBindings.remove(Thread.currentThread().getContextClassLoader());
  -            clNameBindings.remove
  -                (Thread.currentThread().getContextClassLoader());
  +            Object cl = clBindings.get(name);
  +            if (cl != classLoader) {
  +                return;
  +            }
  +            clBindings.remove(classLoader);
  +            clNameBindings.remove(classLoader);
           }
       }
   
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to