MARMOTTA-440: improved error handling in rdf-patch parser
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/9377ec10 Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/9377ec10 Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/9377ec10 Branch: refs/heads/develop Commit: 9377ec102228a7fa7c862bbea8cf6c8c0ecd6c28 Parents: 397cd2a Author: Jakob Frank <[email protected]> Authored: Thu Feb 27 09:07:12 2014 +0100 Committer: Jakob Frank <[email protected]> Committed: Thu Feb 27 17:38:15 2014 +0100 ---------------------------------------------------------------------- platform/marmotta-ldp/src/main/javacc/rdf-patch.jj | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/9377ec10/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj ---------------------------------------------------------------------- diff --git a/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj b/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj index 92a001c..7b47aaf 100644 --- a/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj +++ b/platform/marmotta-ldp/src/main/javacc/rdf-patch.jj @@ -82,8 +82,12 @@ public class RdfPatchParserImpl implements RdfPatchParser { return this.valueFactory.createBNode(id); } - private Literal createLiteral(String value, String lang, URI type) { - value = TurtleUtil.decodeString(value.substring(1, value.length() - 1)); + private Literal createLiteral(String value, String lang, URI type) throws ParseException { + try { + value = TurtleUtil.decodeString(value.substring(1, value.length() - 1)); + } catch (IllegalArgumentException e) { + throw new ParseException(e.getMessage()); + } if (lang != null) { return this.valueFactory.createLiteral(value, lang); } else if (type != null) { @@ -93,7 +97,7 @@ public class RdfPatchParserImpl implements RdfPatchParser { } } - private Literal createLongLiteral(String value, String lang, URI type) { + private Literal createLongLiteral(String value, String lang, URI type) throws ParseException { value = value.substring(2, value.length() - 2); return createLiteral(value, lang, type); }
