[
https://issues.apache.org/jira/browse/UIMA-4517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14633175#comment-14633175
]
Renaud Richardet commented on UIMA-4517:
----------------------------------------
Thanks for applying the patch.
I don't have the whole overview regarding Ruta Exceptions, but using only RE or
only checked exceptions for parsing errors would make sense to me. It's not
clear to me how one implement it. If you could quickly draft a plan, I could
start working on it.
> 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: RutaParseRuntimeException.java, 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)