Repository: karaf Updated Branches: refs/heads/master 3250da7c1 -> 5532278ab
[KARAF-3020]RBAC-put "type" right after the domain when generate the PID from JMX ObjectName (cherry picked from commit f3a6a72cf516bdbabce71ae5b32b46efbc0c0b19) Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/5532278a Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/5532278a Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/5532278a Branch: refs/heads/master Commit: 5532278abf7f47a0f9805b336531ef11d8a043a9 Parents: 3250da7 Author: Freeman Fang <[email protected]> Authored: Wed Jun 4 11:07:59 2014 +0800 Committer: Freeman Fang <[email protected]> Committed: Wed Jun 4 11:12:24 2014 +0800 ---------------------------------------------------------------------- .../karaf/management/KarafMBeanServerGuard.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/5532278a/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 036d472..2561f71 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 @@ -296,17 +296,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; }
