costin      2003/03/16 23:43:49

  Modified:    catalina/src/share/org/apache/catalina/valves ValveBase.java
  Log:
  Registration magic
  
  Revision  Changes    Path
  1.4       +26 -13    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java
  
  Index: ValveBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ValveBase.java    8 Mar 2003 07:02:56 -0000       1.3
  +++ ValveBase.java    17 Mar 2003 07:43:49 -0000      1.4
  @@ -85,6 +85,8 @@
   import org.apache.catalina.Context;
   import org.apache.catalina.core.ContainerBase;
   import org.apache.catalina.util.StringManager;
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   
   
   /**
  @@ -100,7 +102,7 @@
   
   public abstract class ValveBase
       implements Contained, Valve, MBeanRegistration {
  -
  +    private static Log log = LogFactory.getLog(ValveBase.class);
   
       //------------------------------------------------------ Instance Variables
   
  @@ -214,6 +216,7 @@
       protected String domain;
       protected ObjectName oname;
       protected MBeanServer mserver;
  +    protected ObjectName controller;
   
       public ObjectName getObjectName() {
           return oname;
  @@ -242,6 +245,14 @@
       public void postDeregister() {
       }
   
  +    public ObjectName getController() {
  +        return controller;
  +    }
  +
  +    public void setController(ObjectName controller) {
  +        this.controller = controller;
  +    }
  +
       /** From the name, extract the parent object name
        *
        * @param valveName
  @@ -265,22 +276,18 @@
           /* Compute the "parent name" part */
           String parentName="";
           if (container instanceof Engine) {
  -            Service service = ((Engine)container).getService();
  -            parentName=",service=" + service.getName();
           } else if (container instanceof Host) {
  -            Service service = ((Engine)container.getParent()).getService();
  -            parentName=",host=" +container.getName() + ",service=" +
  -                    service.getName();
  +            parentName=",host=" +container.getName();
           } else if (container instanceof Context) {
               String path = ((Context)container).getPath();
               if (path.length() < 1) {
                   path = "/";
               }
               Host host = (Host) container.getParent();
  -            Service service = ((Engine) host.getParent()).getService();
               parentName=",path=" + path + ",host=" +
  -                    host.getName() + ",service=" + service.getName();
  +                    host.getName();
           }
  +        log.info("valve parent=" + parentName + " " + parent);
   
           String className=this.getClass().getName();
           int period = className.lastIndexOf('.');
  @@ -293,6 +300,7 @@
               if( valves[i]!=null &&
                       valves[i].getClass() == this.getClass() &&
                       valves[i] != this ) {
  +                log.info("Duplicate " + valves[i] + " " + this + " " + container);
                   seq++;
               }
           }
  @@ -301,8 +309,13 @@
               ext=",seq=" + seq;
           }
   
  -        return new ObjectName( domain + ":type=Valve,name=" + className + ext);
  +        return new ObjectName( domain + ":type=Valve,name=" + className + ext + 
parentName);
       }
   
  +    // -------------------- JMX data  --------------------
   
  +    public ObjectName getContainerName() {
  +        if( container== null) return null;
  +        return ((ContainerBase)container).getObjectName();
  +    }
   }
  
  
  

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

Reply via email to