costin      2003/03/16 23:36:59

  Modified:    catalina/src/share/org/apache/catalina/core
                        StandardWrapper.java
  Log:
  update the registration code
  
  Revision  Changes    Path
  1.18      +55 -53    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java
  
  Index: StandardWrapper.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- StandardWrapper.java      14 Mar 2003 22:07:33 -0000      1.17
  +++ StandardWrapper.java      17 Mar 2003 07:36:59 -0000      1.18
  @@ -268,11 +268,11 @@
   
       /**
        * Return the available date/time for this servlet, in milliseconds since
  -     * the epoch.  If this date/time is Long.MAX_VALUE, it is considered to mean 
  -     * that unavailability is permanent and any request for this servlet will 
return 
  -     * an SC_NOT_FOUND error.  If this date/time is in the future, any request for 
  -     * this servlet will return an SC_SERVICE_UNAVAILABLE error.  If it is zero, 
  -     * the servlet is currently available. 
  +     * the epoch.  If this date/time is Long.MAX_VALUE, it is considered to mean
  +     * that unavailability is permanent and any request for this servlet will return
  +     * an SC_NOT_FOUND error.  If this date/time is in the future, any request for
  +     * this servlet will return an SC_SERVICE_UNAVAILABLE error.  If it is zero,
  +     * the servlet is currently available.
        */
       public long getAvailable() {
   
  @@ -283,9 +283,9 @@
   
       /**
        * Set the available date/time for this servlet, in milliseconds since the
  -     * epoch.  If this date/time is Long.MAX_VALUE, it is considered to mean 
  -     * that unavailability is permanent and any request for this servlet will 
return 
  -     * an SC_NOT_FOUND error. If this date/time is in the future, any request for 
  +     * epoch.  If this date/time is Long.MAX_VALUE, it is considered to mean
  +     * that unavailability is permanent and any request for this servlet will return
  +     * an SC_NOT_FOUND error. If this date/time is in the future, any request for
        * this servlet will return an SC_SERVICE_UNAVAILABLE error.
        *
        * @param available The new available date/time
  @@ -462,7 +462,7 @@
   
           int oldMaxInstances = this.maxInstances;
           this.maxInstances = maxInstances;
  -        support.firePropertyChange("maxInstances", oldMaxInstances, 
  +        support.firePropertyChange("maxInstances", oldMaxInstances,
                                      this.maxInstances);
   
       }
  @@ -631,7 +631,7 @@
   
       /**
        * Add a mapping associated with the Wrapper.
  -     * 
  +     *
        * @param pattern The new wrapper mapping
        */
       public void addMapping(String mapping) {
  @@ -903,14 +903,14 @@
                   if (jspWrapper != null)
                       actualClass = jspWrapper.getServletClass();
               }
  -    
  +
               // Complain if no servlet class has been specified
               if (actualClass == null) {
                   unavailable(null);
                   throw new ServletException
                       (sm.getString("standardWrapper.notClass", getName()));
               }
  -    
  +
               // Acquire an instance of the class loader to be used
               Loader loader = getLoader();
               if (loader == null) {
  @@ -918,14 +918,14 @@
                   throw new ServletException
                       (sm.getString("standardWrapper.missingLoader", getName()));
               }
  -    
  +
               ClassLoader classLoader = loader.getClassLoader();
  -    
  +
               // Special case class loader for a container provided servlet
               if (isContainerProvidedServlet(actualClass)) {
                   classLoader = this.getClass().getClassLoader();
               }
  -    
  +
               // Load the specified servlet class from the appropriate class loader
               Class classClass = null;
               try {
  @@ -934,7 +934,7 @@
                       final String factualClass = actualClass;
                       try{
                           classClass = (Class)AccessController.doPrivileged(
  -                                new PrivilegedExceptionAction(){                    
            
  +                                new PrivilegedExceptionAction(){
                                       public Object run() throws Exception{
                                           if (fclassLoader != null) {
                                               return 
fclassLoader.loadClass(factualClass);
  @@ -942,17 +942,17 @@
                                               return Class.forName(factualClass);
                                           }
                                       }
  -                        });    
  +                        });
                       } catch(PrivilegedActionException pax){
                           Exception ex = pax.getException();
                           if (ex instanceof ClassNotFoundException){
                               throw (ClassNotFoundException)ex;
                           } else {
  -                            log.error( "Error loading " 
  +                            log.error( "Error loading "
                                   + fclassLoader + " " + factualClass, ex );
                           }
                       }
  -                } else {                
  +                } else {
                       if (classLoader != null) {
                           classClass = classLoader.loadClass(actualClass);
                       } else {
  @@ -961,8 +961,8 @@
                   }
               } catch (ClassNotFoundException e) {
                   unavailable(null);
  -                
  -                
  +
  +
                   log.error( "Error loading " + classLoader + " " + actualClass, e );
                   throw new ServletException
                       (sm.getString("standardWrapper.missingClass", actualClass),
  @@ -974,7 +974,7 @@
                   throw new ServletException
                       (sm.getString("standardWrapper.missingClass", actualClass));
               }
  -    
  +
               // Instantiate and initialize an instance of the servlet class itself
               try {
                   servlet = (Servlet) classClass.newInstance();
  @@ -989,38 +989,38 @@
                   throw new ServletException
                       (sm.getString("standardWrapper.instantiate", actualClass), e);
               }
  -    
  -            // Check if loading the servlet in this web application should be 
  +
  +            // Check if loading the servlet in this web application should be
               // allowed
               if (!isServletAllowed(servlet)) {
                   throw new SecurityException
  -                    (sm.getString("standardWrapper.privilegedServlet", 
  +                    (sm.getString("standardWrapper.privilegedServlet",
                                     actualClass));
               }
  -    
  +
               // Special handling for ContainerServlet instances
               if ((servlet instanceof ContainerServlet) &&
                   isContainerProvidedServlet(actualClass)) {
                   ((ContainerServlet) servlet).setWrapper(this);
               }
  -    
  +
               classLoadTime=System.currentTimeMillis() -t1;
               // Call the initialization method of this servlet
               try {
                   instanceSupport.fireInstanceEvent(InstanceEvent.BEFORE_INIT_EVENT,
                                                     servlet);
  -                
  +
                   if( System.getSecurityManager() != null) {
                       Class[] classType = new Class[]{ServletConfig.class};
                       Object[] args = new Object[]{((ServletConfig)facade)};
                       SecurityUtil.doAsPrivilege("init",
                                                  servlet,
  -                                               classType, 
  -                                               args); 
  +                                               classType,
  +                                               args);
                   } else {
  -                    servlet.init(facade);                  
  +                    servlet.init(facade);
                   }
  -                
  +
                   // Invoke jspInit on JSP pages
                   if ((loadOnStartup >= 0) && (jspFile != null)) {
                       // Invoking jspInit
  @@ -1028,16 +1028,16 @@
                       req.setServletPath(jspFile);
                       req.setQueryString("jsp_precompile=true");
                       DummyResponse res = new DummyResponse();
  -                    
  +
                       if( System.getSecurityManager() != null) {
  -                        Class[] classType = new Class[]{ServletRequest.class, 
  +                        Class[] classType = new Class[]{ServletRequest.class,
                                                           ServletResponse.class};
                           Object[] args = new Object[]{req, res};
                           SecurityUtil.doAsPrivilege("service",
                                                      servlet,
  -                                                   classType, 
  -                                                   args);  
  -                    } else { 
  +                                                   classType,
  +                                                   args);
  +                    } else {
                           servlet.service(req, res);
                       }
                   }
  @@ -1062,7 +1062,7 @@
                   throw new ServletException
                       (sm.getString("standardWrapper.initException", getName()), f);
               }
  -    
  +
               // Register our newly initialized instance
               singleThreadModel = servlet instanceof SingleThreadModel;
               if (singleThreadModel) {
  @@ -1085,7 +1085,7 @@
               }
           }
           if( oname != null )
  -            registerJMX((ContainerBase)getParent());
  +            registerJMX((StandardContext)getParent());
           return servlet;
   
       }
  @@ -1238,15 +1238,15 @@
           try {
               instanceSupport.fireInstanceEvent
                 (InstanceEvent.BEFORE_DESTROY_EVENT, instance);
  -            
  +
               Thread.currentThread().setContextClassLoader(classLoader);
               if( System.getSecurityManager() != null) {
                   SecurityUtil.doAsPrivilege("destroy",
  -                                           instance);  
  -            } else { 
  +                                           instance);
  +            } else {
                   instance.destroy();
               }
  -            
  +
               instanceSupport.fireInstanceEvent
                 (InstanceEvent.AFTER_DESTROY_EVENT, instance);
           } catch (Throwable t) {
  @@ -1285,8 +1285,8 @@
                   while (!instancePool.isEmpty()) {
                       if( System.getSecurityManager() != null) {
                           SecurityUtil.doAsPrivilege("destroy",
  -                                                   ((Servlet) instancePool.pop())); 
 
  -                    } else { 
  +                                                   ((Servlet) instancePool.pop()));
  +                    } else {
                           ((Servlet) instancePool.pop()).destroy();
                       }
                   }
  @@ -1296,7 +1296,7 @@
                   unloading = false;
                   fireContainerEvent("unload", this);
                   throw new ServletException
  -                    (sm.getString("standardWrapper.destroyException", 
  +                    (sm.getString("standardWrapper.destroyException",
                                     getName()), t);
               } finally {
                   // restore the context ClassLoader
  @@ -1453,7 +1453,7 @@
       private boolean isServletAllowed(Object servlet) {
   
           if (servlet instanceof ContainerServlet) {
  -            if (((Context) getParent()).getPrivileged() 
  +            if (((Context) getParent()).getPrivileged()
                   || (servlet.getClass().getName().equals
                       ("org.apache.catalina.servlets.InvokerServlet"))) {
                   return (true);
  @@ -1530,7 +1530,7 @@
   
       }
   
  -    protected void registerJMX(ContainerBase ctx) {
  +    protected void registerJMX(StandardContext ctx) {
           try {
               String name=this.getJspFile();
               if( name==null ) {
  @@ -1542,7 +1542,9 @@
               String webMod= "//" + ((hostName==null)? "DEFAULT" :hostName ) +
                       (("".equals(parentName) ) ? "/" : parentName );
               String oname="j2eeType=Servlet,name=" + name + ",WebModule=" +
  -                    webMod + ctx.getJSR77Suffix();
  +                    webMod + ",J2EEApplication=" +
  +                    ctx.getJ2EEApplication() + ",J2EEServer=" +
  +                    ctx.getJ2EEServer();
   
               Registry.getRegistry().registerComponent(this,
                       ctx.getDomain(), "Servlet", oname);
  
  
  

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

Reply via email to