amyroh      02/04/09 16:54:35

  Modified:    catalina/src/share/org/apache/catalina/mbeans
                        MBeanFactory.java MBeanUtils.java
  Log:
  Add check for "null" string address as part of MBean name for connector since
  MBean nomenclature doesn't like empty string.  In the case of address is null,
  it needs to check for string("null") address as part of MBean name for connector.
  Add null check for service property to avoid NPE.  The "service" property for
  connector shouldn't be null, however, it's currently not set.
  
  Revision  Changes    Path
  1.24      +12 -12    
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
  
  Index: MBeanFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- MBeanFactory.java 5 Apr 2002 00:03:03 -0000       1.23
  +++ MBeanFactory.java 9 Apr 2002 23:54:35 -0000       1.24
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v
 1.23 2002/04/05 00:03:03 amyroh Exp $
  - * $Revision: 1.23 $
  - * $Date: 2002/04/05 00:03:03 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v
 1.24 2002/04/09 23:54:35 amyroh Exp $
  + * $Revision: 1.24 $
  + * $Date: 2002/04/09 23:54:35 $
    *
    * ====================================================================
    *
  @@ -117,7 +117,7 @@
    * <code>org.apache.catalina.core.StandardServer</code> component.</p>
    *
    * @author Amy Roh
  - * @version $Revision: 1.23 $ $Date: 2002/04/05 00:03:03 $
  + * @version $Revision: 1.24 $ $Date: 2002/04/09 23:54:35 $
    */
   
   public class MBeanFactory extends BaseModelMBean {
  @@ -1107,31 +1107,31 @@
           Service service = server.findService(serviceName);
           String port = oname.getKeyProperty("port");
           String address = oname.getKeyProperty("address");
  -        if (address==null) {
  -            address = "";
  -        }
  -
  +        
           Connector conns[] = (Connector[]) service.findConnectors();
   
           for (int i = 0; i < conns.length; i++) {
               Class cls = conns[i].getClass();
               Method getAddrMeth = cls.getMethod("getAddress", null);
               Object addrObj = getAddrMeth.invoke(conns[i], null);
  -            String connAddress = new String();
  +            String connAddress = null;
               if (addrObj != null) {
                   connAddress = addrObj.toString();
  -            }
  +            } 
               Method getPortMeth = cls.getMethod("getPort", null);
               Object portObj = getPortMeth.invoke(conns[i], null);
               String connPort = new String();
               if (portObj != null) {
                   connPort = portObj.toString();
               }
  -            if (address.equals(connAddress) && port.equals(connPort)) {
  +            if (((address.equals("null")) && (connAddress==null)) && 
port.equals(connPort)) {
  +                service.removeConnector(conns[i]);
  +                break;
  +            } else if (address.equals(connAddress) && port.equals(connPort)) {
                   // Remove this component from its parent component
                   service.removeConnector(conns[i]);
                   break;
  -            }
  +            } 
           }
   
       }
  
  
  
  1.32      +26 -14    
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java
  
  Index: MBeanUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- MBeanUtils.java   3 Apr 2002 22:22:57 -0000       1.31
  +++ MBeanUtils.java   9 Apr 2002 23:54:35 -0000       1.32
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
 1.31 2002/04/03 22:22:57 amyroh Exp $
  - * $Revision: 1.31 $
  - * $Date: 2002/04/03 22:22:57 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanUtils.java,v
 1.32 2002/04/09 23:54:35 amyroh Exp $
  + * $Revision: 1.32 $
  + * $Date: 2002/04/09 23:54:35 $
    *
    * ====================================================================
    *
  @@ -109,7 +109,7 @@
    *
    * @author Craig R. McClanahan
    * @author Amy Roh
  - * @version $Revision: 1.31 $ $Date: 2002/04/03 22:22:57 $
  + * @version $Revision: 1.32 $ $Date: 2002/04/09 23:54:35 $
    */
   
   public class MBeanUtils {
  @@ -679,18 +679,24 @@
           ObjectName name = null;
           if (connector instanceof HttpConnector) {
               HttpConnector httpConnector = (HttpConnector) connector;
  +            Service service = httpConnector.getService();
  +            String serviceName = null;
  +            if (service != null)
  +                serviceName = service.getName();
               name = new ObjectName(domain + ":type=Connector" +
  -                                  ",service=" +
  -                                  httpConnector.getService().getName() +
  +                                  ",service=" + serviceName +
                                     ",port=" + httpConnector.getPort() +
                                     ",address=" + httpConnector.getAddress());
               return (name);
           } else if (connector instanceof 
org.apache.catalina.connector.http10.HttpConnector) {
               org.apache.catalina.connector.http10.HttpConnector httpConnector =
                   (org.apache.catalina.connector.http10.HttpConnector) connector;
  +            Service service = httpConnector.getService();
  +            String serviceName = null;
  +            if (service != null)
  +                serviceName = service.getName();
               name = new ObjectName(domain + ":type=Connector" +
  -                                  ",service=" +
  -                                  httpConnector.getService().getName() +
  +                                  ",service=" + serviceName+
                                     ",port=" + httpConnector.getPort() +
                                     ",address=" + httpConnector.getAddress());
               return (name);
  @@ -701,15 +707,18 @@
                       PropertyUtils.getSimpleProperty(connector, "address");
                   Integer port = (Integer)
                       PropertyUtils.getSimpleProperty(connector, "port");
  +                Service service = connector.getService();
  +                String serviceName = null;
  +                if (service != null)
  +                    serviceName = service.getName();
                   name = new ObjectName(domain + ":type=Connector" +
  -                                      ",service=" +
  -                                      connector.getService().getName() +
  +                                      ",service=" + serviceName +
                                         ",port=" + port +
                                         ",address=" + address);
                   return (name);
               } catch (Exception e) {
                   throw new MalformedObjectNameException
  -                    ("Cannot create object name for " + connector);
  +                    ("Cannot create object name for " + connector+e);
               }
           } else if ("org.apache.coyote.tomcat4.CoyoteConnector".equals
                      (connector.getClass().getName())) {
  @@ -718,15 +727,18 @@
                       PropertyUtils.getSimpleProperty(connector, "address");
                   Integer port = (Integer)
                       PropertyUtils.getSimpleProperty(connector, "port");
  +                Service service = connector.getService();
  +                String serviceName = null;
  +                if (service != null)
  +                    serviceName = service.getName();
                   name = new ObjectName(domain + ":type=Connector" +
  -                                      ",service=" +
  -                                      connector.getService().getName() +
  +                                      ",service=" + serviceName +
                                         ",port=" + port +
                                         ",address=" + address);
                   return (name);
               } catch (Exception e) {
                   throw new MalformedObjectNameException
  -                    ("Cannot create object name for " + connector);
  +                    ("Cannot create object name for " + connector+e);
               }
           } else {
               throw new MalformedObjectNameException
  
  
  

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

Reply via email to