I see, thanks.
So you're saying that I would do something like: add the option
"-LookupXml=$HOME/project/org/apache/ctakes/dictionary/lookup/fast/sno_rx_16ab.xml"
to the VM options in the run configurations for my intellij project? Can
this be a comma-seperated list of locations?

On Fri, Apr 6, 2018 at 9:32 AM, Finan, Sean <
sean.fi...@childrens.harvard.edu> wrote:

> Hi Reed,
>
> Wow, you went through a lot of trouble.  There actually is a much simpler
> solution.  It does need proper documentation as it is only hinted at in [1]
> and [2].  You can put a dictionary anywhere you want.  Then either in your
> piper file (configures pipeline) or the command line, or in the submitter
> gui [3], specify the LookupXml file location.   That xml file is what
> points to the dictionary database and specifies how it should be used.
>
> The best "how-to" is on the ctakes 4.0 wiki front page, the
> "pamphlet/manual" under Documentation. [4]
>
> Sean
>
> 1.
> https://cwiki.apache.org/confluence/display/CTAKES/Piper+Files
> 2.
> https://cwiki.apache.org/confluence/display/CTAKES/Dictionary+Creator+GUI
> 3.
> https://cwiki.apache.org/confluence/display/CTAKES/
> Piper+File+Submitter+GUI
> 4.
> https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+4.0
>
>
>
> ________________________________________
> From: Reed Villanueva <villanuevar...@gmail.com>
> Sent: Friday, April 6, 2018 3:16 PM
> To: dev@ctakes.apache.org
> Subject: Re: How to add /desc and /resources to intellij IDEA project?
> [EXTERNAL]
>
> ​​
> Fixed problem.
>
> Running similar program in the ctakes source trunk/examples...,
> ​I see that ​
> FileLocator.getResource() method should be using
> location=resources/org/apache/ctakes/dictionary/lookup/fast/
> sno_rx_16ab/sno_rx_16ab.script
> url=file:/home/
> ​me
> /projects/ctakes/trunk/resources/org/apache/ctakes/
> dictionary/lookup/fast/sno_rx_16ab/sno_rx_16ab.script
>
> Problem appears to be within FileLocator.getSearchPaths() not including the
> location that I have the resource
> ​ ​
> folder in my project (
> ​which does not conform to​
> a certain convention
> ​ that the method seems to be expecting​
> (
> ​which
>  was never mentioned in the ctakes documentation
> ​ so far as I could find​
> )). The
> ​ relevant​
> code snippet from the intellij
> ​debugging tool
> ​ for the FileLocator.class​
> when debugging
> ​ looks like:
>
> ------------------------------------------------------------
> -------------------------------
>
> private static Collection<String> getFileSearchPaths(String location) {
>     Collection<String> paths = new ArrayList();
>
>     // getting current working directory (I assume being registered as
> my toplevel intellij project location)
>
> String dir = System.getProperty("user.dir");
> if (dir != null && !dir.isEmpty()) {
> paths.add(dir + "/" + location);
> paths.add(dir + "/resources/" + location);
> }
>
> String cTakesHome = System.getenv("CTAKES_HOME");
> if (cTakesHome != null && !cTakesHome.isEmpty()) {
> paths.add(cTakesHome + "/" + location);
> paths.add(cTakesHome + "/resources/" + location);
> }
>
> if (dir != null && !dir.isEmpty()) {
> File ancestor = new File(dir);
>
>         // then starting from the parent folder of the CWD...
>
> while(ancestor.getParentFile() != null) {
> ancestor = ancestor.getParentFile();
>
>             // ...recursively building back down into each "child"
> folder to form a list of possible paths following the conventions
> shown here
>
> paths.add(ancestor + "/" + location);
> paths.add(ancestor + "/ctakes/" + location);
> paths.add(ancestor + "/resources/" + location);
> }
> }
>
> return paths;
> }
>
> ------------------------------------------------------------
> -------------------------------
> ​
>
> ​Examining the "paths" variable before the function returns, I see that it
> expects a certain absolute path convention (when the CTAKES_HOME env.
> variable is not explicitly set).
>
>
> Solution seemes to be to move the resources/ folder to one of the locations
> that the ctakes-core FileLocator.class
> is expecting it to be.
> ​My previous project structure looked like:
>
> ​$HOME/
> ​    project/
>         play-space/
>             /resouces ("marked as" resource root in intellij)
>             /desc (still don't know if I even need this, so please let me
> know)
>             /src
>                 <my java files>
>
> ​changing this to
>
> ​$HOME/
> ​    project/
>         play-space/
>             /src
>                 <my java files>
>     /resouces ("marked as" resource root in intellij)
>     /desc (still don't know if I even need this, so please let me know)
>
> seems to have fixed that issue. If there is anything else I should know
> related to this issue that is not explicitly documented in the ctakes docs,
> please let me know.
>
>
>
>
> On Wed, Apr 4, 2018 at 1:00 PM, Reed Villanueva <villanuevar...@gmail.com>
> wrote:
>
> > As the title states, I am having trouble understanding where to place the
> > /resources (and /desc ?) folders in an intellij IDEA project that is
> trying
> > to use ctakes (don't work with java often).
> >
> > *TLDR: In intellij, how do I use the resources/ and des/ folders that
> come
> > in ctakes binary distributions? What is going on under the surface that
> > lets these things be recognized and used (even when outside of
> intellij)?*
> >
> > Currently I have added the jars by copying them to some folder and
> > pointing intellij to that folder as a library in the File --> Project
> > Structure. The way I am using the resources/ folder right now is by
> having
> > it in the same folder as a src folder in the intellij project ("marked
> as"
> > as "source" folder) and using the context menu on this resources/ copy to
> > "mark as" a "resource root".
> >
> > Testing with a simple variation of the HelloWorldAggregatePipeline.java
> > that can be found in the ctakes trunk/ctakes-examples/..., the code seems
> > to run, but I see errors like:
> >
> > ** Configuration Error: file:$PROJECT_HOME/project/
> >> out/production/project/org/apache/ctakes/lvg/data/config/lvg.properties
> >> (No such file or directory)
> >> ** Error: problem of opening/reading config file: 'file:$PROJECT_HOME
> >> /project/out/production/project/org/apache/ctakes/lvg/
> data/config/lvg.properties'.
> >> Use -x option to specify the config file path.
> >> ** Configuration Error: file:$PROJECT_HOME/project/
> >> out/production/project/org/apache/ctakes/lvg/data/config/lvg.properties
> >> (No such file or directory)
> >> ** Error: problem of opening/reading config file: 'file:$PROJECT_HOME
> >> /project/out/production/project/org/apache/ctakes/lvg/
> data/config/lvg.properties'.
> >> Use -x option to specify the config file path.
> >
> >
> > even though, checking in that location of the project, properties is
> > clearly there and I can open it and see its contents.
> >
> > This makes me suspect that I have not added them to the project
> correctly,
> > so what should be done? Thanks for advice.
> >
>

Reply via email to