[
https://issues.apache.org/jira/browse/ABDERA-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600671#action_12600671
]
James M Snell commented on ABDERA-170:
--------------------------------------
FOMSniffingInputStream and FOMParser are not really meant to be used directly
like this. Use this pattern instead:
//...
Parser parser = abdera.getParser();
ParserOptions options = parser.getDefaultParserOptions();
options.setAutodetectCharset(true);
Document<Element> doc = parser.parse(is, options);
System.out.println(doc.getRoot().toString());
System.out.println(doc.getCharset());
FOMParser uses FOMSniffingInputStream internally to do the charset detection.
> FOMParser.parse( InputStream in, String base, ParserOptions
> options) throws exeception
> -------------------------------------------------------------------------------------------------
>
> Key: ABDERA-170
> URL: https://issues.apache.org/jira/browse/ABDERA-170
> Project: Abdera
> Issue Type: Bug
> Environment: linux Ubuntu 7.10, jvm Sun 1.6.0._03, abdera built from
> trunk source with maven
> Reporter: Stefano Linguerri
> Attachments: testentry.xml
>
>
> This is on Trunk.
> The method FOMParser.parse(InputStream in, String base, ParserOptions
> options) use FOMSniffingInputStream this class is the problem.
> FOMSniffingInputStream left the mark of inputstrem moved
> So when the input stream is passed to the parser an exception occurs.
> Two stupid test methods for Junit to verify the bug:
> This WORK:
> @Test
> public void testXMLFromFileWithoutFOMSniffingInputStream() throws Exception
> {
> File file = new File("testentry.xml");
> Abdera abdera = new Abdera();
> FileInputStream is = new FileInputStream(file);
> FOMParser fomParser = new FOMParser(abdera);
> Document<Element> doc = fomParser.parse(is);
> doc.getRoot().toString();
> }
> This THROWS EXECEPTION
> @Test
> public void testXMLFromFileWithFOMSniffingInputStream() throws Exception {
> File file = new File("testentry.xml");
> Abdera abdera = new Abdera();
> FileInputStream is = new FileInputStream(file);
> FOMSniffingInputStream fomSniffingInputStream = new
> FOMSniffingInputStream(is);
> fomSniffingInputStream.getEncoding();
> FOMParser fomParser = new FOMParser(abdera);
> Document<Element> doc = fomParser.parse(is);
> doc.getRoot().toString();
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.