Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-4517

fixing ArrayOutOfBounds exception when parsing invalid Ruta script

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.3.1ruta
    • 2.3.1ruta
    • Ruta
    • None

    Description

      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)?

      Attachments

        1. RutaParser.diff
          2 kB
          Renaud Richardet
        2. RutaParser2.diff
          4 kB
          Renaud Richardet
        3. RutaParseRuntimeException.java
          0.4 kB
          Renaud Richardet

        Activity

          People

            pkluegl Peter Klügl
            renaudrichardet Renaud Richardet
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: