diff options
| author | Robert Gemmell <robbie@apache.org> | 2011-03-01 09:35:10 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2011-03-01 09:35:10 +0000 |
| commit | a14ecac35c80961d743b1d99207a79e2a7d2dc09 (patch) | |
| tree | e340080af6ba866ddcfd0556461f67bd9d72b7d5 /java/management | |
| parent | 7266a03b8877a7e8bdfb9929e95f28292fedc3df (diff) | |
| download | qpid-python-a14ecac35c80961d743b1d99207a79e2a7d2dc09.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/qpid@1075745 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management')
| -rw-r--r-- | java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java index 3561e16098..a8fb864cf6 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/jmx/JMXManagedObject.java +++ b/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() |
