You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by pa...@apache.org on 2023/11/27 15:41:50 UTC
(ctakes) branch petera created (now 5e295bc)
This is an automated email from the ASF dual-hosted git repository.
pabramowitsch pushed a change to branch petera
in repository https://gitbox.apache.org/repos/asf/ctakes.git
at 5e295bc updated piperBit area to use ClassGraph and added system prop to look at all potential pipe bits. Default is to only display bits that have the PipeBitInfo annotation. shell script passes this when you invoke runPiperCreator.sh -a for bat script just uncomment a line to pass the sysprop
This branch includes the following new commits:
new 16c3a4f change context tokenizer package naming to match folder structure
new 5e295bc updated piperBit area to use ClassGraph and added system prop to look at all potential pipe bits. Default is to only display bits that have the PipeBitInfo annotation. shell script passes this when you invoke runPiperCreator.sh -a for bat script just uncomment a line to pass the sysprop
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(ctakes) 02/02: updated piperBit area to use ClassGraph and added system prop to look at all potential pipe bits. Default is to only display bits that have the PipeBitInfo annotation. shell script passes this when you invoke runPiperCreator.sh -a for bat script just uncomment a line to pass the sysprop
Posted by pa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
pabramowitsch pushed a commit to branch petera
in repository https://gitbox.apache.org/repos/asf/ctakes.git
commit 5e295bc4a7fc594cdd1107fc9afb2358cb66a7f2
Author: Peter Abramowitsch <pa...@hearst.com>
AuthorDate: Sun Nov 26 17:26:24 2023 +0100
updated piperBit area to use ClassGraph and added system prop
to look at all potential pipe bits. Default is to only
display bits that have the PipeBitInfo annotation.
shell script passes this when you invoke
runPiperCreator.sh -a for bat script just uncomment
a line to pass the sysprop
---
.../src/main/bin/runPiperCreator.bat | 7 +-
.../src/main/bin/runPiperCreator.sh | 10 +-
ctakes-gui/pom.xml | 10 +-
.../ctakes/gui/pipeline/bit/PipeBitFinder.java | 138 +++++++++++----------
.../ctakes/gui/pipeline/piper/PiperFinder.java | 73 +++++++----
pom.xml | 4 +-
6 files changed, 145 insertions(+), 97 deletions(-)
diff --git a/ctakes-distribution/src/main/bin/runPiperCreator.bat b/ctakes-distribution/src/main/bin/runPiperCreator.bat
index 25fedf0..09c2801 100644
--- a/ctakes-distribution/src/main/bin/runPiperCreator.bat
+++ b/ctakes-distribution/src/main/bin/runPiperCreator.bat
@@ -36,6 +36,11 @@ if exist "%CTAKES_HOME%\bin\runPiperCreator.bat" goto okHome
cd ..
set CTAKES_HOME=%cd%
+
+set ALL_IMPL=""
+@REM Uncomment the following to add unofficial Piper elements to the list
+@REM set ALL_IMPL="-Dctakes.gui.all-impls=XX"
+
:gotHome
if exist "%CTAKES_HOME%\bin\runPiperCreator.bat" goto okHome
echo The CTAKES_HOME environment variable is not defined correctly
@@ -49,7 +54,7 @@ if exist "%JAVA_HOME%\bin\java.exe" set PATH=%JAVA_HOME%\bin;%PATH%
cd %CTAKES_HOME%
-java -cp "%CTAKES_HOME%\desc\;%CTAKES_HOME%\resources\;%CTAKES_HOME%\lib\*" -Dlog4j.configuration="file:\%CTAKES_HOME%\config\log4j.xml" -Xms512M -Xmx3g org.apache.ctakes.gui.pipeline.PiperCreator
+java -cp "%CTAKES_HOME%\desc\;%CTAKES_HOME%\resources\;%CTAKES_HOME%\lib\*" -Dlog4j.configuration="file:\%CTAKES_HOME%\config\log4j.xml" %ALL_IMPL% -Xms512M -Xmx3g org.apache.ctakes.gui.pipeline.PiperCreator
cd %CURRENT_DIR%
:end
diff --git a/ctakes-distribution/src/main/bin/runPiperCreator.sh b/ctakes-distribution/src/main/bin/runPiperCreator.sh
index 0e85631..dec632f 100644
--- a/ctakes-distribution/src/main/bin/runPiperCreator.sh
+++ b/ctakes-distribution/src/main/bin/runPiperCreator.sh
@@ -40,8 +40,16 @@ while [ -h "$PRG" ]; do
done
PRGDIR=`dirname "$PRG"`
+ALL_IMPL=""
+if [ "$1" = "-a" ]; then
+ ALL_IMPL="-Dctakes.gui.all-impls=XX"
+elif [ "$1" = "-h" ]; then
+ echo "Adding -h will also add unofficial components"
+ exit
+fi
+
# Only set CTAKES_HOME if not already set
[ -z "$CTAKES_HOME" ] && CTAKES_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
cd $CTAKES_HOME
-java -cp $CTAKES_HOME/desc/:$CTAKES_HOME/resources/:$CTAKES_HOME/lib/* -Dlog4j.configuration=file:$CTAKES_HOME/config/log4j.xml -Xms512M -Xmx3g org.apache.ctakes.gui.pipeline.PiperCreator
+java -cp $CTAKES_HOME/desc/:$CTAKES_HOME/resources/:$CTAKES_HOME/lib/* $ALL_IMPL -Dlog4j.configuration=file:$CTAKES_HOME/config/log4j.xml -Xms512M -Xmx3g org.apache.ctakes.gui.pipeline.PiperCreator
diff --git a/ctakes-gui/pom.xml b/ctakes-gui/pom.xml
index d17057c..d6bf6c1 100644
--- a/ctakes-gui/pom.xml
+++ b/ctakes-gui/pom.xml
@@ -22,11 +22,11 @@
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
- <dependency>
- <groupId>io.github.lukehutch</groupId>
- <artifactId>fast-classpath-scanner</artifactId>
- <version>${fast-classpath-scanner.version}</version>
- </dependency>
+ <dependency>
+ <groupId>io.github.classgraph</groupId>
+ <artifactId>classgraph</artifactId>
+ <version>${classgraph.version}</version>
+ </dependency>
</dependencies>
</project>
diff --git a/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/bit/PipeBitFinder.java b/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/bit/PipeBitFinder.java
index a182904..71ed50c 100644
--- a/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/bit/PipeBitFinder.java
+++ b/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/bit/PipeBitFinder.java
@@ -1,9 +1,8 @@
package org.apache.ctakes.gui.pipeline.bit;
+import io.github.classgraph.*;
-import io.github.lukehutch.fastclasspathscanner.FastClasspathScanner;
-import io.github.lukehutch.fastclasspathscanner.matchprocessor.SubclassMatchProcessor;
-import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
import org.apache.ctakes.core.util.log.DotLogger;
import org.apache.log4j.Logger;
import org.apache.uima.analysis_component.Annotator_ImplBase;
@@ -17,82 +16,89 @@ import java.util.ArrayList;
import java.util.Collection;
/**
- * Finds Collection Readers, Annotators, Cas Consumers (Writers), and their metadata
+ * Finds Collection Readers, Annotators, Cas Consumers (Writers), and their
+ * metadata
*
* @author SPF , chip-nlp
* @version %I%
* @since 12/22/2016
*/
public enum PipeBitFinder {
- INSTANCE;
+ INSTANCE;
- static public PipeBitFinder getInstance() {
- return INSTANCE;
- }
+ static public PipeBitFinder getInstance() {
+ return INSTANCE;
+ }
- private final Logger LOGGER = Logger.getLogger( "PipeBitFinder" );
+ private final Logger LOGGER = Logger.getLogger("PipeBitFinder");
- private final Collection<Class<?>> _pipeBits = new ArrayList<>();
- private boolean _didScan = false;
+ private final Collection<Class<?>> _pipeBits = new ArrayList<>();
+ private boolean _didScan = false;
+ private boolean _allImplementations = (System.getProperty("ctakes.gui.all-impls") != null);
- synchronized public void reset() {
- _pipeBits.clear();
- _didScan = false;
- }
+ synchronized public void reset() {
+ _pipeBits.clear();
+ _didScan = false;
+ }
- synchronized public Collection<Class<?>> getPipeBits() {
- scan();
- return _pipeBits;
- }
+ synchronized public Collection<Class<?>> getPipeBits() {
+ scan();
+ return _pipeBits;
+ }
- static private boolean isPipeBit( final Class<?> clazz ) {
- final String className = clazz.getName();
- return !className.startsWith( "org.apache.uima.tutorial" )
- && !className.startsWith( "org.apache.uima.examples" )
- && !Modifier.isAbstract( clazz.getModifiers() )
- && clazz.getEnclosingClass() == null;
- }
+ static private boolean isPipeBit(final Class<?> clazz) {
+ final String className = clazz.getName();
+ return !className.startsWith("org.apache.uima.tutorial") && !className.startsWith("org.apache.uima.examples")
+ && !Modifier.isAbstract(clazz.getModifiers()) && clazz.getEnclosingClass() == null;
+ }
+
+
+ synchronized private ClassInfoList findByAnnotation(ScanResult result) {
+ return result.getClassesWithAnnotation(PipeBitInfo.class.getTypeName());
+ }
+
+ synchronized private ClassInfoList findByType(ScanResult result) {
+ ClassInfoList list = result.getSubclasses(Annotator_ImplBase.class.getTypeName());
+ list.union(
+ result.getSubclasses(JCasAnnotator_ImplBase.class.getTypeName()),
+ result.getSubclasses(CasConsumer_ImplBase.class.getTypeName()),
+ result.getSubclasses(CollectionReader_ImplBase.class.getTypeName()));
+ return list;
+ }
- synchronized public void scan() {
- if ( _didScan ) {
- return;
- }
- final SubclassMatchProcessor<CollectionReader_ImplBase> readerAdder = r -> {
- if ( isPipeBit( r ) ) {
- _pipeBits.add( r );
- }
- };
- final SubclassMatchProcessor<Annotator_ImplBase> annotatorAdder = a -> {
- if ( isPipeBit( a ) ) {
- _pipeBits.add( a );
- }
- };
- final SubclassMatchProcessor<CasConsumer_ImplBase> writerAdder = w -> {
- if ( isPipeBit( w ) ) {
- _pipeBits.add( w );
- }
- };
- // Don't want super-primitive cleartk or uima classes
- final FastClasspathScanner scanner = new FastClasspathScanner();
- LOGGER.info( "Starting Scan for Pipeline Bits" );
- try ( DotLogger dotter = new DotLogger() ){
- scanner.matchSubclassesOf( CollectionReader_ImplBase.class, readerAdder )
- .matchSubclassesOf( Annotator_ImplBase.class, annotatorAdder )
- .matchSubclassesOf( CasConsumer_ImplBase.class, writerAdder );
- final ScanResult result = scanner.scan( 1 );
-// } catch ( ScanInterruptedException | IOException siE ) {
- } catch ( RuntimeException | IOException siE ) {
- LOGGER.error( siE.getMessage() );
- }
- // Get rid of the abstract classes
- _pipeBits.remove( CollectionReader_ImplBase.class );
- _pipeBits.remove( JCasAnnotator_ImplBase.class );
- _pipeBits.remove( CasConsumer_ImplBase.class );
- // FastClassPathScanner blacklisting doesn't work, so we need to remove unwanted packages manually
- _pipeBits.removeIf( c -> c.getPackage().getName().startsWith( "org.cleartk" )
- || c.getPackage().getName().startsWith( "org.apache.uima" ) );
- LOGGER.info( "Scan Finished" );
- _didScan = true;
+ synchronized public void scan() {
+ if ( _didScan ) {
+ return;
+ }
+
+ final ClassGraph scanner = new ClassGraph().enableAllInfo();
+
+ try ( DotLogger dotter = new DotLogger(); ScanResult result = scanner.scan()) {
+ String message = (_allImplementations) ? "all possible " : "official";
+ LOGGER.info( "Starting Scan for ("+message+") Pipeline Bits" );
+ ClassInfoList list = null;
+ if(_allImplementations)
+ list = findByType(result);
+ else
+ list = findByAnnotation(result);
+
+ for(ClassInfo thing : list) {
+ Class<?> clazz = thing.loadClass();
+ if (isPipeBit(clazz)) {
+ _pipeBits.add( clazz );
+ }
+ }
+
+ } catch ( RuntimeException | IOException siE ) {
+ LOGGER.error( siE.getMessage() );
+ }
+
+
+ // FastClassPathScanner blacklisting doesn't work, so we need to remove unwanted packages manually
+ _pipeBits.removeIf( c -> c.getPackage().getName().startsWith( "org.cleartk" )
+ || c.getPackage().getName().startsWith( "org.apache.uima" ) );
+ LOGGER.info( "Scan Finished with " +_pipeBits.size()+ " items found." );
+ _didScan = true;
}
}
diff --git a/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/piper/PiperFinder.java b/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/piper/PiperFinder.java
index 87b11a7..19c8ad3 100644
--- a/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/piper/PiperFinder.java
+++ b/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/piper/PiperFinder.java
@@ -1,19 +1,16 @@
package org.apache.ctakes.gui.pipeline.piper;
-
-import io.github.lukehutch.fastclasspathscanner.FastClasspathScanner;
-import io.github.lukehutch.fastclasspathscanner.ScanInterruptedException;
-import io.github.lukehutch.fastclasspathscanner.matchprocessor.FileMatchProcessorWithContext;
-import io.github.lukehutch.fastclasspathscanner.scanner.ScanResult;
-import io.github.lukehutch.fastclasspathscanner.utils.ClasspathUtils;
+import io.github.classgraph.*;
import org.apache.log4j.Logger;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.function.Consumer;
/**
* @author SPF , chip-nlp
@@ -37,32 +34,64 @@ public class PiperFinder {
scan();
return _piperFiles;
}
-
+
synchronized public void scan() {
if ( _didScan ) {
return;
}
- final FastClasspathScanner scanner = new FastClasspathScanner();
+ final ClassGraph scanner = new ClassGraph();
LOGGER.info( "Starting Scan for Piper Filess" );
- try {
- scanner.matchFilenameExtension( "piper", new PiperAdder() );
- final ScanResult result = scanner.scan();
- } catch ( ScanInterruptedException siE ) {
- LOGGER.error( siE.getMessage() );
+ try (ScanResult result = scanner.scan()){
+ ResourceList list = result.getResourcesWithExtension("piper");
+ for(Resource resource : list) {
+ piperAdder(resource);
+ }
+ } catch ( Exception ex ) {
+ LOGGER.error( ex.getMessage() );
}
LOGGER.info( "Scan Finished" );
_didScan = true;
}
- private class PiperAdder implements FileMatchProcessorWithContext {
- @Override
- public void processMatch( final File classpathPrefix, final String relativePath,
- final InputStream inputStream, final long lengthBytes ) throws IOException {
- final URL url = ClasspathUtils.getClasspathResourceURL( classpathPrefix, relativePath );
- final String fullPath = url.toExternalForm();
- final String simplePath = url.getPath();
- _piperFiles.add( new PiperInfo( fullPath, simplePath ) );
- }
+ synchronized private void piperAdder(Resource resource) {
+ String fullPath = resource.getURI().toASCIIString();
+ String simplePath = resource.getPath();
+ _piperFiles.add( new PiperInfo( fullPath, simplePath ) );
}
+
+ /**
+ * unit test
+ * @param argv
+ */
+
+ public static void main(String[] argv) {
+ PiperFinder pf = new PiperFinder();
+ Collection<PiperInfo> pi = pf.getPiperInfos();
+ pi.forEach(new Consumer<PiperInfo>() {
+ @Override
+ public void accept(PiperInfo t) {
+ String urlPath = t.getUrlPath();
+ if(urlPath.startsWith("jar:")) {
+ int endpoint = urlPath.indexOf(".jar!");
+ int startpoint = urlPath.lastIndexOf("/", endpoint);
+ String jar = urlPath.substring(startpoint, endpoint + 4);
+ System.out.println("In jar: " + jar + " " + t.getFilePath());
+ } else {
+ System.out.println("\n\nFull path: " +t.getUrlPath());
+ }
+ }
+ });
+ }
+
+//private class PiperAdder implements FileMatchProcessorWithContext {
+// @Override
+// public void processMatch( final File classpathPrefix, final String relativePath,
+// final InputStream inputStream, final long lengthBytes ) throws IOException {
+// final URL url = ClasspathUtils.getClasspathResourceURL( classpathPrefix, relativePath );
+// final String fullPath = url.toExternalForm();
+// final String simplePath = url.getPath();
+// _piperFiles.add( new PiperInfo( fullPath, simplePath ) );
+// }
+// }
}
diff --git a/pom.xml b/pom.xml
index 22531f3..ba93f01 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,7 +104,7 @@
<dom4j.version>1.6.1</dom4j.version>
<ehcache.version>2.4.6</ehcache.version>
<exec-maven-plugin.version>1.2.1</exec-maven-plugin.version>
- <fast-classpath-scanner.version>2.0.18</fast-classpath-scanner.version>
+ <classgraph.version>4.8.90</classgraph.version>
<glassfish-web.version>2.2</glassfish-web.version>
<hibernate.version>4.2.6.Final</hibernate.version>
<hsqldb.version>2.3.4</hsqldb.version>
@@ -201,7 +201,7 @@
<module>ctakes-ytex</module>
<module>ctakes-ytex-uima</module>
<module>ctakes-dictionary-lookup-fast</module>
- <module>ctakes-dockhand</module>
+ <module>ctakes-dockhand</module>
<module>ctakes-tiny-rest</module>
<module>ctakes-pbj</module>
<module>ctakes-user-resources</module>
(ctakes) 01/02: change context tokenizer package naming to match folder structure
Posted by pa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
pabramowitsch pushed a commit to branch petera
in repository https://gitbox.apache.org/repos/asf/ctakes.git
commit 16c3a4f457ce88980cc6178f94bf3c2777fc5f94
Author: Peter Abramowitsch <pa...@hearst.com>
AuthorDate: Sun Nov 26 17:13:35 2023 +0100
change context tokenizer package naming to match folder
structure
---
.../ctakes/assertion/pipelines/PreprocessingPipeline.java | 2 +-
.../desc/analysis_engine/auto/defaultPipeline.xml | 10 +++++-----
.../ctakes/clinicalpipeline/ClinicalPipelineFactory.java | 2 +-
.../analysis_engine/ContextDependentTokenizerAnnotator.xml | 2 +-
.../tokenizer/ae/ContextDependentTokenizerAnnotator.java | 2 +-
.../tokenizer}/ae/TestContextDependentTokenizerAnnotator.java | 2 +-
.../java/org/apache/ctakes/core/pipeline/PipeBitLocator.java | 2 +-
.../ctakes/core/scripts/groovy/cTAKES_clinical_pipeline.groovy | 2 +-
.../apache/ctakes/coreference/data/PrintMimicMarkables.java | 2 +-
.../ctakes/examples/pipeline/HelloWorldBuilderRunner.java | 2 +-
.../apache/ctakes/examples/pipeline/MultiThreadedPipeline.java | 2 +-
.../ctakes/examples/pipeline/ProcessDirBuilderRunner.java | 2 +-
.../java/org/apache/ctakes/core/ae/LabValueFinderTester.java | 2 +-
.../org/apache/ctakes/relationextractor/eval/DeepPheXMI.java | 2 +-
.../desc/analysis_engine/TemporalAggregatePipeline.xml | 10 +++++-----
.../org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java | 2 +-
.../pipelines/TemporalExtractionPipeline_ImplBase.java | 2 +-
.../org/apache/ctakes/temporal/ae/TemporalTest_ImplBase.java | 2 +-
18 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/pipelines/PreprocessingPipeline.java b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/pipelines/PreprocessingPipeline.java
index fed5838..ebc60ad 100644
--- a/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/pipelines/PreprocessingPipeline.java
+++ b/ctakes-assertion/src/main/java/org/apache/ctakes/assertion/pipelines/PreprocessingPipeline.java
@@ -19,7 +19,7 @@
package org.apache.ctakes.assertion.pipelines;
import org.apache.ctakes.constituency.parser.ae.ConstituencyParser;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-clinical-pipeline/desc/analysis_engine/auto/defaultPipeline.xml b/ctakes-clinical-pipeline/desc/analysis_engine/auto/defaultPipeline.xml
index cef75b9..2905cfb 100644
--- a/ctakes-clinical-pipeline/desc/analysis_engine/auto/defaultPipeline.xml
+++ b/ctakes-clinical-pipeline/desc/analysis_engine/auto/defaultPipeline.xml
@@ -10166,16 +10166,16 @@ Equivalent to cTAKES: edu.mayo.bmi.uima.core.type.Properties</description>
</analysisEngineMetaData>
</analysisEngineDescription>
</delegateAnalysisEngine>
- <delegateAnalysisEngine key="org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator">
+ <delegateAnalysisEngine key="org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator">
<analysisEngineDescription>
<frameworkImplementation>org.apache.uima.java</frameworkImplementation>
<primitive>true</primitive>
- <annotatorImplementationName>org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator</annotatorImplementationName>
+ <annotatorImplementationName>org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator</annotatorImplementationName>
<analysisEngineMetaData>
- <name>org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator</name>
+ <name>org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator</name>
<description>Descriptor automatically generated by uimaFIT</description>
<version>unknown</version>
- <vendor>org.apache.ctakes.contexttokenizer.ae</vendor>
+ <vendor>org.apache.ctakes.context.tokenizer.ae</vendor>
<configurationParameters/>
<configurationParameterSettings/>
<typeSystemDescription>
@@ -22941,7 +22941,7 @@ Equivalent to cTAKES: edu.mayo.bmi.uima.core.type.Properties</description>
<node>org.apache.ctakes.core.ae.SentenceDetector</node>
<node>org.apache.ctakes.core.ae.TokenizerAnnotatorPTB</node>
<node>org.apache.ctakes.lvg.ae.LvgAnnotator</node>
- <node>org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator</node>
+ <node>org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator</node>
<node>org.apache.ctakes.postagger.POSTagger</node>
<node>org.apache.ctakes.chunker.ae.Chunker</node>
<node>aggregate</node>
diff --git a/ctakes-clinical-pipeline/src/main/java/org/apache/ctakes/clinicalpipeline/ClinicalPipelineFactory.java b/ctakes-clinical-pipeline/src/main/java/org/apache/ctakes/clinicalpipeline/ClinicalPipelineFactory.java
index 82e6385..3302f60 100644
--- a/ctakes-clinical-pipeline/src/main/java/org/apache/ctakes/clinicalpipeline/ClinicalPipelineFactory.java
+++ b/ctakes-clinical-pipeline/src/main/java/org/apache/ctakes/clinicalpipeline/ClinicalPipelineFactory.java
@@ -22,7 +22,7 @@ import org.apache.ctakes.assertion.medfacts.cleartk.*;
import org.apache.ctakes.chunker.ae.Chunker;
import org.apache.ctakes.chunker.ae.adjuster.ChunkAdjuster;
import org.apache.ctakes.constituency.parser.ae.ConstituencyParser;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-context-tokenizer/desc/analysis_engine/ContextDependentTokenizerAnnotator.xml b/ctakes-context-tokenizer/desc/analysis_engine/ContextDependentTokenizerAnnotator.xml
index 2fa8ad8..d4ea0fe 100644
--- a/ctakes-context-tokenizer/desc/analysis_engine/ContextDependentTokenizerAnnotator.xml
+++ b/ctakes-context-tokenizer/desc/analysis_engine/ContextDependentTokenizerAnnotator.xml
@@ -22,7 +22,7 @@
<taeDescription xmlns="http://uima.apache.org/resourceSpecifier">
<frameworkImplementation>org.apache.uima.java</frameworkImplementation>
<primitive>true</primitive>
-<annotatorImplementationName>org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator</annotatorImplementationName>
+<annotatorImplementationName>org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator</annotatorImplementationName>
<analysisEngineMetaData>
<name>ContextDependentTokenizerAnnotator</name>
<description>Discovers tokens based on context.</description>
diff --git a/ctakes-context-tokenizer/src/main/java/org/apache/ctakes/context/tokenizer/ae/ContextDependentTokenizerAnnotator.java b/ctakes-context-tokenizer/src/main/java/org/apache/ctakes/context/tokenizer/ae/ContextDependentTokenizerAnnotator.java
index dd90cf4..1695f59 100644
--- a/ctakes-context-tokenizer/src/main/java/org/apache/ctakes/context/tokenizer/ae/ContextDependentTokenizerAnnotator.java
+++ b/ctakes-context-tokenizer/src/main/java/org/apache/ctakes/context/tokenizer/ae/ContextDependentTokenizerAnnotator.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.ctakes.contexttokenizer.ae;
+package org.apache.ctakes.context.tokenizer.ae;
import org.apache.ctakes.core.ae.TokenizerAnnotator;
import org.apache.ctakes.core.fsm.adapters.*;
diff --git a/ctakes-context-tokenizer/src/test/java/org/apache/ctakes/contexttokenizer/ae/TestContextDependentTokenizerAnnotator.java b/ctakes-context-tokenizer/src/test/java/org/apache/ctakes/context/tokenizer/ae/TestContextDependentTokenizerAnnotator.java
similarity index 97%
rename from ctakes-context-tokenizer/src/test/java/org/apache/ctakes/contexttokenizer/ae/TestContextDependentTokenizerAnnotator.java
rename to ctakes-context-tokenizer/src/test/java/org/apache/ctakes/context/tokenizer/ae/TestContextDependentTokenizerAnnotator.java
index b7d9a4e..24e24f1 100644
--- a/ctakes-context-tokenizer/src/test/java/org/apache/ctakes/contexttokenizer/ae/TestContextDependentTokenizerAnnotator.java
+++ b/ctakes-context-tokenizer/src/test/java/org/apache/ctakes/context/tokenizer/ae/TestContextDependentTokenizerAnnotator.java
@@ -1,4 +1,4 @@
-package org.apache.ctakes.contexttokenizer.ae;
+package org.apache.ctakes.context.tokenizer.ae;
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
diff --git a/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/PipeBitLocator.java b/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/PipeBitLocator.java
index 817b23b..2f70e76 100644
--- a/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/PipeBitLocator.java
+++ b/ctakes-core/src/main/java/org/apache/ctakes/core/pipeline/PipeBitLocator.java
@@ -34,7 +34,7 @@ public enum PipeBitLocator {
static private final Object[] EMPTY_OBJECT_ARRAY = new Object[ 0 ];
static private final String[] CTAKES_PACKAGES
= { "core",
- "contexttokenizer",
+ "context.tokenizer",
"postagger",
"chunker",
"dictionary.lookup2",
diff --git a/ctakes-core/src/user/resources/org/apache/ctakes/core/scripts/groovy/cTAKES_clinical_pipeline.groovy b/ctakes-core/src/user/resources/org/apache/ctakes/core/scripts/groovy/cTAKES_clinical_pipeline.groovy
index 51f494d..c08412e 100644
--- a/ctakes-core/src/user/resources/org/apache/ctakes/core/scripts/groovy/cTAKES_clinical_pipeline.groovy
+++ b/ctakes-core/src/user/resources/org/apache/ctakes/core/scripts/groovy/cTAKES_clinical_pipeline.groovy
@@ -146,7 +146,7 @@ AnalysisEngineDescription lvgDescriptor = AnalysisEngineFactory.createAnalysisEn
aggregateBuilder.add(lvgDescriptor);
println(" Adding context dependent tokenizer annotator");
-def cdtAnnotator = AnalysisEngineFactory.createPrimitiveDescription(org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator.class);
+def cdtAnnotator = AnalysisEngineFactory.createPrimitiveDescription(org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator.class);
aggregateBuilder.add(cdtAnnotator);
println(" Adding part of speech (POS) annotator");
diff --git a/ctakes-coreference/src/main/java/org/apache/ctakes/coreference/data/PrintMimicMarkables.java b/ctakes-coreference/src/main/java/org/apache/ctakes/coreference/data/PrintMimicMarkables.java
index e10425c..a0fdfe9 100644
--- a/ctakes-coreference/src/main/java/org/apache/ctakes/coreference/data/PrintMimicMarkables.java
+++ b/ctakes-coreference/src/main/java/org/apache/ctakes/coreference/data/PrintMimicMarkables.java
@@ -19,7 +19,7 @@
package org.apache.ctakes.coreference.data;
import org.apache.ctakes.constituency.parser.ae.ConstituencyParser;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetectorAnnotatorBIO;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/HelloWorldBuilderRunner.java b/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/HelloWorldBuilderRunner.java
index 8de23e8..9de7347 100644
--- a/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/HelloWorldBuilderRunner.java
+++ b/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/HelloWorldBuilderRunner.java
@@ -1,7 +1,7 @@
package org.apache.ctakes.examples.pipeline;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/MultiThreadedPipeline.java b/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/MultiThreadedPipeline.java
index 43c8a60..903aa11 100644
--- a/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/MultiThreadedPipeline.java
+++ b/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/MultiThreadedPipeline.java
@@ -19,7 +19,7 @@
package org.apache.ctakes.examples.pipeline;
import org.apache.ctakes.assertion.medfacts.cleartk.*;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessDirBuilderRunner.java b/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessDirBuilderRunner.java
index eef1b44..7118fae 100644
--- a/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessDirBuilderRunner.java
+++ b/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessDirBuilderRunner.java
@@ -1,7 +1,7 @@
package org.apache.ctakes.examples.pipeline;
import org.apache.ctakes.assertion.medfacts.cleartk.*;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-regression-test/src/test/java/org/apache/ctakes/core/ae/LabValueFinderTester.java b/ctakes-regression-test/src/test/java/org/apache/ctakes/core/ae/LabValueFinderTester.java
index 54febc0..f71726d 100644
--- a/ctakes-regression-test/src/test/java/org/apache/ctakes/core/ae/LabValueFinderTester.java
+++ b/ctakes-regression-test/src/test/java/org/apache/ctakes/core/ae/LabValueFinderTester.java
@@ -1,6 +1,6 @@
package org.apache.ctakes.core.ae;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.dictionary.lookup2.ae.DefaultJCasTermAnnotator;
import org.apache.ctakes.postagger.POSTagger;
import org.apache.ctakes.typesystem.type.textsem.LabMention;
diff --git a/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/DeepPheXMI.java b/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/DeepPheXMI.java
index 51003dc..31161b2 100644
--- a/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/DeepPheXMI.java
+++ b/ctakes-relation-extractor/src/main/java/org/apache/ctakes/relationextractor/eval/DeepPheXMI.java
@@ -22,7 +22,7 @@ import com.google.common.collect.Sets;
import org.apache.ctakes.chunker.ae.Chunker;
import org.apache.ctakes.chunker.ae.adjuster.ChunkAdjuster;
import org.apache.ctakes.constituency.parser.ae.ConstituencyParser;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetectorAnnotatorBIO;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-temporal/desc/analysis_engine/TemporalAggregatePipeline.xml b/ctakes-temporal/desc/analysis_engine/TemporalAggregatePipeline.xml
index 46f69b1..ca0d3fb 100644
--- a/ctakes-temporal/desc/analysis_engine/TemporalAggregatePipeline.xml
+++ b/ctakes-temporal/desc/analysis_engine/TemporalAggregatePipeline.xml
@@ -18974,16 +18974,16 @@ Equivalent to cTAKES: edu.mayo.bmi.uima.core.type.Properties</description>
</analysisEngineMetaData>
</analysisEngineDescription>
</delegateAnalysisEngine>
- <delegateAnalysisEngine key="org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator">
+ <delegateAnalysisEngine key="org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator">
<analysisEngineDescription>
<frameworkImplementation>org.apache.uima.java</frameworkImplementation>
<primitive>true</primitive>
- <annotatorImplementationName>org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator</annotatorImplementationName>
+ <annotatorImplementationName>org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator</annotatorImplementationName>
<analysisEngineMetaData>
- <name>org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator</name>
+ <name>org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator</name>
<description>Descriptor automatically generated by uimaFIT</description>
<version>unknown</version>
- <vendor>org.apache.ctakes.contexttokenizer.ae</vendor>
+ <vendor>org.apache.ctakes.context.tokenizer.ae</vendor>
<configurationParameters/>
<configurationParameterSettings/>
<typeSystemDescription>
@@ -34839,7 +34839,7 @@ Equivalent to cTAKES: edu.mayo.bmi.uima.core.type.Properties</description>
<node>org.apache.ctakes.core.ae.SentenceDetector</node>
<node>org.apache.ctakes.core.ae.TokenizerAnnotatorPTB</node>
<node>org.apache.ctakes.lvg.ae.LvgAnnotator</node>
- <node>org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator</node>
+ <node>org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator</node>
<node>org.apache.ctakes.postagger.POSTagger</node>
<node>org.apache.ctakes.chunker.ae.Chunker</node>
<node>aggregate</node>
diff --git a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java
index 9bfe683..a1ebeb2 100644
--- a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java
+++ b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java
@@ -25,7 +25,7 @@ import org.apache.ctakes.chunker.ae.Chunker;
import org.apache.ctakes.chunker.ae.DefaultChunkCreator;
import org.apache.ctakes.chunker.ae.adjuster.ChunkAdjuster;
import org.apache.ctakes.constituency.parser.ae.ConstituencyParser;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.OverlapAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java
index 9013ad8..e8968a1 100644
--- a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java
+++ b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java
@@ -21,7 +21,7 @@ package org.apache.ctakes.temporal.pipelines;
import com.lexicalscope.jewel.cli.Option;
import org.apache.ctakes.chunker.ae.Chunker;
import org.apache.ctakes.constituency.parser.ae.ConstituencyParser;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
diff --git a/ctakes-temporal/src/test/java/org/apache/ctakes/temporal/ae/TemporalTest_ImplBase.java b/ctakes-temporal/src/test/java/org/apache/ctakes/temporal/ae/TemporalTest_ImplBase.java
index 1f50a9d..a2ad7be 100644
--- a/ctakes-temporal/src/test/java/org/apache/ctakes/temporal/ae/TemporalTest_ImplBase.java
+++ b/ctakes-temporal/src/test/java/org/apache/ctakes/temporal/ae/TemporalTest_ImplBase.java
@@ -1,6 +1,6 @@
package org.apache.ctakes.temporal.ae;
-import org.apache.ctakes.contexttokenizer.ae.ContextDependentTokenizerAnnotator;
+import org.apache.ctakes.context.tokenizer.ae.ContextDependentTokenizerAnnotator;
import org.apache.ctakes.core.ae.SentenceDetector;
import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;