Repository: karaf Updated Branches: refs/heads/karaf-3.0.x 958f5ab14 -> b9cecabf4
[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/b9cecabf Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/b9cecabf Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/b9cecabf Branch: refs/heads/karaf-3.0.x Commit: b9cecabf44b626655e5cee4d5abd94c78b8ef74b Parents: 958f5ab Author: Freeman Fang <[email protected]> Authored: Wed Jun 4 11:07:59 2014 +0800 Committer: Freeman Fang <[email protected]> Committed: Wed Jun 4 11:11:27 2014 +0800 ---------------------------------------------------------------------- .../karaf/management/KarafMBeanServerGuard.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/b9cecabf/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 192942e..3c166ce 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 @@ -294,17 +294,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; }
