summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2011-03-01 09:35:10 +0000
committerRobert Gemmell <robbie@apache.org>2011-03-01 09:35:10 +0000
commitaf314a11d617556268321269a1fbf0ba3b15b349 (patch)
tree3d307a95383001708bac20ac17c6b55bb1e0401c
parent2caae48af88d3070f9ca08b2b0b61bff71b28c18 (diff)
downloadqpid-python-af314a11d617556268321269a1fbf0ba3b15b349.tar.gz
QPID-3090: allow the JMX Management Console to work properly with quoted ObjectName key values
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1075745 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java29
1 files changed, 26 insertions, 3 deletions
diff --git a/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java
index 3561e16098..a8fb864cf6 100644
--- a/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java
+++ b/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java
@@ -21,6 +21,7 @@
package org.apache.qpid.management.ui.jmx;
import java.util.HashMap;
+import java.util.Map;
import javax.management.ObjectName;
@@ -31,14 +32,36 @@ public class JMXManagedObject extends ManagedBean
{
private ObjectName _objName;
- @SuppressWarnings("unchecked")
public JMXManagedObject(ObjectName objName)
{
super();
this._objName = objName;
setUniqueName(_objName.toString());
- setDomain(_objName.getDomain());
- super.setProperties(new HashMap(_objName.getKeyPropertyList()));
+ setDomain(_objName.getDomain());
+
+ HashMap<String,String> props = new HashMap<String,String>(_objName.getKeyPropertyList());
+
+ for(Map.Entry<String,String> entry : props.entrySet())
+ {
+ String value = entry.getValue();
+
+ if(value != null)
+ {
+ try
+ {
+ //if the name is quoted in the ObjectName, unquote it
+ value = ObjectName.unquote(value);
+ entry.setValue(value);
+ }
+ catch(IllegalArgumentException e)
+ {
+ //ignore, this just means the name is not quoted
+ //and can be left unchanged
+ }
+ }
+ }
+
+ super.setProperties(props);
}
public ObjectName getObjectName()