[ 
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 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

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

Reply via email to