bojan       01/09/24 21:33:45

  Modified:    src/share/org/apache/tomcat/modules/mappers
                        ReloadInterceptor.java
  Log:
  Enable local interceptor reload at context reload.
  
  Revision  Changes    Path
  1.12      +18 -0     
jakarta-tomcat/src/share/org/apache/tomcat/modules/mappers/ReloadInterceptor.java
  
  Index: ReloadInterceptor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/mappers/ReloadInterceptor.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ReloadInterceptor.java    2001/09/16 00:33:30     1.11
  +++ ReloadInterceptor.java    2001/09/25 04:33:45     1.12
  @@ -184,6 +184,14 @@
            ContextManager cm=ctx.getContextManager();
            
            if( fullReload ) {
  +             Vector sI=new Vector();  // saved local interceptors
  +             BaseInterceptor[] eI;    // all exisiting interceptors
  +
  +             // save the ones with the same context, they are local
  +             eI=ctx.getContainer().getInterceptors();
  +             for(int i=0; i < eI.length ; i++)
  +                 if(ctx == eI[i].getContext()) sI.add(eI[i]);
  +                
                Enumeration e;
                // Need to find all the "config" that
                // was read from server.xml.
  @@ -205,6 +213,16 @@
                cm.removeContext( ctx );
   
                cm.addContext( ctx1 );
  +
  +             // put back saved local interceptors
  +             e=sI.elements();
  +             while(e.hasMoreElements()){
  +                 BaseInterceptor savedI=(BaseInterceptor)e.nextElement();
  +
  +                 ctx1.addInterceptor(savedI);
  +                 savedI.setContext(ctx1);
  +                 savedI.reload(request,ctx1);
  +             }
   
                ctx1.init();
   
  
  
  


Reply via email to