private ObjectName getObjectName(URI uri, ManagementInfo info) throws MalformedObjectNameException { String component; String subDomain; if (uri.toString().startsWith(Names.RUNTIME_NAME)) { subDomain = "runtime"; if (info.getName() == null) { component = UriHelper.getDefragmentedNameAsString(uri).substring(Names.RUNTIME_NAME.length() + 1); } else { component = info.getName(); } } else { subDomain = applicationDomain.getAuthority(); if (info.getName() == null) { component = UriHelper.getDefragmentedNameAsString(uri).substring(applicationDomain.toString().length() + 1); } else { component = info.getName(); } } String group = info.getGroup(); if (group != null) { return new ObjectName(DOMAIN + ":SubDomain=" + subDomain + ", type=component, group=" + group + ", name=" + component); } else { return new ObjectName(DOMAIN + ":SubDomain=" + subDomain + ", type=component, name=" + component); } }