Using load(InputStream) on a new XMLPropertyListConfiguration results in a
thrown ConfigurationException
--------------------------------------------------------------------------------------------------------
Key: CONFIGURATION-405
URL: https://issues.apache.org/jira/browse/CONFIGURATION-405
Project: Commons Configuration
Issue Type: Bug
Affects Versions: 1.6
Environment: MacOS X 6.2, JavaSE 1.6
Reporter: Brian de Alwis
I'm trying to use XMLPropertyListConfiguration to load a property-list from a
byte array. My code looks like:
XMLPropertyListConfiguration plist = new XMLPropertyListConfiguration();
// plist.setRootNode(new PListNode()); // HACK to work around internal
cast exception
plist.load(new ByteArrayInputStream(bytes));
This causes a ConfigurationException caused by a class exception (reproduced
below). The exception can be avoided by uncommenting the second line.
org.apache.commons.configuration.ConfigurationException: Unable to parse the
configuration file
at
org.apache.commons.configuration.plist.XMLPropertyListConfiguration.load(XMLPropertyListConfiguration.java:250)
at
org.apache.commons.configuration.AbstractHierarchicalFileConfiguration$FileConfigurationDelegate.load(AbstractHierarchicalFileConfiguration.java:449)
at
org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFileConfiguration.java:358)
at
org.apache.commons.configuration.AbstractFileConfiguration.load(AbstractFileConfiguration.java:324)
at
org.apache.commons.configuration.AbstractHierarchicalFileConfiguration.load(AbstractHierarchicalFileConfiguration.java:184)
at testcc.TestCC.main(TestCC.java:29)
Caused by: java.lang.ClassCastException:
org.apache.commons.configuration.HierarchicalConfiguration$Node cannot be cast
to org.apache.commons.configuration.plist.XMLPropertyListConfiguration$PListNode
at
org.apache.commons.configuration.plist.XMLPropertyListConfiguration$XMLPropertyListHandler.endElement(XMLPropertyListConfiguration.java:534)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endNamespaceScope(XMLDTDValidator.java:2077)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2028)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:901)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
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:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at
org.apache.commons.configuration.plist.XMLPropertyListConfiguration.load(XMLPropertyListConfiguration.java:246)
... 5 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.