diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | javax/management/ObjectName.java | 10 |
2 files changed, 12 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2007-04-07 Andrew John Hughes <gnu_andrew@member.fsf.org> + + * javax/management/ObjectName.java: + (parse(String)): Fix result of getKeyPropertyListString(). + 2007-04-07 Mark Wielaard <mark@klomp.org> * resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactor, diff --git a/javax/management/ObjectName.java b/javax/management/ObjectName.java index f41740469..d9586eefe 100644 --- a/javax/management/ObjectName.java +++ b/javax/management/ObjectName.java @@ -190,9 +190,9 @@ public class ObjectName if (domainSep == -1) throw new MalformedObjectNameException("No domain separator was found."); domain = name.substring(0, domainSep); - propertyListString = name.substring(domainSep + 1); + String rest = name.substring(domainSep + 1); properties = new TreeMap<String,String>(); - String[] pairs = propertyListString.split(","); + String[] pairs = rest.split(","); if (pairs.length == 0 && !isPattern()) throw new MalformedObjectNameException("A name that is not a " + "pattern must contain at " + @@ -212,7 +212,11 @@ public class ObjectName if (properties.containsKey(key)) throw new MalformedObjectNameException("The same key occurs " + "more than once."); - properties.put(key, pairs[a].substring(sep + 1)); + String value = pairs[a].substring(sep+1); + properties.put(key, value); + propertyListString += key + "=" + value; + if (a != (pairs.length - 1)) + propertyListString += ","; } checkComponents(); } |