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]>