An update on how things are going with using cTAKES from groovy.

For my purposes, I switched from using grapes/@Grab annotations, to having the 
groovy script run against what was extracted from the ctakes convenience binary 
(apache-ctakes-3.1.1-bin.zip)

I have two scripts. In the first (run_cTAKES.groovy), I set a variable pointing 
to where cTAKES was extracted to, and another pointing to where the separately 
downloadable ctakesresources (UMLS dictionary + LVG database) was extracted

Then I run the script. The script adds the following to the classpath 
dynamically using this.class.classLoader.rootLoader.addURL 
 - almost all [1] the jars from cTAKES' lib directory
 - cTAKES' desc directory
 - cTAKES' resources directory
 - the directory where the separately downloadable ctakesresources was extracted

Then it starts the second script (cTAKES-clinical-pipeline.groovy) with 
evaluate(new File('cTAKES-clinical-pipeline.groovy'));

This is just FYI. I plan to share the scripts once they are in better shape.

-- James

[1] groovy and cTAKES do not play nice out of the box. I get the following if I 
include all the jars from cTAKES bin distribution

Caught: javax.xml.transform.TransformerFactoryConfigurationError: Provider 
org.apache.xalan.processor.TransformerFactoryImpl not found
javax.xml.transform.TransformerFactoryConfigurationError: Provider 
org.apache.xalan.processor.TransformerFactoryImpl not found
        at 
org.apache.uima.util.impl.SaxDeserializer_impl.<clinit>(SaxDeserializer_impl.java:54)
        at 
org.apache.uima.util.impl.XMLParser_impl.parse(XMLParser_impl.java:174)
        at 
org.apache.uima.util.impl.XMLParser_impl.parseResourceSpecifier(XMLParser_impl.java:366)
        at 
org.apache.uima.util.impl.XMLParser_impl.parseResourceSpecifier(XMLParser_impl.java:347)
        at 
org.uimafit.factory.ResourceCreationSpecifierFactory.createResourceCreationSpecifier(ResourceCreationSpecifierFactory.java:76)
        at 
org.uimafit.factory.ResourceCreationSpecifierFactory.createResourceCreationSpecifier(ResourceCreationSpecifierFactory.java:55)
        at 
org.uimafit.factory.AnalysisEngineFactory.createAnalysisEngineDescription(AnalysisEngineFactory.java:110)
        at cTAKES-clinical-pipeline.run(cTAKES.groovy:74)
        at run_cTAKES.run(run_cTAKES.groovy:71)

So for now I skip adding the x*.jar files from the cTAKES convenience binary to 
the classpath.


-----Original Message-----
From: dev-return-2311-Masanz.James=mayo....@ctakes.apache.org 
[mailto:dev-return-2311-Masanz.James=mayo....@ctakes.apache.org] On Behalf Of 
Richard Eckart de Castilho
Sent: Thursday, December 12, 2013 12:00 PM
To: dev@ctakes.apache.org
Subject: Re: cTAKES Groovy...

I tried with the small script (buh):

export JAVA_OPTS="-Dgroovy.grape.report.downloads=true $JAVA_OPTS"
HighFire-6:~ bluefire$ ./buh
Resolving dependency: edu.mit.findstruct#findstructapi;0.0.1 {default=[default]}
Preparing to download artifact 
edu.mit.findstruct#findstructapi;0.0.1!findstructapi.jar
Downloaded 13 Kbytes in 2326ms:
  [SUCCESSFUL ] edu.mit.findstruct#findstructapi;0.0.1!findstructapi.jar 
(2311ms)
Please specify input directory

looks ok to me.

-- Richard

On 12.12.2013, at 15:54, Tim Miller <timothy.mil...@childrens.harvard.edu> 
wrote:

> I was able to replicate the error after removing the findstruct directories 
> from my .groovy and .m2 repositories.
> 
> On 12/12/2013 12:22 PM, Masanz, James J. wrote:
>> Shouldn't be firewall - other grapes download fine.
>> 
>> I created a short groovy script to just grab findstructapi - I copy/pasted 
>> the @grab line from from the Groovy Grape section of
>> http://search.maven.org/#artifactdetails%7Cedu.mit.findstruct%7Cfindstructapi%7C0.0.1%7Cjar
>> 
>> And I still get
>> 
>> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
>> failed:
>> General error during conversion: Error grabbing Grapes -- [download failed: 
>> edu.mit.findstruct#findstructapi;0.0.1!findstructapi.jar]
>> 
>> java.lang.RuntimeException: Error grabbing Grapes -- [download failed: 
>> edu.mit.findstruct#findstructapi;0.0.1!findstructapi.jar]
>> 
>> Very odd.
>> 
>> My script is simply:
>> 
>> #!/usr/bin/env groovy
>> @Grab(group='edu.mit.findstruct', module='findstructapi', version='0.0.1')
>> import java.io.File;
>> 
>>              if(args.length < 1) {
>>                      System.out.println("Please specify input directory");
>>                      System.exit(1);
>>              }
>>              System.out.println("Input parm is: " + args[0]);
>>              System.exit(0);

Reply via email to