ctakes-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vijay garla <vnga...@gmail.com>
Subject Re: YTEX cTAKES 3.1.1 ready
Date Wed, 08 Jan 2014 13:52:11 GMT
Hi Bhaskar,

Thanks for working on this!

I am not sure what is going wrong, but can you try doing a clean checkout
and a "mvn clean install" from the command line?  When I do this, all tests
in all projects pass, no changes necessary.  I have never had the eclipse
maven m2e plugin work flawlessly (congratulations to those of you who do);
if the command line mvn clean install works, then I need to figure out why
the build doesn't work from eclipse.  I am using the 64-bit eclipse kepler,
jdk 1.7, and maven 3.1.0; for me none of the projects with jcasgen plugins
compile from eclipse.

Regarding the class not found exceptions: these classes are in
CTAKES_HOME/lib/ctakes-core-3.1.2-SNAPSHOT.jar - can you make sure the
classes are there?  If not, something went wrong in the build of
ctakes-core (again please verify that that this works when you run maven
from the command line).

I run this batch script which does a checkout, install, ytex setup, and
runs the ytex CPE in a single go:

@REM c:\java\setenv.bat - puts java, maven, and svn in the PATH
@REM c:\temp\ctakes-build - where ctakes gets checked out
@REM c:\temp - where I downloaded the ctakes resources, ytex resources &
lib files
@REM c:\java\apache-ctakes-3.1.2-SNAPSHOT - where ctakes get's installed

call c:\java\setenv.bat
cd C:\temp\ctakes-build\ctakes
rmdir /s /q ctakes
svn co https://svn.apache.org/repos/asf/ctakes/branches/ytex ctakes
cd ctakes
@rem need to unset ctakes home
set CTAKES_HOME=
call mvn clean install
cd c:\java
rmdir /s /q apache-ctakes-3.1.2-SNAPSHOT
jar xf
C:\temp\ctakes-build\ctakes\ctakes-distribution\target\apache-ctakes-3.1.2-SNAPSHOT-bin.zip
cd apache-ctakes-3.1.2-SNAPSHOT
jar xf c:\temp\ctakes-resources-3.1.0.zip
jar xf c:\temp\ctakes-ytex-resources-3.1.2-SNAPSHOT.zip
jar xf c:\temp\ctakes-ytex-lib-3.1.2-SNAPSHOT.zip
@rem stop here if you don't need to do a ytex setup
@rem adjust this to match your environment-  to use a different DB, copy a
different ytex.properties file
copy resources\org\apache\ctakes\ytex\ytex.properties.mssql.example
resources\org\apache\ctakes\ytex\ytex.properties
cd bin\ctakes-ytex\scripts
call ..\..\ant.bat -f build-setup.xml all > setup.out 2>&1
cd ..\..\..
call bin\setenv.bat
java -cp "%CLASSPATH%"
 -Dlog4j.configuration=file:/%CTAKES_HOME%/config/log4j.xml -Xms512M -Xmx2g
org.apache.ctakes.ytex.tools.RunCPE
 desc\ctakes-ytex-uima\desc\cpe\fracture_demo.xml

Best,

Vijay



On Wed, Jan 8, 2014 at 7:41 AM, Bhaskar B <bhaskarb.2014@gmail.com> wrote:

> Hi Vijay,
>
> Thank you for this update.  In order to evaluate the YTEX port into
> cTAKES, I wanted to do the following (goals):
>
> (a) Compile the ctakes/branches/ytex to create
> apache-ctakes-3.1.2-SNAPSHOT.
> (b) Validate that the just compiled binary works by running either the
> AggregatePlaintextProcessor.xml or AggregatePlaintextUMLSProcessor.xml
> pipelines (basically following instructions at
> https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+3.1+User+Install+Guide
> ).
> (c) Follow instructions at
> https://code.google.com/p/ytex/wiki/Installation_cTAKES_3_1 to explore
> YTEX specific features, e.g. pipelines, writing annotations to database,
> etc.
>
> So I took the following steps:
>
> 1) Followed the instructions at
> https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+3.1+Developer+Install+Guideand
> https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+3.0+Developer+Install+Guideto
successfully (i) configure Eclipse (Juno) environment for building
> cTAKES, and (ii) pull the source code from the SVN repository branch:
> https://svn.apache.org/repos/asf/ctakes/branches/ytex.
>
> 2) In Eclipse, right clicked on the top-most (or root level) pom.xml,
> selected Run As -> Maven build, typed in "compile" as the goal, and hit
> Run.  This successfully compiled all the projects.
>
> 3) In Eclipse, repeated step (2) but selected Run As -> Maven install to
> create a distribution.  However this is where I started to encounter few
> problems.  I was eventually able to get Maven install to complete and
> create the binaries (i.e. in ctakes-distribution/target/) but by manually
> doing the following:
>
> 3.1) in pom.xml of ctakes-ytex-uima: excluded all tests
> 3.2) in pom.xml of ctakes-core: excluded 2 tests
> 3.3) in ctakes-ytex: modified scripts/build-classpath.xml and
> scripts/build-setup.xml to hardcode path to ANT library
> 3.4) in ctakes-dependency-parser: excluded 1 unit test
>
> 4) After this step, I extracted apache-ctakes-3.1.2-SNAPSHOT-bin.zip and
> attempted to verify (i.e. step (b)) above.  However when I attempted to
> load AggregatePlaintextProcessor, I am getting exception (below).
>
> While I continue to look to resolve this, any tips/hints that you could
> provide to get this build functional would be highly appreciated.  I think
> I may be missing one or more key steps/configuration.  My workstation is
> Windows 7 and I use Eclipse Juno.
>
> -------------------------
> java.lang.Error: Unresolved compilation problems:
>         The import org.apache.ctakes.core.fsm.machine cannot be resolved
>         The import org.apache.ctakes.core.fsm.machine cannot be resolved
>         The import org.apache.ctakes.core.fsm.machine cannot be resolved
>         The import org.apache.ctakes.core.fsm.machine cannot be resolved
>         The import org.apache.ctakes.core.fsm.machine cannot be resolved
>         The import org.apache.ctakes.core.fsm.machine cannot be resolved
>         The import org.apache.ctakes.core.fsm.machine cannot be resolved
>         The import org.apache.ctakes.core.fsm.output cannot be resolved
>         The import org.apache.ctakes.core.fsm.output cannot be resolved
>         The import org.apache.ctakes.core.fsm.output cannot be resolved
>         The import org.apache.ctakes.core.fsm.output cannot be resolved
>         The import org.apache.ctakes.core.fsm.output cannot be resolved
>         The import org.apache.ctakes.core.fsm.output cannot be resolved
>         The import org.apache.ctakes.core.fsm.output cannot be resolved
>         The import org.apache.ctakes.core.fsm.token.BaseToken cannot be
> resolved
>
>         The import org.apache.ctakes.core.fsm.token.EolToken cannot be
> resolved
>         DateFSM cannot be resolved to a type
>         TimeFSM cannot be resolved to a type
>         FractionFSM cannot be resolved to a type
>         RomanNumeralFSM cannot be resolved to a type
>         RangeFSM cannot be resolved to a type
>         MeasurementFSM cannot be resolved to a type
>         PersonTitleFSM cannot be resolved to a type
>         DateFSM cannot be resolved to a type
>         DateFSM cannot be resolved to a type
>         TimeFSM cannot be resolved to a type
>         TimeFSM cannot be resolved to a type
>         FractionFSM cannot be resolved to a type
>         FractionFSM cannot be resolved to a type
>         RomanNumeralFSM cannot be resolved to a type
>         RomanNumeralFSM cannot be resolved to a type
>         RangeFSM cannot be resolved to a type
>         RangeFSM cannot be resolved to a type
>         MeasurementFSM cannot be resolved to a type
>         MeasurementFSM cannot be resolved to a type
>         PersonTitleFSM cannot be resolved to a type
>         PersonTitleFSM cannot be resolved to a type
>         BaseToken cannot be resolved to a type
>         BaseToken cannot be resolved to a type
>         BaseToken cannot be resolved to a type
>         The method adaptToBaseToken(BaseToken) from the type
> ContextDependentTok
> enizerAnnotator refers to the missing type BaseToken
>         EolToken cannot be resolved to a type
>         BaseToken cannot be resolved to a type
>         DateToken cannot be resolved to a type
>         DateFSM cannot be resolved to a type
>         DateToken cannot be resolved to a type
>         DateToken cannot be resolved to a type
>         TimeToken cannot be resolved to a type
>         TimeFSM cannot be resolved to a type
>         TimeToken cannot be resolved to a type
>         TimeToken cannot be resolved to a type
>         RomanNumeralToken cannot be resolved to a type
>         RomanNumeralFSM cannot be resolved to a type
>         RomanNumeralToken cannot be resolved to a type
>         RomanNumeralToken cannot be resolved to a type
>         FractionToken cannot be resolved to a type
>         FractionFSM cannot be resolved to a type
>         FractionToken cannot be resolved to a type
>         FractionToken cannot be resolved to a type
>         RangeToken cannot be resolved to a type
>         RangeFSM cannot be resolved to a type
>         RangeToken cannot be resolved to a type
>         RangeToken cannot be resolved to a type
>         MeasurementToken cannot be resolved to a type
>         MeasurementFSM cannot be resolved to a type
>         MeasurementToken cannot be resolved to a type
>         MeasurementToken cannot be resolved to a type
>         PersonTitleToken cannot be resolved to a type
>         PersonTitleFSM cannot be resolved to a type
>         PersonTitleToken cannot be resolved to a type
>         PersonTitleToken cannot be resolved to a type
>         BaseToken cannot be resolved to a type
>
>         at
> org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnota
> tor.<init>(ContextDependentTokenizerAnnotator.java:45)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
> Source)
>
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
> rce)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at java.lang.Class.newInstance0(Unknown Source)
>         at java.lang.Class.newInstance(Unknown Source)
>         at
> org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.ini
> tializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:227)
>         at
> org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.ini
> tialize(PrimitiveAnalysisEngine_impl.java:156)
>         at
> org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analy
> sisEngineFactory_impl.java:94)
>         at
> org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(Co
> mpositeResourceFactory_impl.java:62)
>         at
> org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:269)
>
>         at
> org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.jav
> a:387)
>         at
> org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java
> :254)
>         at
> org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.ini
> tASB(AggregateAnalysisEngine_impl.java:431)
>         at
> org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.ini
> tializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:375)
>         at
> org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.ini
> tialize(AggregateAnalysisEngine_impl.java:185)
>         at
> org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(Analy
> sisEngineFactory_impl.java:94)
>         at
> org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(Co
> mpositeResourceFactory_impl.java:62)
>         at
> org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:269)
>
>         at
> org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.jav
> a:354)
>         at org.apache.uima.tools.cvd.MainFrame.setupAE(MainFrame.java:1484)
>         at
> org.apache.uima.tools.cvd.MainFrame.loadAEDescriptor(MainFrame.java:4
> 77)
>         at
> org.apache.uima.tools.cvd.control.AnnotatorOpenEventHandler.actionPer
> formed(AnnotatorOpenEventHandler.java:52)
>         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
>         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown
> Source)
>         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
> Source)
>         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>         at javax.swing.AbstractButton.doClick(Unknown Source)
>         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
>         at
> javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
> Source)
>         at java.awt.Component.processMouseEvent(Unknown Source)
>         at javax.swing.JComponent.processMouseEvent(Unknown Source)
>         at java.awt.Component.processEvent(Unknown Source)
>         at java.awt.Container.processEvent(Unknown Source)
>         at java.awt.Component.dispatchEventImpl(Unknown Source)
>         at java.awt.Container.dispatchEventImpl(Unknown Source)
>         at java.awt.Component.dispatchEvent(Unknown Source)
>         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown
> Source)
>         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
>         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>         at java.awt.Container.dispatchEventImpl(Unknown Source)
>         at java.awt.Window.dispatchEventImpl(Unknown Source)
>         at java.awt.Component.dispatchEvent(Unknown Source)
>         at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
>         at java.awt.EventQueue.access$200(Unknown Source)
>         at java.awt.EventQueue$3.run(Unknown Source)
>         at java.awt.EventQueue$3.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
> ce)
>         at
> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
> ce)
>         at java.awt.EventQueue$4.run(Unknown Source)
>         at java.awt.EventQueue$4.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
> ce)
>         at java.awt.EventQueue.dispatchEvent(Unknown Source)
>         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
> Source)
>         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
> Source)
>         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>         at java.awt.EventDispatchThread.run(Unknown Source)
>
>
>
> On Saturday, January 4, 2014 9:06:52 AM UTC+5:45, vijay garla wrote:
>>
>> Hello All,
>>
>> I have finished an initial cut at the port of YTEX to cTAKES 3.1.1.  Most
>> of the YTEX functionality has been ported and integrated with cTAKES, and
>> I've tested with MySQL and MS SQL Server (oracle tests pending).
>>
>> Most of the changes were made in new projects - very little existing
>> cTAKES code has been modified.  The only non-trivial changes are
>> in /ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/i2b2/api
>> - here I modified CharacterOffsetToLineTokenConverterCtakesImpl &
>> SingleDocumentProcessorCtakes to deal with newlines within sentences
>> correctly.  Can somebody take a look at the changes in the ytex branch?
>>
>> I believe that the branch https://svn.apache.org/
>> repos/asf/ctakes/branches/ytex is ready to be merged into ctakes trunk,
>> but would like other users to test it as well.  Questions:
>>
>> * How can I distribute the ctakes binary distribution to ytex users
>> before the merge? Can we make the branch build available somewhere?  The
>> binary distribution is too large to host on the ytex google code site (max
>> 200 MB)
>> * Non-ASF libraries - I have segregated these out into their own zip file
>> that can be distributed via sourceforge.  As a stopgap, I can upload this
>> to the ytex google code site, but would prefer to upload to sourceforge.
>> * UMLS Derivatives - Ditto for these - would like to move to sourceforge.
>> * Documentation - How can I update the confluence docs?  I would migrate
>> the documentation from the google code website.
>>
>> Here the installation instructions (putting the wagon in front of the
>> horse ...)
>>
>> https://code.google.com/p/ytex/wiki/Installation_cTAKES_
>> 3_1?ts=1388793998&updated=Installation_cTAKES_3_1
>>
>> Best,
>>
>> VJ
>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "ytex-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ytex-users+unsubscribe@googlegroups.com.
> To post to this group, send email to ytex-users@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ytex-users/1bef20e1-0e47-489a-b565-30947bee987b%40googlegroups.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message