Menu

#7 Bookmarks dialog has problem with german umlauts

open
nobody
None
5
2012-05-16
2012-05-16
No

If I save a bookmark with a name containing an umlaut character, leave the File Chooser and reenter it, then the bookmark list cannot be loaded due to exception. Possible explaination is that when saving the bookmark these characters are not escaped to be conform to the XML standard.

Following changes seem to solve the problem:

BookmarksWriter
Line 52: writer.write(name) --> writer.write(StringEscapeUtils.escapeXml(name));
Line 55: writer.write(value) --> writer.write(StringEscapeUtils.escapeXml(value));

BookmarksReader
Line 184: String title = atts.getValue("title"); --> String title = StringEscapeUtils.unescapeXml(atts.getValue("title"));
Line 185: String title = atts.getValue("url"); --> String title = StringEscapeUtils.unescapeXml(atts.getValue("url"));

Stack trace:

Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:554)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:1069)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:813)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:460)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:277)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at net.sf.vfsjfilechooser.accessories.bookmarks.BookmarksReader.<init>(BookmarksReader.java:125)
... 44 more

Discussion


Log in to post a comment.