uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marshall Schor (JIRA)" <...@uima.apache.org>
Subject [jira] Commented: (UIMA-1793) jcasgen: load the descriptor from the classpath
Date Fri, 04 Jun 2010 15:58:56 GMT

    [ https://issues.apache.org/jira/browse/UIMA-1793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12875641#action_12875641

Marshall Schor commented on UIMA-1793:

In looking at the patch and thinking about this, I have some questions.

If the use case is to use run JcasGen on a typesystem which is contained inside a jar, another
option would be to pass the a specification that follows the syntax for the standard way to
write URLs for Jar contents:
jar:  [ some spec to the jar file ] ! [path to item in the Jar file].

See http://java.sun.com/developer/onlineTraining/protocolhandlers/ and in that doc, the section
on "The Standard URLStreamHandlers".

Using this approach would avoid having to put the Jar into the classpath of the application
running JcasGen.  I think that would be good, because the class path for JCasGen in many cases
would not normally need to include the target Jar.

Does this fit your use case better?

> jcasgen: load the descriptor from the classpath
> -----------------------------------------------
>                 Key: UIMA-1793
>                 URL: https://issues.apache.org/jira/browse/UIMA-1793
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Tools
>    Affects Versions: 2.2.2CE, 2.2.2AS, 2.2.2S, 2.1, 2.2, 2.2.1, 2.2.2
>            Reporter: Daniel Truemper
>            Priority: Critical
>             Fix For: 2.3.1
>         Attachments: uimaj-tools-jg.patch
> 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
> 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

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message