UIMA
  1. UIMA
  2. UIMA-1793

jcasgen: load the descriptor from the classpath

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.2.2CE, 2.2.2AS, 2.2.2S, 2.1, 2.2, 2.2.1, 2.2.2
    • Fix Version/s: 2.3.1SDK
    • Component/s: Tools
    • Labels:
      None

      Description

      Hi,

      I would like to propose a small patch to the Jg class (org.apache.uima.tools.jcasgen.Jg). At the moment it is only possible to generate the source code for the typesystem when the corresponding descriptor file is located somewhere on your disk. I have the use case, where I want the typesystem descriptor to be contained inside a (company wide) jar. That means, I need to load the typesystem descriptor from the classpath.

      The attached patch adds a little bit of extra info to the "-jcasgeninput" parameter ind the "main1" method. If the value starts with "classpath:" the patch will try to look for everything after "classpath:" with its ClassLoader. If the ClassLoader can find the resource and the "outputDirectory" is not null, everything works. If the ClassLoader cannot find the resource, the corresponding error is generated.

      If the "-jcasgeninput" parameter does not start with "classpath:" everything works as before, only that the file is being converted to an URL instance that is given to the XMLInputSource object.

      What I am not sure about it the use of the "xmlSourceFileName" member variable and what it should contain if the descriptor is loaded from the classpath. Actually I don't even know what this variable does...

      I have not found any unittest for this class. So the code is tested with my maven mojo and works as expected. If anyone can provide me with more info about how to test the Eclipse plugin I could also test this, but I certainly need help there...

      Any comments? Best
      Daniel

      1. uima-tools-jg2.patch
        3 kB
        Daniel Truemper
      2. uimaj-tools-jg.patch
        3 kB
        Daniel Truemper

        Activity

        Daniel Truemper created issue -
        Daniel Truemper made changes -
        Field Original Value New Value
        Attachment uimaj-tools-jg.patch [ 12445542 ]
        Daniel Truemper made changes -
        Attachment uima-tools-jg2.patch [ 12447120 ]
        Marshall Schor made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Marshall Schor made changes -
        Fix Version/s 2.3.1SDK [ 12315344 ]
        Fix Version/s 2.3.1 [ 12314751 ]
        Marshall Schor made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Assignee Marshall Schor [ schor ]
        Marshall Schor made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Marshall Schor
            Reporter:
            Daniel Truemper
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development