You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Peter Klügl (JIRA)" <de...@uima.apache.org> on 2015/07/17 22:41:04 UTC
[jira] [Commented] (UIMA-4517) fixing ArrayOutOfBounds exception
when parsing invalid Ruta script
[ https://issues.apache.org/jira/browse/UIMA-4517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14631864#comment-14631864 ]
Peter Klügl commented on UIMA-4517:
-----------------------------------
There's nothing to discuss :-)
The System.out's are just for development and hardly of any use. I haven't found the time yet to introduce more exceptions in ruta.
> fixing ArrayOutOfBounds exception when parsing invalid Ruta script
> ------------------------------------------------------------------
>
> Key: UIMA-4517
> URL: https://issues.apache.org/jira/browse/UIMA-4517
> Project: UIMA
> Issue Type: Bug
> Components: ruta
> Affects Versions: 2.3.1ruta
> Reporter: Renaud Richardet
> Assignee: Peter Klügl
> Priority: Minor
> Fix For: 2.3.1ruta
>
> Attachments: RutaParser.diff, RutaParser2.diff
>
>
> looking for more informative exception messages when parsing invalid Ruta script
> When using Ruta in a non-Workbench setup (in my case, Maven), I don't manage to catch Ruta script errors in a meaningful way. Here is an example:
> "aaa\." -> MyAnnotation; // fails because of escaped dot
> The thrown error is quite uninformative:
> java.lang.ArrayIndexOutOfBoundsException: -1
> at org.apache.uima.ruta.parser.RutaParser.emitErrorMessage(RutaParser.java:365)
> at org.apache.uima.ruta.parser.RutaParser.reportError(RutaParser.java:386)
> at org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:603)
> at org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)
> at org.apache.uima.ruta.parser.RutaParser.file_input(RutaParser.java:680)
> at org.apache.uima.ruta.engine.RutaEngine.loadScript(RutaEngine.java:1058)
> at org.apache.uima.ruta.engine.RutaEngine.initializeScript(RutaEngine.java:743)
> ...
> Here is the code to reproduce: https://github.com/renaud/annotate_ruta_example/tree/ruta_error_message
> However, if I paste that script line in the Ruta Workbench, it nicely underlines it in red at the exact location, and even says "Mismatched input". How do I achieve the same programatically (from Java)?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)