Repository: karaf Updated Branches: refs/heads/karaf-2.x 3b0b81966 -> f3a6a72cf
[KARAF-3020]RBAC-put "type" right after the domain when generate the PID from JMX ObjectName Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/f3a6a72c Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/f3a6a72c Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/f3a6a72c Branch: refs/heads/karaf-2.x Commit: f3a6a72cf516bdbabce71ae5b32b46efbc0c0b19 Parents: 3b0b819 Author: Freeman Fang <[email protected]> Authored: Wed Jun 4 11:07:59 2014 +0800 Committer: Freeman Fang <[email protected]> Committed: Wed Jun 4 11:07:59 2014 +0800 ---------------------------------------------------------------------- .../karaf/management/KarafMBeanServerGuard.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/f3a6a72c/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java ---------------------------------------------------------------------- diff --git a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java index e614d8b..83140ba 100644 --- a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java +++ b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java @@ -307,17 +307,21 @@ public class KarafMBeanServerGuard implements InvocationHandler { private List<String> getNameSegments(ObjectName objectName) { List<String> segments = new ArrayList<String>(); segments.add(objectName.getDomain()); - // TODO can an ObjectName property contain a comma as key or value ? // TODO support quoting as described in http://docs.oracle.com/javaee/1.4/api/javax/management/ObjectName.html for (String s : objectName.getKeyPropertyListString().split("[,]")) { int index = s.indexOf('='); - if (index < 0) + if (index < 0) { continue; - - segments.add(objectName.getKeyProperty(s.substring(0, index))); + } + String key = objectName.getKeyProperty(s.substring(0, index)); + if (s.substring(0, index).equals("type")) { + segments.add(1, key); + } else { + segments.add(key); + } } - + return segments; }
