You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/10/02 18:45:27 UTC

[jira] [Commented] (JENA-1013) Compressed JSON-LD test AbstractNodeTupleInputFormatTests.fail_on_bad_input_02 no longer catches IOException.

    [ https://issues.apache.org/jira/browse/JENA-1013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14941369#comment-14941369 ] 

ASF subversion and git services commented on JENA-1013:
-------------------------------------------------------

Commit a9e1fae238b4ecd3b821693146d582cee298cd5e in jena's branch refs/heads/master from [~andy.seaborne]
[ https://git-wip-us.apache.org/repos/asf?p=jena.git;h=a9e1fae ]

JENA-1013: Remove workaround for jsonld-java issue 144 after jsonld-java upgrade.


> Compressed JSON-LD test AbstractNodeTupleInputFormatTests.fail_on_bad_input_02 no longer catches IOException.
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: JENA-1013
>                 URL: https://issues.apache.org/jira/browse/JENA-1013
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: Elephas
>    Affects Versions: Jena 3.0.1
>            Reporter: Andy Seaborne
>            Assignee: Andy Seaborne
>             Fix For: Jena 3.0.1
>
>
> In fixing JENA-1011, specifically, correctly calling the JSON-LD parser with nested start/finish calls to the RDFStream, test {{AbstractNodeTupleInputFormatTests.fail_on_bad_input_02}} now fails on JSON-LD.
> The bad data in the test is from AbstractCompressedWholeFileQuadInputFormatTests.generateMixedTuples is legal data follwed by lines of "junk data".
> The reason is that the test data has junk after the closing {{\}}} but the JSON-LD parser (for better or worse) actually ignores trailing content and stops parsing when the matching JSON object close-} is seen.  The input stream is in an unclear state (caching read-ahead) but the parser does not advance any further so it does not report an error.
> In order to get an IOException, the test would need to continue parsing after the end of the legal top level JSON object - effectively, it needs to restart the parser.  jsonld-java has already finished at this point - the call of {{JsonUtils.fromInputStream}} does not look beyond the end of top level object.
> This shows up in the piped iterator because the call to RDFStream.finish() closes the iterator neatly. The test was getting an IOException for a different reason.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)