Author: markt
Date: Tue Jan  5 19:53:38 2010
New Revision: 896193

URL: http://svn.apache.org/viewvc?rev=896193&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48424
Based on a patch by Ivan
Ensure that the ObjectNames for the Connectors are always generated using the 
same method

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/Connector.java
    tomcat/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=896193&r1=896192&r2=896193&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Tue Jan  5 
19:53:38 2010
@@ -932,14 +932,21 @@
 
     protected ObjectName createObjectName(String domain, String type)
             throws MalformedObjectNameException {
-        String encodedAddr = null;
-        if (getProperty("address") != null) {
-            encodedAddr = URLEncoder.encode(getProperty("address").toString());
-        }
-        String addSuffix = (getProperty("address") == null) ? "" : ",address="
-                + encodedAddr;
-        ObjectName _oname = new ObjectName(domain + ":type=" + type + ",port="
-                + getPort() + addSuffix);
+        Object addressObj = getProperty("address");
+
+        StringBuilder sb = new StringBuilder(domain);
+        sb.append(":type=");
+        sb.append(type);
+        sb.append(",port=");
+        sb.append(getPort());
+        if (addressObj != null) {
+            String address = addressObj.toString();
+            if (address.length() > 0) {
+                sb.append(",address=");
+                sb.append(ObjectName.quote(address));
+            }
+        }
+        ObjectName _oname = new ObjectName(sb.toString());
         return _oname;
     }
 

Modified: tomcat/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java?rev=896193&r1=896192&r2=896193&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java (original)
+++ tomcat/trunk/java/org/apache/catalina/mbeans/MBeanUtils.java Tue Jan  5 
19:53:38 2010
@@ -461,15 +461,20 @@
 
         ObjectName name = null;
         try {
-            String address = (String)
-                IntrospectionUtils.getProperty(connector, "address");
+            Object addressObj = IntrospectionUtils.getProperty(connector, 
"address");            
             Integer port = (Integer)
                 IntrospectionUtils.getProperty(connector, "port");
+
             StringBuilder sb = new StringBuilder(domain);
             sb.append(":type=Connector");
-            sb.append(",port=" + port);
-            if ((address != null) && (address.length()>0)) {
-                sb.append(",address=" + address);
+            sb.append(",port=");
+            sb.append(port);
+            if (addressObj != null) {
+                String address = addressObj.toString();
+                if (address.length() > 0) {
+                    sb.append(",address=");
+                    sb.append(ObjectName.quote(address));
+                }
             }
             name = new ObjectName(sb.toString());
             return (name);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to