amyroh      02/03/08 15:59:26

  Modified:    catalina/src/share/org/apache/catalina/mbeans
                        MBeanFactory.java mbeans-descriptors.xml
  Log:
  Clean up remove operations for NPE.
  
  Revision  Changes    Path
  1.12      +23 -13    
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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- MBeanFactory.java 8 Mar 2002 22:01:07 -0000       1.11
  +++ MBeanFactory.java 8 Mar 2002 23:59:26 -0000       1.12
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v
 1.11 2002/03/08 22:01:07 amyroh Exp $
  - * $Revision: 1.11 $
  - * $Date: 2002/03/08 22:01:07 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v
 1.12 2002/03/08 23:59:26 amyroh Exp $
  + * $Revision: 1.12 $
  + * $Date: 2002/03/08 23:59:26 $
    *
    * ====================================================================
    *
  @@ -110,7 +110,7 @@
    * <code>org.apache.catalina.core.StandardServer</code> component.</p>
    *
    * @author Amy Roh
  - * @version $Revision: 1.11 $ $Date: 2002/03/08 22:01:07 $
  + * @version $Revision: 1.12 $ $Date: 2002/03/08 23:59:26 $
    */
   
   public class MBeanFactory extends BaseModelMBean {
  @@ -895,38 +895,45 @@
        *
        * @exception Exception if a component cannot be removed
        */
  -    public void removeConnector(String name, String serviceName) throws Exception {
  +    public void removeConnector(String name) throws Exception {
   
           // Acquire a reference to the component to be removed
           ObjectName oname = new ObjectName(name);
           Server server = ServerFactory.getServer();
  +        String serviceName = oname.getKeyProperty("service");
           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++) {
               if (conns[i] instanceof
                       org.apache.catalina.connector.http10.HttpConnector) {
  -                String addr =
  +                String connAddress =
                       
((org.apache.catalina.connector.http10.HttpConnector)conns[i]).getAddress();
  +                if (connAddress == null) {
  +                    connAddress = "";
  +                }
                   int p = 
((org.apache.catalina.connector.http10.HttpConnector)conns[i]).getPort();
  -                Integer portInt = new Integer(p);
  -                if (address.equals(addr) &&
  -                    port.equals(portInt.toString())) {
  +                String connPort = "" + p;
  +                if (address.equals(connAddress) && port.equals(connPort)) {
                       // Remove this component from its parent component
                       service.removeConnector(conns[i]);
  +                    break;
                   }
               } else if (conns[i] instanceof
                       org.apache.catalina.connector.http.HttpConnector) {
  -                String addr =
  +                String connAddress =
                       
((org.apache.catalina.connector.http.HttpConnector)conns[i]).getAddress();
                   int p = 
((org.apache.catalina.connector.http.HttpConnector)conns[i]).getPort();
  -                Integer portInt = new Integer(p);
  -                if (address.equals(addr) &&
  -                    port.equals(portInt.toString())) {
  +                String connPort = "" + p;
  +                if (address.equals(connAddress) && port.equals(connPort)) {
                       // Remove this component from its parent component
                       service.removeConnector(conns[i]);
  +                    break;
                   }
               }
           }
  @@ -1034,6 +1041,7 @@
                       if (sname.equals(serviceName) &&
                           sequence.equals(sequenceInt.toString())){
                           engine.removeValve(valves[i]);
  +                        break;
                       }
                   }
               }
  @@ -1051,6 +1059,7 @@
                       if ((sname.equals(serviceName) && hn.equals(hostName)) &&
                           sequence.equals(sequenceInt.toString())){
                           host.removeValve(valves[i]);
  +                        break;
                       }
                   }
               }
  @@ -1072,6 +1081,7 @@
                           pathName.equals(path)) &&
                           sequence.equals(sequenceInt.toString())){
                           context.removeValve(valves[i]);
  +                        break;
                       }
                   }
               }
  
  
  
  1.38      +1 -4      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
  
  Index: mbeans-descriptors.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- mbeans-descriptors.xml    8 Mar 2002 22:01:08 -0000       1.37
  +++ mbeans-descriptors.xml    8 Mar 2002 23:59:26 -0000       1.38
  @@ -6,7 +6,7 @@
   <!--
        Descriptions of JMX MBeans for Catalina
   
  -     $Id: mbeans-descriptors.xml,v 1.37 2002/03/08 22:01:08 amyroh Exp $
  +     $Id: mbeans-descriptors.xml,v 1.38 2002/03/08 23:59:26 amyroh Exp $
    -->
   
   <mbeans-descriptors>
  @@ -1260,9 +1260,6 @@
              returnType="void">
         <parameter name="name"
             description="MBean Name of the component to be removed"
  -                 type="java.lang.String"/>
  -      <parameter name="serviceName"
  -          description="Service name of the connector to remove"
                    type="java.lang.String"/>
       </operation>
   
  
  
  

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

Reply via email to