--- a/jdk/src/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java Mon Oct 21 10:54:46 2013 +0200
+++ b/jdk/src/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java Mon Oct 21 11:15:41 2013 +0200
@@ -27,6 +27,7 @@
import java.io.*;
import java.util.InvalidPropertiesFormatException;
+import java.util.Map.Entry;
import java.util.Properties;
import jdk.internal.org.xml.sax.Attributes;
import jdk.internal.org.xml.sax.InputSource;
@@ -107,12 +108,17 @@
writer.writeEndElement();
}
- for (String key : props.stringPropertyNames()) {
- String val = props.getProperty(key);
- writer.writeStartElement(ELEMENT_ENTRY);
- writer.writeAttribute(ATTR_KEY, key);
- writer.writeCharacters(val);
- writer.writeEndElement();
+ synchronized(props) {
+ for (Entry<Object, Object> e : props.entrySet()) {
+ final Object k = e.getKey();
+ final Object v = e.getValue();
+ if (k instanceof String && v instanceof String) {
+ writer.writeStartElement(ELEMENT_ENTRY);
+ writer.writeAttribute(ATTR_KEY, (String)k);
+ writer.writeCharacters((String)v);
+ writer.writeEndElement();
+ }
+ }
}
writer.writeEndElement();