You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by ma...@apache.org on 2025/06/01 19:12:10 UTC
(opennlp) 01/01: OPENNLP-1708: Introduce new OpenNLP module structure - defines new Maven module hierarchy - resolves OPENNLP-1709 (API) - resolves OPENNLP-1710 (Core) - resolves OPENNLP-1711 (CLI) - resolves OPENNLP-1712 (Tools) - resolves OPENNLP-1713 (Extensions) - resolves OPENNLP-1717 (API in core/dl) - resolves OPENNLP-1718 (API, RT, etc. in uima & morfologik)
This is an automated email from the ASF dual-hosted git repository.
mawiesne pushed a commit to branch OPENNLP-1708-Introduce-new-module-structure
in repository https://gitbox.apache.org/repos/asf/opennlp.git
commit 322f7bf26927c46ad7f136974ae944ce081f7462
Author: Martin Wiesner <ma...@hs-heilbronn.de>
AuthorDate: Mon May 26 19:14:55 2025 +0200
OPENNLP-1708: Introduce new OpenNLP module structure
- defines new Maven module hierarchy
- resolves OPENNLP-1709 (API)
- resolves OPENNLP-1710 (Core)
- resolves OPENNLP-1711 (CLI)
- resolves OPENNLP-1712 (Tools)
- resolves OPENNLP-1713 (Extensions)
- resolves OPENNLP-1717 (API in core/dl)
- resolves OPENNLP-1718 (API, RT, etc. in uima & morfologik)
Note: tests separated, all passing!
---
.../tools/lang/abb_PT.xml => opennlp-api/pom.xml | 35 +-
.../java/opennlp/tools/chunker/ChunkSample.java | 0
.../main/java/opennlp/tools/chunker/Chunker.java | 0
.../tools/chunker/ChunkerContextGenerator.java | 0
.../tools/chunker/ChunkerEvaluationMonitor.java | 0
.../java/opennlp/tools/cmdline/ArgumentParser.java | 73 ++-
.../opennlp/tools/cmdline/ObjectStreamFactory.java | 0
.../tools/cmdline/TerminateToolException.java | 0
.../tools/cmdline/params/BasicFormatParams.java | 0
.../tools/cmdline/params/BasicTrainingParams.java | 0
.../opennlp/tools/cmdline/params/CVParams.java | 0
.../tools/cmdline/params/DetokenizerParameter.java | 0
.../tools/cmdline/params/EncodingParameter.java | 0
.../tools/cmdline/params/EvaluatorParams.java | 0
.../cmdline/params/FineGrainedEvaluatorParams.java | 0
.../tools/cmdline/params/LanguageParams.java | 0
.../tools/cmdline/params/TrainingToolParams.java | 0
.../main/java/opennlp/tools/commons/Internal.java | 0
.../main/java/opennlp/tools/commons/Sample.java | 0
.../java/opennlp/tools/commons/ThreadSafe.java | 0
.../main/java/opennlp/tools/commons/Trainer.java | 19 +-
.../java/opennlp/tools/commons/package-info.java | 0
.../tools/doccat/DoccatEvaluationMonitor.java | 0
.../opennlp/tools/doccat/DocumentCategorizer.java | 0
.../java/opennlp/tools/doccat/DocumentSample.java | 0
.../opennlp/tools/doccat/FeatureGenerator.java | 0
.../java/opennlp/tools/entitylinker/BaseLink.java | 0
.../opennlp/tools/entitylinker/EntityLinker.java | 4 +-
.../tools/entitylinker/EntityLinkerProperties.java | 2 -
.../opennlp/tools/entitylinker/LinkedSpan.java | 0
.../java/opennlp/tools/langdetect/Language.java | 0
.../opennlp/tools/langdetect/LanguageDetector.java | 0
.../LanguageDetectorContextGenerator.java | 0
.../LanguageDetectorEvaluationMonitor.java | 0
.../opennlp/tools/langdetect/LanguageSample.java | 0
.../opennlp/tools/languagemodel/LanguageModel.java | 2 +-
.../java/opennlp/tools/lemmatizer/LemmaSample.java | 0
.../java/opennlp/tools/lemmatizer/Lemmatizer.java | 0
.../lemmatizer/LemmatizerContextGenerator.java | 0
.../lemmatizer/LemmatizerEvaluationMonitor.java | 0
.../src/main/java/opennlp/tools/ml/ArrayMath.java | 0
.../tools/ml/EventModelSequenceTrainer.java | 3 +-
.../main/java/opennlp/tools/ml/EventTrainer.java | 5 +-
.../java/opennlp/tools/ml/SequenceTrainer.java | 5 +-
.../main/java/opennlp/tools/ml/model/Context.java | 0
.../java/opennlp/tools/ml/model/DataIndexer.java | 12 +-
.../java/opennlp/tools/ml/model/DataReader.java | 0
.../main/java/opennlp/tools/ml/model/Event.java | 0
.../java/opennlp/tools/ml/model/MaxentModel.java | 0
.../main/java/opennlp/tools/ml/model/Prior.java | 0
.../main/java/opennlp/tools/ml/model/Sequence.java | 0
.../ml/model/SequenceClassificationModel.java | 0
.../opennlp/tools/ml/model/SequenceStream.java | 4 +-
.../tools/models/ClassPathLoaderException.java | 0
.../opennlp/tools/models/ClassPathModelEntry.java | 0
.../opennlp/tools/models/ClassPathModelFinder.java | 0
.../main/java/opennlp/tools/models/ModelType.java | 0
.../opennlp/tools/monitoring/StopCriteria.java | 4 -
.../opennlp/tools/monitoring/TrainingMeasure.java | 0
.../tools/monitoring/TrainingProgressMonitor.java | 4 +-
.../opennlp/tools/namefind/DocumentNameFinder.java | 0
.../tools/namefind/NameContextGenerator.java | 0
.../java/opennlp/tools/namefind/NameSample.java | 20 +-
.../opennlp/tools/namefind/TokenNameFinder.java | 0
.../namefind/TokenNameFinderEvaluationMonitor.java | 0
.../java/opennlp/tools/parser/Constituent.java | 0
.../main/java/opennlp/tools/parser/GapLabeler.java | 0
.../main/java/opennlp/tools/parser/HeadRules.java | 0
.../src/main/java/opennlp/tools/parser/Parse.java | 18 +-
.../src/main/java/opennlp/tools/parser/Parser.java | 16 +
.../tools/parser/ParserEvaluationMonitor.java | 0
.../opennlp/tools/parser/ParserEventTypeEnum.java | 0
.../main/java/opennlp/tools/parser/ParserType.java | 0
.../opennlp/tools/postag/MutableTagDictionary.java | 0
.../opennlp/tools/postag/POSContextGenerator.java | 0
.../main/java/opennlp/tools/postag/POSSample.java | 0
.../main/java/opennlp/tools/postag/POSTagger.java | 0
.../tools/postag/POSTaggerEvaluationMonitor.java | 0
.../java/opennlp/tools/postag/TagDictionary.java | 0
.../tools/sentdetect/EndOfSentenceScanner.java | 0
.../tools/sentdetect/SDContextGenerator.java | 3 +-
.../opennlp/tools/sentdetect/SentenceDetector.java | 0
.../SentenceDetectorEvaluationMonitor.java | 0
.../opennlp/tools/sentdetect/SentenceSample.java | 0
.../main/java/opennlp/tools/stemmer/Stemmer.java | 0
.../opennlp/tools/tokenize/AbstractTokenizer.java | 0
.../java/opennlp/tools/tokenize/Detokenizer.java | 0
.../tools/tokenize/TokenContextGenerator.java | 3 +-
.../java/opennlp/tools/tokenize/TokenSample.java | 0
.../java/opennlp/tools/tokenize/Tokenizer.java | 1 -
.../tools/tokenize/TokenizerEvaluationMonitor.java | 0
.../tools/tokenize/WhitespaceTokenizer.java | 0
.../opennlp/tools/tokenize/WordpieceTokenizer.java | 0
.../tools/util/BeamSearchContextGenerator.java | 0
.../opennlp/tools/util/InputStreamFactory.java | 0
.../util/InsufficientTrainingDataException.java | 0
.../opennlp/tools/util/InvalidFormatException.java | 0
.../main/java/opennlp/tools/util/ObjectStream.java | 0
.../main/java/opennlp/tools/util/Parameters.java | 354 ++++++++++++
.../java/opennlp/tools/util/ResetableIterator.java | 0
.../src/main/java/opennlp/tools/util/Sequence.java | 0
.../java/opennlp/tools/util/SequenceCodec.java | 0
.../java/opennlp/tools/util/SequenceValidator.java | 0
.../src/main/java/opennlp/tools/util/Span.java | 0
.../main/java/opennlp/tools/util/StringUtil.java | 0
.../src/main/java/opennlp/tools/util/TokenTag.java | 0
.../opennlp/tools/util/TrainingConfiguration.java | 3 +-
.../opennlp/tools/util/eval/EvaluationMonitor.java | 0
.../java/opennlp/tools/util/eval/FMeasure.java | 2 +-
.../main/java/opennlp/tools/util/eval/Mean.java | 0
.../util/featuregen/AdaptiveFeatureGenerator.java | 0
.../FeatureGeneratorResourceProvider.java | 0
.../java/opennlp/tools/util/java/Experimental.java | 0
.../opennlp/tools/util/jvm/StringInterner.java | 0
.../opennlp/tools/util/model/ArtifactProvider.java | 0
.../tools/util/model/ArtifactSerializer.java | 0
.../java/opennlp/tools/util/model/ModelType.java | 0
.../tools/util/model/SerializableArtifact.java | 0
.../util/normalizer/CharSequenceNormalizer.java | 0
.../opennlp/tools/util/wordvector/WordVector.java | 0
.../tools/util/wordvector/WordVectorTable.java | 0
.../tools/util/wordvector/WordVectorType.java | 0
opennlp-core/opennlp-cli/lang/ga/abb_GA.xml | 164 ++++++
opennlp-core/opennlp-cli/pom.xml | 113 ++++
.../tools/cmdline/AbstractConverterTool.java | 0
.../tools/cmdline/AbstractCrossValidatorTool.java | 0
.../tools/cmdline/AbstractEvaluatorTool.java | 0
.../opennlp/tools/cmdline/AbstractTrainerTool.java | 0
.../tools/cmdline/AbstractTypedParamTool.java | 0
.../opennlp/tools/cmdline/BasicCmdLineTool.java | 0
.../src/main/java/opennlp/tools/cmdline/CLI.java | 0
.../java/opennlp/tools/cmdline/CmdLineTool.java | 0
.../java/opennlp/tools/cmdline/CmdLineUtil.java | 0
.../tools/cmdline/DetailedFMeasureListener.java | 0
.../tools/cmdline/EvaluationErrorPrinter.java | 0
.../tools/cmdline/FineGrainedReportListener.java | 0
.../opennlp/tools/cmdline/GenerateManualTool.java | 0
.../java/opennlp/tools/cmdline/ModelLoader.java | 0
.../opennlp/tools/cmdline/PerformanceMonitor.java | 0
.../tools/cmdline/SystemInputStreamFactory.java | 0
.../opennlp/tools/cmdline/TypedCmdLineTool.java | 0
.../chunker/ChunkEvaluationErrorListener.java | 0
.../cmdline/chunker/ChunkerConverterTool.java | 0
.../cmdline/chunker/ChunkerCrossValidatorTool.java | 0
.../chunker/ChunkerDetailedFMeasureListener.java | 0
.../cmdline/chunker/ChunkerEvaluatorTool.java | 0
.../tools/cmdline/chunker/ChunkerMETool.java | 0
.../tools/cmdline/chunker/ChunkerModelLoader.java | 0
.../tools/cmdline/chunker/ChunkerTrainerTool.java | 0
.../tools/cmdline/chunker/TrainingParams.java | 0
.../dictionary/DictionaryBuilderParams.java | 0
.../cmdline/dictionary/DictionaryBuilderTool.java | 0
.../tools/cmdline/doccat/DoccatConverterTool.java | 0
.../cmdline/doccat/DoccatCrossValidatorTool.java | 0
.../doccat/DoccatEvaluationErrorListener.java | 0
.../tools/cmdline/doccat/DoccatEvaluatorTool.java | 0
.../doccat/DoccatFineGrainedReportListener.java | 0
.../tools/cmdline/doccat/DoccatModelLoader.java | 0
.../opennlp/tools/cmdline/doccat/DoccatTool.java | 0
.../tools/cmdline/doccat/DoccatTrainerTool.java | 0
.../tools/cmdline/doccat/TrainingParams.java | 0
.../cmdline/entitylinker/EntityLinkerTool.java | 0
.../langdetect/LanguageDetectorConverterTool.java | 0
.../LanguageDetectorCrossValidatorTool.java | 0
.../LanguageDetectorEvaluationErrorListener.java | 0
.../langdetect/LanguageDetectorEvaluatorTool.java | 0
.../LanguageDetectorFineGrainedReportListener.java | 0
.../langdetect/LanguageDetectorModelLoader.java | 0
.../cmdline/langdetect/LanguageDetectorTool.java | 0
.../langdetect/LanguageDetectorTrainerTool.java | 0
.../tools/cmdline/langdetect/TrainingParams.java | 0
.../languagemodel/NGramLanguageModelTool.java | 0
.../lemmatizer/LemmaEvaluationErrorListener.java | 0
.../lemmatizer/LemmatizerEvaluatorTool.java | 0
.../LemmatizerFineGrainedReportListener.java | 0
.../tools/cmdline/lemmatizer/LemmatizerMETool.java | 0
.../cmdline/lemmatizer/LemmatizerModelLoader.java | 0
.../cmdline/lemmatizer/LemmatizerTrainerTool.java | 0
.../tools/cmdline/lemmatizer/TrainingParams.java | 0
.../tools/cmdline/lemmatizer/package-info.java | 0
.../namefind/CensusDictionaryCreatorTool.java | 0
.../namefind/NameEvaluationErrorListener.java | 0
.../cmdline/namefind/NameSampleCountersStream.java | 0
.../namefind/TokenNameFinderConverterTool.java | 0
.../TokenNameFinderCrossValidatorTool.java | 0
.../TokenNameFinderDetailedFMeasureListener.java | 0
.../namefind/TokenNameFinderEvaluatorTool.java | 0
.../TokenNameFinderFineGrainedReportListener.java | 0
.../namefind/TokenNameFinderModelLoader.java | 0
.../cmdline/namefind/TokenNameFinderTool.java | 0
.../namefind/TokenNameFinderTrainerTool.java | 0
.../tools/cmdline/namefind/TrainingParams.java | 0
.../cmdline/parser/BuildModelUpdaterTool.java | 3 +-
.../cmdline/parser/CheckModelUpdaterTool.java | 3 +-
.../tools/cmdline/parser/ModelUpdaterTool.java | 0
.../tools/cmdline/parser/ParserConverterTool.java | 0
.../tools/cmdline/parser/ParserEvaluatorTool.java | 0
.../tools/cmdline/parser/ParserModelLoader.java | 0
.../opennlp/tools/cmdline/parser/ParserTool.java | 0
.../tools/cmdline/parser/ParserTrainerTool.java | 0
.../cmdline/parser/TaggerModelReplacerTool.java | 0
.../tools/cmdline/parser/TrainingParams.java | 0
.../cmdline/postag/POSEvaluationErrorListener.java | 0
.../tools/cmdline/postag/POSModelLoader.java | 0
.../cmdline/postag/POSTaggerConverterTool.java | 0
.../postag/POSTaggerCrossValidatorTool.java | 0
.../cmdline/postag/POSTaggerEvaluatorTool.java | 0
.../postag/POSTaggerFineGrainedReportListener.java | 0
.../tools/cmdline/postag/POSTaggerTool.java | 0
.../tools/cmdline/postag/POSTaggerTrainerTool.java | 0
.../tools/cmdline/postag/TrainingParams.java | 0
.../sentdetect/SentenceDetectorConverterTool.java | 0
.../SentenceDetectorCrossValidatorTool.java | 0
.../sentdetect/SentenceDetectorEvaluatorTool.java | 0
.../cmdline/sentdetect/SentenceDetectorTool.java | 0
.../sentdetect/SentenceDetectorTrainerTool.java | 0
.../SentenceEvaluationErrorListener.java | 0
.../cmdline/sentdetect/SentenceModelLoader.java | 0
.../tools/cmdline/sentdetect/TrainingParams.java | 0
.../cmdline/tokenizer/CommandLineTokenizer.java | 0
.../tokenizer/DetokenEvaluationErrorListener.java | 0
.../tokenizer/DetokenizationDictionaryLoader.java | 0
.../tokenizer/DictionaryDetokenizerTool.java | 0
.../cmdline/tokenizer/SimpleTokenizerTool.java | 0
.../tokenizer/TokenEvaluationErrorListener.java | 0
.../cmdline/tokenizer/TokenizerConverterTool.java | 0
.../tokenizer/TokenizerCrossValidatorTool.java | 0
.../tokenizer/TokenizerMEEvaluatorTool.java | 0
.../tools/cmdline/tokenizer/TokenizerMETool.java | 0
.../cmdline/tokenizer/TokenizerModelLoader.java | 0
.../cmdline/tokenizer/TokenizerTrainerTool.java | 0
.../tools/cmdline/tokenizer/TrainingParams.java | 0
.../src/main/java/opennlp/tools}/package-info.java | 4 +-
.../java/opennlp/tools/parser/ParserEvaluator.java | 0
.../resources/opennlp/tools/util/opennlp.version | 19 +-
.../java/opennlp/tools/AbstractLoggerTest.java | 57 ++
.../opennlp/tools/AbstractModelLoaderTest.java | 0
.../java/opennlp/tools/AbstractTempDirTest.java | 0
.../opennlp/tools/EnabledWhenCDNAvailable.java | 85 +++
.../opennlp/tools/cmdline/ArgumentParserTest.java | 0
.../test/java/opennlp/tools/cmdline/CLITest.java | 0
.../tools/cmdline/TerminateToolExceptionTest.java | 0
.../tools/cmdline/TokenNameFinderToolTest.java | 5 +-
.../cmdline/chunker/ChunkerModelLoaderTest.java | 0
.../LanguageDetectorModelLoaderTest.java | 0
.../languagemodel/NGramLanguageModelToolTest.java | 0
.../lemmatizer/LemmatizerModelLoaderIT.java | 0
.../namefind/TokenNameFinderModelLoaderTest.java | 0
.../namefind/generator/AbstractNewsGenerator.java | 0
.../generator/RandomEnglishNewsGenerator.java | 0
.../generator/RandomGermanNewsGenerator.java | 0
.../tools/cmdline/postag/POSModelLoaderIT.java | 0
.../cmdline/sentdetect/SentenceModelLoaderIT.java | 0
.../cmdline/tokenizer/TokenizerModelLoaderIT.java | 0
.../tokenizer/TokenizerTrainerToolTest.java | 0
.../opennlp/tools/util/MockInputStreamFactory.java | 36 +-
.../src/test/resources/logback-test.xml | 40 ++
.../languagemodel/origin_of_text_samples.txt | 0
.../cmdline/languagemodel/sentences_set_1.txt | 0
.../cmdline/languagemodel/sentences_set_2.txt | 0
.../tools/namefind/AnnotatedSentencesWithTypes.txt | 88 ++-
.../opennlp-dl-gpu}/README.md | 0
.../opennlp-dl-gpu}/pom.xml | 23 +-
{opennlp-dl => opennlp-core/opennlp-dl}/README.md | 0
{opennlp-dl => opennlp-core/opennlp-dl}/pom.xml | 29 +-
.../src/main/java/opennlp/dl/AbstractDL.java | 0
.../src/main/java/opennlp/dl/InferenceOptions.java | 0
.../src/main/java/opennlp/dl/SpanEnd.java | 0
.../src/main/java/opennlp/dl/Tokens.java | 0
.../dl/doccat/DocumentCategorizerConfig.java | 0
.../opennlp/dl/doccat/DocumentCategorizerDL.java | 0
.../AverageClassificationScoringStrategy.java | 0
.../scoring/ClassificationScoringStrategy.java | 0
.../java/opennlp/dl/namefinder/NameFinderDL.java | 0
.../java/opennlp/dl/vectors/SentenceVectorsDL.java | 0
.../src/test/java/opennlp/dl/AbstractDLTest.java | 0
.../dl/doccat/DocumentCategorizerConfigTest.java | 0
.../dl/doccat/DocumentCategorizerDLEval.java | 0
.../AverageClassificationScoringStrategyTest.java | 0
.../opennlp/dl/namefinder/NameFinderDLEval.java | 0
.../opennlp/dl/vectors/SentenceVectorsDLEval.java | 0
opennlp-core/opennlp-formats/pom.xml | 109 ++++
.../tools/cmdline/StreamFactoryRegistry.java | 0
.../tools/formats/AbstractSampleStreamFactory.java | 9 +-
.../tools/formats/BioNLP2004NameSampleStream.java | 0
.../formats/BioNLP2004NameSampleStreamFactory.java | 8 +-
.../tools/formats/ChunkerSampleStreamFactory.java | 0
.../tools/formats/Conll02NameSampleStream.java | 0
.../formats/Conll02NameSampleStreamFactory.java | 6 +-
.../tools/formats/Conll03NameSampleStream.java | 0
.../formats/Conll03NameSampleStreamFactory.java | 6 +-
.../tools/formats/ConllXPOSSampleStream.java | 0
.../formats/ConllXPOSSampleStreamFactory.java | 8 +-
.../formats/ConllXSentenceSampleStreamFactory.java | 0
.../formats/ConllXTokenSampleStreamFactory.java | 0
.../formats/DetokenizerSampleStreamFactory.java | 0
.../tools/formats/DirectorySampleStream.java | 0
.../tools/formats/DocumentSampleStreamFactory.java | 0
.../tools/formats/EvalitaNameSampleStream.java | 0
.../formats/EvalitaNameSampleStreamFactory.java | 6 +-
.../java/opennlp/tools/formats/FormatUtil.java | 78 +++
.../LanguageDetectorSampleStreamFactory.java | 0
.../tools/formats/LanguageSampleStreamFactory.java | 0
.../formats/LemmatizerSampleStreamFactory.java | 0
.../formats/NameFinderCensus90NameStream.java | 0
.../tools/formats/NameSampleDataStreamFactory.java | 0
.../tools/formats/ParseSampleStreamFactory.java | 0
.../tools/formats/ResourceAsStreamFactory.java | 0
.../tools/formats/SentenceSampleStreamFactory.java | 0
.../tools/formats/TokenSampleStreamFactory.java | 0
.../tools/formats/TwentyNewsgroupSampleStream.java | 0
.../TwentyNewsgroupSampleStreamFactory.java | 0
.../tools/formats/WordTagSampleStreamFactory.java | 0
.../tools/formats/ad/ADChunkSampleStream.java | 0
.../formats/ad/ADChunkSampleStreamFactory.java | 0
.../tools/formats/ad/ADNameSampleStream.java | 0
.../formats/ad/ADNameSampleStreamFactory.java | 0
.../tools/formats/ad/ADPOSSampleStream.java | 0
.../tools/formats/ad/ADPOSSampleStreamFactory.java | 0
.../tools/formats/ad/ADSentenceSampleStream.java | 0
.../formats/ad/ADSentenceSampleStreamFactory.java | 0
.../opennlp/tools/formats/ad/ADSentenceStream.java | 0
.../formats/ad/ADTokenSampleStreamFactory.java | 0
.../formats/ad/PortugueseContractionUtility.java | 0
.../opennlp/tools/formats/ad/package-info.java | 0
.../formats/brat/AnnotationConfiguration.java | 0
.../formats/brat/AnnotatorNoteAnnotation.java | 0
.../tools/formats/brat/AttributeAnnotation.java | 0
.../opennlp/tools/formats/brat/BratAnnotation.java | 0
.../tools/formats/brat/BratAnnotationStream.java | 0
.../opennlp/tools/formats/brat/BratDocument.java | 0
.../tools/formats/brat/BratDocumentParser.java | 0
.../tools/formats/brat/BratDocumentStream.java | 0
.../tools/formats/brat/BratNameSampleStream.java | 0
.../formats/brat/BratNameSampleStreamFactory.java | 0
.../tools/formats/brat/EventAnnotation.java | 0
.../tools/formats/brat/RelationAnnotation.java | 0
.../tools/formats/brat/SegmenterObjectStream.java | 0
.../opennlp/tools/formats/brat/SpanAnnotation.java | 0
.../opennlp/tools/formats/brat/package-info.java | 0
.../formats/conllu/ConlluLemmaSampleStream.java | 0
.../conllu/ConlluLemmaSampleStreamFactory.java | 13 +-
.../formats/conllu/ConlluPOSSampleStream.java | 0
.../conllu/ConlluPOSSampleStreamFactory.java | 13 +-
.../tools/formats/conllu/ConlluSentence.java | 0
.../formats/conllu/ConlluSentenceSampleStream.java | 0
.../conllu/ConlluSentenceSampleStreamFactory.java | 14 +-
.../opennlp/tools/formats/conllu/ConlluStream.java | 0
.../opennlp/tools/formats/conllu/ConlluTagset.java | 0
.../formats/conllu/ConlluTokenSampleStream.java | 0
.../conllu/ConlluTokenSampleStreamFactory.java | 14 +-
.../tools/formats/conllu/ConlluWordLine.java | 0
.../opennlp/tools/formats/conllu/package-info.java | 0
.../convert/AbstractToSentenceSampleStream.java | 0
.../convert/FileToByteArraySampleStream.java | 0
.../formats/convert/FileToStringSampleStream.java | 0
.../convert/NameToSentenceSampleStream.java | 0
.../convert/NameToSentenceSampleStreamFactory.java | 0
.../formats/convert/NameToTokenSampleStream.java | 0
.../convert/NameToTokenSampleStreamFactory.java | 0
.../formats/convert/POSToSentenceSampleStream.java | 0
.../convert/POSToSentenceSampleStreamFactory.java | 0
.../formats/convert/POSToTokenSampleStream.java | 0
.../convert/POSToTokenSampleStreamFactory.java | 0
.../formats/convert/ParseToPOSSampleStream.java | 0
.../convert/ParseToPOSSampleStreamFactory.java | 0
.../ParseToSentenceSampleStreamFactory.java | 0
.../convert/ParseToTokenSampleStreamFactory.java | 0
.../frenchtreebank/ConstitDocumentHandler.java | 0
.../frenchtreebank/ConstitParseSampleStream.java | 0
.../ConstitParseSampleStreamFactory.java | 0
.../tools/formats/frenchtreebank/package-info.java | 0
.../IrishSentenceBankDocument.java | 0
.../IrishSentenceBankSentenceStream.java | 0
.../IrishSentenceBankSentenceStreamFactory.java | 5 +-
.../IrishSentenceBankTokenSampleStream.java | 0
.../IrishSentenceBankTokenSampleStreamFactory.java | 5 +-
.../formats/irishsentencebank/package-info.java | 0
.../leipzig/LeipzigLanguageSampleStream.java | 0
.../LeipzigLanguageSampleStreamFactory.java | 0
.../tools/formats/leipzig/SampleShuffleStream.java | 0
.../tools/formats/leipzig/SampleSkipStream.java | 0
.../tools/formats/leipzig/package-info.java | 0
.../letsmt/DetokenizeSentenceSampleStream.java | 0
.../tools/formats/letsmt/LetsmtDocument.java | 0
.../tools/formats/letsmt/LetsmtSentenceStream.java | 0
.../letsmt/LetsmtSentenceStreamFactory.java | 4 +-
.../opennlp/tools/formats/letsmt/package-info.java | 0
.../main/java/opennlp/tools/formats/masc/Masc.java | 0
.../opennlp/tools/formats/masc/MascDocument.java | 0
.../tools/formats/masc/MascDocumentStream.java | 0
.../tools/formats/masc/MascNamedEntityParser.java | 0
.../formats/masc/MascNamedEntitySampleStream.java | 0
.../masc/MascNamedEntitySampleStreamFactory.java | 6 +-
.../tools/formats/masc/MascPOSSampleStream.java | 0
.../formats/masc/MascPOSSampleStreamFactory.java | 7 +-
.../tools/formats/masc/MascPennTagParser.java | 0
.../opennlp/tools/formats/masc/MascSentence.java | 0
.../tools/formats/masc/MascSentenceParser.java | 0
.../formats/masc/MascSentenceSampleStream.java | 0
.../masc/MascSentenceSampleStreamFactory.java | 7 +-
.../java/opennlp/tools/formats/masc/MascToken.java | 0
.../tools/formats/masc/MascTokenSampleStream.java | 0
.../formats/masc/MascTokenSampleStreamFactory.java | 7 +-
.../java/opennlp/tools/formats/masc/MascWord.java | 0
.../opennlp/tools/formats/masc/MascWordParser.java | 0
.../opennlp/tools/formats/masc/package-info.java | 0
.../formats/moses/MosesSentenceSampleStream.java | 0
.../moses/MosesSentenceSampleStreamFactory.java | 0
.../tools/formats/muc/DocumentSplitterStream.java | 0
.../formats/muc/Muc6NameSampleStreamFactory.java | 22 +-
.../opennlp/tools/formats/muc/MucElementNames.java | 0
.../tools/formats/muc/MucNameContentHandler.java | 0
.../tools/formats/muc/MucNameSampleStream.java | 0
.../java/opennlp/tools/formats/muc/SgmlParser.java | 0
.../opennlp/tools/formats/muc/package-info.java | 0
.../formats/nkjp/NKJPSegmentationDocument.java | 0
.../formats/nkjp/NKJPSentenceSampleStream.java | 0
.../nkjp/NKJPSentenceSampleStreamFactory.java | 8 +-
.../tools/formats/nkjp/NKJPTextDocument.java | 0
.../opennlp/tools/formats/nkjp/package-info.java | 0
.../formats/ontonotes/DocumentToLineStream.java | 0
.../ontonotes/OntoNotesFormatParameters.java | 0
.../ontonotes/OntoNotesNameSampleStream.java | 0
.../OntoNotesNameSampleStreamFactory.java | 0
.../ontonotes/OntoNotesPOSSampleStreamFactory.java | 0
.../ontonotes/OntoNotesParseSampleStream.java | 0
.../OntoNotesParseSampleStreamFactory.java | 0
.../tools/formats/ontonotes/package-info.java | 0
.../java/opennlp/tools/formats/package-info.java | 0
.../src/main/java/opennlp/tools}/package-info.java | 4 +-
.../tools/util/MarkableFileInputStream.java | 0
.../tools/util/MarkableFileInputStreamFactory.java | 0
.../java/opennlp/tools/util/ParagraphStream.java | 0
.../resources/opennlp/tools/util/opennlp.version | 19 +-
.../java/opennlp/tools/AbstractTempDirTest.java | 0
.../opennlp/tools/formats/AbstractFormatTest.java | 0
.../formats/AbstractSampleStreamFactoryTest.java | 0
.../tools/formats/AbstractSampleStreamTest.java | 0
.../BioNLP2004NameSampleStreamFactoryTest.java | 0
.../formats/ChunkerSampleStreamFactoryTest.java | 0
.../Conll02NameSampleStreamFactoryTest.java | 0
.../tools/formats/Conll02NameSampleStreamTest.java | 0
.../Conll03NameSampleStreamFactoryTest.java | 0
.../tools/formats/Conll03NameSampleStreamTest.java | 0
.../formats/ConllXPOSSampleStreamFactoryTest.java | 0
.../tools/formats/ConllXPOSSampleStreamTest.java | 0
.../ConllXSentenceSampleStreamFactoryTest.java | 0
.../ConllXTokenSampleStreamFactoryTest.java | 0
.../tools/formats/DirectorySampleStreamTest.java | 0
.../EvalitaNameSampleStreamFactoryTest.java | 0
.../tools/formats/EvalitaNameSampleStreamTest.java | 0
.../LanguageDetectorSampleStreamFactoryTest.java | 0
.../formats/LemmatizerSampleStreamFactoryTest.java | 0
.../formats/NameFinderCensus90NameStreamTest.java | 0
.../formats/NameSampleDataStreamFactoryTest.java | 0
.../formats/ParseSampleStreamFactoryTest.java | 0
.../formats/SentenceSampleStreamFactoryTest.java | 0
.../formats/TokenSampleStreamFactoryTest.java | 0
.../TwentyNewsgroupSampleStreamFactoryTest.java | 0
.../formats/WordTagSampleStreamFactoryTest.java | 0
.../formats/ad/ADChunkSampleStreamFactoryTest.java | 0
.../tools/formats/ad/ADChunkSampleStreamTest.java | 0
.../tools/formats/ad/ADNameSampleStreamTest.java | 0
.../formats/ad/ADPOSSampleStreamFactoryTest.java | 0
.../tools/formats/ad/ADPOSSampleStreamTest.java | 0
.../tools/formats/ad/ADParagraphStreamTest.java | 0
.../ad/ADSentenceSampleStreamFactoryTest.java | 0
.../formats/ad/ADSentenceSampleStreamTest.java | 0
.../formats/ad/ADTokenSampleStreamFactoryTest.java | 0
.../tools/formats/ad/ADTokenSampleStreamTest.java | 0
.../formats/ad/AbstractADSampleStreamTest.java | 0
.../tools/formats/brat/AbstractBratTest.java | 0
.../formats/brat/BratAnnotationStreamTest.java | 0
.../tools/formats/brat/BratDocumentParserTest.java | 0
.../tools/formats/brat/BratDocumentTest.java | 0
.../brat/BratNameSampleStreamFactoryTest.java | 0
.../formats/brat/BratNameSampleStreamTest.java | 0
.../conllu/AbstractConlluSampleStreamTest.java | 0
.../conllu/ConlluLemmaSampleStreamFactoryTest.java | 0
.../conllu/ConlluLemmaSampleStreamTest.java | 0
.../conllu/ConlluPOSSampleStreamFactoryTest.java | 0
.../formats/conllu/ConlluPOSSampleStreamTest.java | 0
.../ConlluSentenceSampleStreamFactoryTest.java | 0
.../conllu/ConlluSentenceSampleStreamTest.java | 0
.../tools/formats/conllu/ConlluStreamTest.java | 0
.../conllu/ConlluTokenSampleStreamFactoryTest.java | 0
.../conllu/ConlluTokenSampleStreamTest.java | 0
.../tools/formats/conllu/ConlluWordLineTest.java | 0
.../tools/formats/convert/AbstractConvertTest.java | 0
.../convert/FileToByteArraySampleStreamTest.java | 0
.../convert/FileToStringSampleStreamTest.java | 0
.../NameToSentenceSampleStreamFactoryTest.java | 0
.../NameToTokenSampleStreamFactoryTest.java | 0
.../POSToSentenceSampleStreamFactoryTest.java | 0
.../convert/POSToTokenSampleStreamFactoryTest.java | 0
.../convert/ParseToPOSSampleStreamFactoryTest.java | 0
.../ParseToSentenceSampleStreamFactoryTest.java | 0
.../ParseToTokenSampleStreamFactoryTest.java | 0
.../ConstitParseSampleStreamFactoryTest.java | 0
.../ConstitParseSampleStreamTest.java | 0
.../IrishSentenceBankDocumentTest.java | 0
...IrishSentenceBankSentenceStreamFactoryTest.java | 0
...shSentenceBankTokenSampleStreamFactoryTest.java | 0
.../LeipzigLanguageSampleStreamFactoryTest.java | 0
.../leipzig/LeipzigLanguageSampleStreamTest.java | 0
.../tools/formats/letsmt/LetsmtDocumentTest.java | 0
.../letsmt/LetsmtSentenceStreamFactoryTest.java | 0
.../formats/masc/AbstractMascSampleStreamTest.java | 0
.../MascNamedEntitySampleStreamFactoryTest.java | 0
.../masc/MascNamedEntitySampleStreamTest.java | 3 +-
.../masc/MascPOSSampleStreamFactoryTest.java | 0
.../formats/masc/MascPOSSampleStreamTest.java | 3 +-
.../masc/MascSentenceSampleStreamFactoryTest.java | 0
.../formats/masc/MascSentenceSampleStreamTest.java | 3 +-
.../masc/MascTokenSampleStreamFactoryTest.java | 0
.../formats/masc/MascTokenSampleStreamTest.java | 3 +-
.../MosesSentenceSampleStreamFactoryTest.java | 0
.../formats/muc/DocumentSplitterStreamTest.java | 0
.../muc/Muc6NameSampleStreamFactoryTest.java | 0
.../opennlp/tools/formats/muc/SgmlParserTest.java | 0
.../formats/nkjp/NKJPSegmentationDocumentTest.java | 0
.../nkjp/NKJPSentenceSampleStreamFactoryTest.java | 0
.../tools/formats/nkjp/NKJPTextDocumentTest.java | 0
.../OntoNotesNameSampleStreamFactoryTest.java | 0
.../OntoNotesPOSSampleStreamFactoryTest.java | 0
.../OntoNotesParseSampleStreamFactoryTest.java | 0
.../src/test/resources/logback-test.xml | 40 ++
.../20newsgroup/sci.electronics/52794.sample | 0
.../resources/opennlp/tools/formats/ad/ad.sample | 0
.../opennlp/tools/formats/bionlp2004-01.sample | 0
.../opennlp/tools/formats/brat/brat-ann.conf | 0
.../opennlp/tools/formats/brat/opennlp-1193.ann | 0
.../opennlp/tools/formats/brat/opennlp-1193.txt | 0
.../formats/brat/voa-with-entities-overlapping.ann | 0
.../formats/brat/voa-with-entities-overlapping.txt | 0
.../tools/formats/brat/voa-with-entities.ann | 0
.../tools/formats/brat/voa-with-entities.txt | 0
.../tools/formats/brat/voa-with-relations.ann | 0
.../tools/formats/brat/voa-with-relations.txt | 0
.../opennlp/tools/formats/brown-cluster.txt | 0
.../opennlp/tools/formats/census90.sample | 0
.../opennlp/tools/formats/chunker-01.sample | 0
.../opennlp/tools/formats/conll2002-es.sample | 0
.../opennlp/tools/formats/conll2002-nl.sample | 0
.../opennlp/tools/formats/conll2003-de.sample | 0
.../opennlp/tools/formats/conll2003-en.sample | 0
.../tools/formats/conllu/de-ud-train-sample.conllu | 0
.../tools/formats/conllu/es-ud-sample.conllu | 0
.../tools/formats/conllu/full-sample.conllu | 0
.../tools/formats/conllu/pt_br-ud-sample.conllu | 0
.../resources/opennlp/tools/formats/conllx.sample | 0
.../opennlp/tools/formats/evalita-ner-it-01.sample | 0
.../opennlp/tools/formats/evalita-ner-it-02.sample | 0
.../opennlp/tools/formats/evalita-ner-it-03.sample | 0
.../tools/formats/evalita-ner-it-broken.sample | 0
.../tools/formats/evalita-ner-it-incorrect.sample | 0
.../tools/formats/frenchtreebank/sample1.xml | 0
.../irishsentencebank/irishsentencebank-sample.xml | 0
.../opennlp/tools/formats/lang-detect-01.sample | 0
.../opennlp/tools/formats/leipzig-en.sample | 0
.../opennlp/tools/formats/leipzig/samples/.hidden | 0
.../tools/formats/leipzig/samples/123-skipped.txt | 0
.../formats/leipzig/samples/dan-sentences.txt | 0
.../leipzig/samples/dontread/xxx-sentences.txt | 0
.../formats/leipzig/samples/eng-sentences.txt | 0
.../opennlp/tools/formats/lemma-01.sample | 0
.../tools/formats/letsmt/letsmt-with-words.xml | 0
.../opennlp/tools/formats/masc/fakeMASC-ne.xml | 0
.../opennlp/tools/formats/masc/fakeMASC-penn.xml | 0
.../opennlp/tools/formats/masc/fakeMASC-s.xml | 0
.../opennlp/tools/formats/masc/fakeMASC-seg.xml | 0
.../opennlp/tools/formats/masc/fakeMASC.hdr | 0
.../opennlp/tools/formats/masc/fakeMASC.txt | 0
.../opennlp/tools/formats/moses/moses-tiny.sample | 0
.../opennlp/tools/formats/muc/LDC2003T13.sgm | 0
.../opennlp/tools/formats/muc/parsertest1.sgml | 0
.../opennlp/tools/formats/name-data-01.sample | 0
.../tools/formats/nkjp/ann_segmentation.xml | 0
.../opennlp/tools/formats/nkjp/text_structure.xml | 0
.../formats/ontonotes/ontonotes-sample-01.name | 0
.../formats/ontonotes/ontonotes-sample-02.parse | 0
.../opennlp/tools/formats/parse-01.sample | 0
.../opennlp/tools/formats/sentences-01.sample | 0
.../opennlp/tools/formats/tokens-01.sample | 0
.../opennlp/tools/formats/word-tags-01.sample | 0
.../opennlp/tools/tokenize/latin-detokenizer.xml | 77 +++
{opennlp-dl => opennlp-core/opennlp-ml}/pom.xml | 52 +-
opennlp-core/opennlp-models/pom.xml | 139 +++++
.../tools/models/AbstractClassPathModelFinder.java | 0
.../java/opennlp/tools/models/ClassPathModel.java | 2 -
.../opennlp/tools/models/ClassPathModelLoader.java | 0
.../tools/models/ClassPathModelProvider.java | 0
.../models/DefaultClassPathModelProvider.java | 0
.../models/classgraph/ClassgraphModelFinder.java | 0
.../models/simple/SimpleClassPathModelFinder.java | 0
.../tools/models/AbstractClassPathFinderTest.java | 0
.../tools/models/AbstractClassPathModelTest.java | 0
.../tools/models/AbstractModelLoaderTest.java | 0
.../tools/models/AbstractModelUsageTest.java | 0
.../tools/models/ClassPathModelLoaderTest.java | 0
.../models/DefaultClassPathModelProviderTest.java | 0
.../classgraph/ClassgraphModelFinderTest.java | 0
.../classgraph/ClassgraphModelLoaderTest.java | 0
.../classgraph/ClassgraphModelUsageTest.java | 0
.../simple/SimpleClassPathModelFinderTest.java | 0
.../tools/models/simple/SimpleModelLoaderTest.java | 0
.../tools/models/simple/SimpleModelUsageTest.java | 0
.../opennlp-runtime}/pom.xml | 71 +--
.../opennlp/tools/util/jvm/BenchmarkRunner.java | 0
.../util/jvm/StringDeduplicationBenchmark.java | 0
.../tools/util/jvm/StringListBenchmark.java | 0
.../opennlp/tools/util/jvm/jmh/ExecutionPlan.java | 0
.../tools/chunker/ChunkSampleSequenceStream.java | 4 +-
.../opennlp/tools/chunker/ChunkSampleStream.java | 0
.../tools/chunker/ChunkerCrossValidator.java | 0
.../opennlp/tools/chunker/ChunkerEvaluator.java | 0
.../opennlp/tools/chunker/ChunkerEventStream.java | 0
.../java/opennlp/tools/chunker/ChunkerFactory.java | 0
.../main/java/opennlp/tools/chunker/ChunkerME.java | 5 +-
.../java/opennlp/tools/chunker/ChunkerModel.java | 0
.../chunker/DefaultChunkerContextGenerator.java | 0
.../chunker/DefaultChunkerSequenceValidator.java | 0
.../opennlp/tools/chunker/ThreadSafeChunkerME.java | 0
.../java/opennlp/tools/chunker/package-info.java | 0
.../java/opennlp/tools/dictionary/Dictionary.java | 0
.../main/java/opennlp/tools/dictionary/Index.java | 0
.../opennlp/tools/dictionary/package-info.java | 0
.../tools/dictionary/serializer/Attributes.java | 0
.../serializer/DictionaryEntryPersistor.java | 0
.../opennlp/tools/dictionary/serializer/Entry.java | 0
.../tools/dictionary/serializer/EntryInserter.java | 0
.../tools/doccat/BagOfWordsFeatureGenerator.java | 0
.../opennlp/tools/doccat/DoccatCrossValidator.java | 0
.../java/opennlp/tools/doccat/DoccatFactory.java | 0
.../java/opennlp/tools/doccat/DoccatModel.java | 0
.../DocumentCategorizerContextGenerator.java | 0
.../tools/doccat/DocumentCategorizerEvaluator.java | 0
.../doccat/DocumentCategorizerEventStream.java | 0
.../tools/doccat/DocumentCategorizerME.java | 2 +-
.../opennlp/tools/doccat/DocumentSampleStream.java | 0
.../tools/doccat/NGramFeatureGenerator.java | 0
.../java/opennlp/tools/doccat/package-info.java | 0
.../tools/entitylinker/EntityLinkerFactory.java | 0
.../opennlp/tools/entitylinker/package-info.java | 0
.../DefaultLanguageDetectorContextGenerator.java | 0
.../tools/langdetect/LanguageDetectorConfig.java | 0
.../langdetect/LanguageDetectorCrossValidator.java | 0
.../langdetect/LanguageDetectorEvaluator.java | 0
.../langdetect/LanguageDetectorEventStream.java | 0
.../tools/langdetect/LanguageDetectorFactory.java | 0
.../tools/langdetect/LanguageDetectorME.java | 2 +-
.../tools/langdetect/LanguageDetectorModel.java | 0
.../langdetect/LanguageDetectorSampleStream.java | 0
.../langdetect/ProbingLanguageDetectionResult.java | 0
.../langdetect/ThreadSafeLanguageDetectorME.java | 0
.../opennlp/tools/langdetect/package-info.java | 0
.../tools/languagemodel/NGramLanguageModel.java | 0
.../opennlp/tools/languagemodel/package-info.java | 0
.../DefaultLemmatizerContextGenerator.java | 0
.../DefaultLemmatizerSequenceValidator.java | 0
.../tools/lemmatizer/DictionaryLemmatizer.java | 0
.../tools/lemmatizer/LemmaSampleEventStream.java | 0
.../lemmatizer/LemmaSampleSequenceStream.java | 4 +-
.../tools/lemmatizer/LemmaSampleStream.java | 0
.../tools/lemmatizer/LemmatizerEvaluator.java | 0
.../tools/lemmatizer/LemmatizerFactory.java | 0
.../opennlp/tools/lemmatizer/LemmatizerME.java | 8 +-
.../opennlp/tools/lemmatizer/LemmatizerModel.java | 0
.../tools/lemmatizer/ThreadSafeLemmatizerME.java | 0
.../opennlp/tools/lemmatizer/package-info.java | 0
.../java/opennlp/tools/log/LogPrintStream.java | 0
.../main/java/opennlp/tools/log/package-info.java | 0
.../ml/AbstractEventModelSequenceTrainer.java | 8 +-
.../opennlp/tools/ml/AbstractEventTrainer.java | 23 +-
.../opennlp/tools/ml/AbstractMLModelWriter.java | 0
.../java/opennlp/tools/ml/AbstractTrainer.java | 46 +-
.../src/main/java/opennlp/tools/ml/BeamSearch.java | 0
.../main/java/opennlp/tools/ml/TrainerFactory.java | 76 +--
.../opennlp/tools/ml/maxent/AllEnglishAffixes.txt | 0
.../tools/ml/maxent/BasicContextGenerator.java | 0
.../opennlp/tools/ml/maxent/ContextGenerator.java | 0
.../java/opennlp/tools/ml/maxent/DataStream.java | 0
.../main/java/opennlp/tools/ml/maxent/GISFormat | 0
.../java/opennlp/tools/ml/maxent/GISModel.java | 0
.../java/opennlp/tools/ml/maxent/GISTrainer.java | 20 +-
.../tools/ml/maxent/RealBasicEventStream.java | 0
.../tools/ml/maxent/URLInputStreamFactory.java | 0
.../tools/ml/maxent/io/BinaryGISModelReader.java | 0
.../tools/ml/maxent/io/BinaryGISModelWriter.java | 0
.../tools/ml/maxent/io/BinaryQNModelReader.java | 0
.../tools/ml/maxent/io/BinaryQNModelWriter.java | 0
.../opennlp/tools/ml/maxent/io/GISModelReader.java | 0
.../opennlp/tools/ml/maxent/io/GISModelWriter.java | 0
.../opennlp/tools/ml/maxent/io/QNModelReader.java | 0
.../opennlp/tools/ml/maxent/io/QNModelWriter.java | 0
.../opennlp/tools/ml/maxent/io/package-info.java | 0
.../java/opennlp/tools/ml/maxent/io/package.html | 0
.../java/opennlp/tools/ml/maxent/package-info.java | 0
.../main/java/opennlp/tools/ml/maxent/package.html | 0
.../tools/ml/maxent/quasinewton/Function.java | 0
.../tools/ml/maxent/quasinewton/LineSearch.java | 0
.../ml/maxent/quasinewton/NegLogLikelihood.java | 3 +-
.../quasinewton/ParallelNegLogLikelihood.java | 3 +-
.../tools/ml/maxent/quasinewton/QNMinimizer.java | 0
.../tools/ml/maxent/quasinewton/QNModel.java | 0
.../tools/ml/maxent/quasinewton/QNTrainer.java | 8 +-
.../tools/ml/maxent/quasinewton/package-info.java | 0
.../tools/ml/model/AbstractDataIndexer.java | 14 +-
.../java/opennlp/tools/ml/model/AbstractModel.java | 0
.../tools/ml/model/AbstractModelReader.java | 0
.../tools/ml/model/AbstractModelWriter.java | 0
.../tools/ml/model/BinaryFileDataReader.java | 0
.../tools/ml/model/ChecksumEventStream.java | 0
.../opennlp/tools/ml/model/ComparableEvent.java | 0
.../tools/ml/model/ComparablePredicate.java | 0
.../opennlp/tools/ml/model/DataIndexerFactory.java | 7 +-
.../tools/ml/model/DynamicEvalParameters.java | 0
.../opennlp/tools/ml/model/EvalParameters.java | 0
.../opennlp/tools/ml/model/FileEventStream.java | 0
.../opennlp/tools/ml/model/GenericModelReader.java | 0
.../opennlp/tools/ml/model/GenericModelWriter.java | 0
.../tools/ml/model/ModelParameterChunker.java | 0
.../opennlp/tools/ml/model/MutableContext.java | 0
.../opennlp/tools/ml/model/ObjectDataReader.java | 0
.../opennlp/tools/ml/model/OnePassDataIndexer.java | 7 +-
.../ml/model/OnePassRealValueDataIndexer.java | 0
.../tools/ml/model/PlainTextFileDataReader.java | 0
.../tools/ml/model/RealValueFileEventStream.java | 0
.../tools/ml/model/SequenceStreamEventStream.java | 0
.../tools/ml/model/SimpleEventStreamBuilder.java | 0
.../opennlp/tools/ml/model/TwoPassDataIndexer.java | 7 +-
.../java/opennlp/tools/ml/model/UniformPrior.java | 0
.../java/opennlp/tools/ml/model/package-info.java | 0
.../ml/naivebayes/BinaryNaiveBayesModelReader.java | 0
.../ml/naivebayes/BinaryNaiveBayesModelWriter.java | 0
.../tools/ml/naivebayes/LogProbabilities.java | 0
.../tools/ml/naivebayes/LogProbability.java | 0
.../ml/naivebayes/NaiveBayesEvalParameters.java | 0
.../tools/ml/naivebayes/NaiveBayesModel.java | 0
.../tools/ml/naivebayes/NaiveBayesModelReader.java | 0
.../tools/ml/naivebayes/NaiveBayesModelWriter.java | 0
.../tools/ml/naivebayes/NaiveBayesTrainer.java | 6 +-
.../naivebayes/PlainTextNaiveBayesModelReader.java | 0
.../naivebayes/PlainTextNaiveBayesModelWriter.java | 0
.../opennlp/tools/ml/naivebayes/Probabilities.java | 0
.../opennlp/tools/ml/naivebayes/Probability.java | 0
.../opennlp/tools/ml/naivebayes/package-info.java | 0
.../main/java/opennlp/tools/ml/package-info.java | 0
.../ml/perceptron/BinaryPerceptronModelReader.java | 0
.../ml/perceptron/BinaryPerceptronModelWriter.java | 0
.../tools/ml/perceptron/PerceptronModel.java | 0
.../tools/ml/perceptron/PerceptronModelReader.java | 0
.../tools/ml/perceptron/PerceptronModelWriter.java | 0
.../tools/ml/perceptron/PerceptronTrainer.java | 10 +-
.../SimplePerceptronSequenceTrainer.java | 7 +-
.../opennlp/tools/ml/perceptron/package-info.java | 0
.../monitoring/DefaultTrainingProgressMonitor.java | 1 -
.../IterDeltaAccuracyUnderTolerance.java | 6 +-
.../monitoring/LogLikelihoodThresholdBreached.java | 16 +-
.../java/opennlp/tools/namefind/BilouCodec.java | 0
.../namefind/BilouNameFinderSequenceValidator.java | 0
.../main/java/opennlp/tools/namefind/BioCodec.java | 0
.../namefind/DefaultNameContextGenerator.java | 0
.../tools/namefind/DictionaryNameFinder.java | 0
.../tools/namefind/NameFinderEventStream.java | 0
.../java/opennlp/tools/namefind/NameFinderME.java | 18 +-
.../namefind/NameFinderSequenceValidator.java | 0
.../tools/namefind/NameSampleDataStream.java | 4 -
.../tools/namefind/NameSampleSequenceStream.java | 4 +-
.../tools/namefind/NameSampleTypeFilter.java | 0
.../opennlp/tools/namefind/RegexNameFinder.java | 0
.../tools/namefind/RegexNameFinderFactory.java | 0
.../tools/namefind/ThreadSafeNameFinderME.java | 0
.../namefind/TokenNameFinderCrossValidator.java | 0
.../tools/namefind/TokenNameFinderEvaluator.java | 0
.../tools/namefind/TokenNameFinderFactory.java | 0
.../tools/namefind/TokenNameFinderModel.java | 0
.../java/opennlp/tools/namefind/package-info.java | 0
.../java/opennlp/tools/ngram/NGramCharModel.java | 0
.../java/opennlp/tools/ngram/NGramGenerator.java | 0
.../main/java/opennlp/tools/ngram/NGramModel.java | 0
.../main/java/opennlp/tools/ngram/NGramUtils.java | 0
.../java/opennlp/tools/ngram/package-info.java | 0
.../src/main/java/opennlp/tools}/package-info.java | 4 +-
.../tools/parser/AbstractBottomUpParser.java | 20 +-
.../tools/parser/AbstractContextGenerator.java | 0
.../tools/parser/AbstractParserEventStream.java | 0
.../tools/parser/ChunkContextGenerator.java | 0
.../opennlp/tools/parser/ChunkSampleStream.java | 0
.../src/main/java/opennlp/tools/parser/Cons.java | 0
.../opennlp/tools/parser/ParseSampleStream.java | 0
.../opennlp/tools/parser/ParserChunkerFactory.java | 0
.../parser/ParserChunkerSequenceValidator.java | 0
.../java/opennlp/tools/parser/ParserFactory.java | 0
.../java/opennlp/tools/parser/ParserModel.java | 0
.../java/opennlp/tools/parser/PosSampleStream.java | 0
.../parser/chunking/BuildContextGenerator.java | 0
.../parser/chunking/CheckContextGenerator.java | 0
.../java/opennlp/tools/parser/chunking/Parser.java | 4 +-
.../tools/parser/chunking/ParserEventStream.java | 0
.../tools/parser/chunking/package-info.java | 0
.../opennlp/tools/parser/lang/en/HeadRules.java | 0
.../parser/lang/es/AncoraSpanishHeadRules.java | 0
.../java/opennlp/tools/parser/package-info.java | 0
.../parser/treeinsert/AttachContextGenerator.java | 0
.../parser/treeinsert/BuildContextGenerator.java | 0
.../parser/treeinsert/CheckContextGenerator.java | 0
.../opennlp/tools/parser/treeinsert/Parser.java | 25 +-
.../tools/parser/treeinsert/ParserEventStream.java | 0
.../tools/parser/treeinsert/package-info.java | 0
.../postag/ConfigurablePOSContextGenerator.java | 0
.../tools/postag/DefaultPOSContextGenerator.java | 0
.../tools/postag/DefaultPOSSequenceValidator.java | 0
.../java/opennlp/tools/postag/POSDictionary.java | 0
.../java/opennlp/tools/postag/POSEvaluator.java | 0
.../main/java/opennlp/tools/postag/POSModel.java | 0
.../opennlp/tools/postag/POSSampleEventStream.java | 0
.../tools/postag/POSSampleSequenceStream.java | 4 +-
.../java/opennlp/tools/postag/POSTagFormat.java | 0
.../opennlp/tools/postag/POSTagFormatMapper.java | 0
.../tools/postag/POSTaggerCrossValidator.java | 0
.../opennlp/tools/postag/POSTaggerFactory.java | 0
.../java/opennlp/tools/postag/POSTaggerME.java | 7 +-
.../tools/postag/ThreadSafePOSTaggerME.java | 0
.../opennlp/tools/postag/WordTagSampleStream.java | 0
.../java/opennlp/tools/postag/package-info.java | 0
.../sentdetect/DefaultEndOfSentenceScanner.java | 0
.../sentdetect/DefaultSDContextGenerator.java | 0
.../sentdetect/EmptyLinePreprocessorStream.java | 0
.../tools/sentdetect/NewlineSentenceDetector.java | 0
.../opennlp/tools/sentdetect/SDCrossValidator.java | 0
.../opennlp/tools/sentdetect/SDEventStream.java | 0
.../sentdetect/SentenceDetectorEvaluator.java | 0
.../tools/sentdetect/SentenceDetectorFactory.java | 0
.../tools/sentdetect/SentenceDetectorME.java | 2 +-
.../opennlp/tools/sentdetect/SentenceModel.java | 0
.../tools/sentdetect/SentenceSampleStream.java | 0
.../sentdetect/ThreadSafeSentenceDetectorME.java | 0
.../opennlp/tools/sentdetect/lang/Factory.java | 0
.../lang/th/SentenceContextGenerator.java | 0
.../opennlp/tools/sentdetect/lang/th/package.html | 0
.../opennlp/tools/sentdetect/package-info.java | 0
.../java/opennlp/tools/stemmer/PorterStemmer.java | 0
.../stemmer/snowball/AbstractSnowballStemmer.java | 0
.../java/opennlp/tools/stemmer/snowball/Among.java | 0
.../tools/stemmer/snowball/SnowballProgram.java | 0
.../tools/stemmer/snowball/SnowballStemmer.java | 0
.../tools/stemmer/snowball/arabicStemmer.java | 0
.../tools/stemmer/snowball/catalanStemmer.java | 0
.../tools/stemmer/snowball/danishStemmer.java | 0
.../tools/stemmer/snowball/dutchStemmer.java | 0
.../tools/stemmer/snowball/englishStemmer.java | 0
.../tools/stemmer/snowball/finnishStemmer.java | 0
.../tools/stemmer/snowball/frenchStemmer.java | 0
.../tools/stemmer/snowball/germanStemmer.java | 0
.../tools/stemmer/snowball/greekStemmer.java | 0
.../tools/stemmer/snowball/hungarianStemmer.java | 0
.../tools/stemmer/snowball/indonesianStemmer.java | 0
.../tools/stemmer/snowball/irishStemmer.java | 0
.../tools/stemmer/snowball/italianStemmer.java | 0
.../tools/stemmer/snowball/norwegianStemmer.java | 0
.../tools/stemmer/snowball/porterStemmer.java | 0
.../tools/stemmer/snowball/portugueseStemmer.java | 0
.../tools/stemmer/snowball/romanianStemmer.java | 0
.../tools/stemmer/snowball/russianStemmer.java | 0
.../tools/stemmer/snowball/spanishStemmer.java | 0
.../tools/stemmer/snowball/swedishStemmer.java | 0
.../tools/stemmer/snowball/turkishStemmer.java | 0
.../tokenize/DefaultTokenContextGenerator.java | 0
.../tools/tokenize/DetokenizationDictionary.java | 0
.../tools/tokenize/DictionaryDetokenizer.java | 0
.../opennlp/tools/tokenize/SimpleTokenizer.java | 0
.../tools/tokenize/ThreadSafeTokenizerME.java | 0
.../opennlp/tools/tokenize/TokSpanEventStream.java | 0
.../opennlp/tools/tokenize/TokenSampleStream.java | 0
.../tools/tokenize/TokenizerCrossValidator.java | 0
.../opennlp/tools/tokenize/TokenizerEvaluator.java | 0
.../opennlp/tools/tokenize/TokenizerFactory.java | 0
.../java/opennlp/tools/tokenize/TokenizerME.java | 2 +-
.../opennlp/tools/tokenize/TokenizerModel.java | 0
.../opennlp/tools/tokenize/TokenizerStream.java | 0
.../tools/tokenize/WhitespaceTokenStream.java | 0
.../java/opennlp/tools/tokenize/lang/Factory.java | 0
.../tools/tokenize/lang/en/TokenSampleStream.java | 0
.../java/opennlp/tools/tokenize/package-info.java | 0
.../opennlp/tools/util/AbstractEventStream.java | 0
.../opennlp/tools/util/AbstractObjectStream.java | 0
.../java/opennlp/tools/util/BaseToolFactory.java | 0
.../src/main/java/opennlp/tools/util/Cache.java | 0
.../opennlp/tools/util/CollectionObjectStream.java | 0
.../main/java/opennlp/tools/util/DownloadUtil.java | 0
.../opennlp/tools/util/FilterObjectStream.java | 0
.../main/java/opennlp/tools/util/MutableInt.java | 0
.../java/opennlp/tools/util/ObjectStreamUtils.java | 0
.../opennlp/tools/util/PlainTextByLineStream.java | 0
.../main/java/opennlp/tools/util/StringList.java | 0
.../opennlp/tools/util/TrainingParameters.java | 400 ++++++++++++++
.../src/main/java/opennlp/tools/util/Version.java | 0
.../src/main/java/opennlp/tools/util/XmlUtil.java | 0
.../util/eval/CrossValidationPartitioner.java | 0
.../java/opennlp/tools/util/eval/Evaluator.java | 0
.../opennlp/tools/util/ext/ExtensionLoader.java | 0
.../util/ext/ExtensionNotLoadedException.java | 0
.../tools/util/ext/ExtensionServiceKeys.java | 0
.../java/opennlp/tools/util/ext/package-info.java | 0
.../AdditionalContextFeatureGenerator.java | 0
.../featuregen/AggregatedFeatureGenerator.java | 0
.../AggregatedFeatureGeneratorFactory.java | 0
.../featuregen/BigramNameFeatureGenerator.java | 0
.../BigramNameFeatureGeneratorFactory.java | 0
.../featuregen/BrownBigramFeatureGenerator.java | 0
.../tools/util/featuregen/BrownCluster.java | 0
.../BrownClusterBigramFeatureGeneratorFactory.java | 0
...wnClusterTokenClassFeatureGeneratorFactory.java | 0
.../BrownClusterTokenFeatureGeneratorFactory.java | 0
.../BrownTokenClassFeatureGenerator.java | 0
.../tools/util/featuregen/BrownTokenClasses.java | 0
.../featuregen/BrownTokenFeatureGenerator.java | 0
.../util/featuregen/CachedFeatureGenerator.java | 0
.../featuregen/CachedFeatureGeneratorFactory.java | 0
.../featuregen/CharacterNgramFeatureGenerator.java | 0
.../CharacterNgramFeatureGeneratorFactory.java | 0
.../DefinitionFeatureGeneratorFactory.java | 0
.../featuregen/DictionaryFeatureGenerator.java | 0
.../DictionaryFeatureGeneratorFactory.java | 0
.../featuregen/DocumentBeginFeatureGenerator.java | 0
.../DocumentBeginFeatureGeneratorFactory.java | 0
.../util/featuregen/FeatureGeneratorUtil.java | 0
.../tools/util/featuregen/GeneratorFactory.java | 0
.../tools/util/featuregen/InSpanGenerator.java | 0
.../featuregen/OutcomePriorFeatureGenerator.java | 0
.../featuregen/POSTaggerNameFeatureGenerator.java | 0
.../POSTaggerNameFeatureGeneratorFactory.java | 0
.../util/featuregen/PosTaggerFeatureGenerator.java | 0
.../PosTaggerFeatureGeneratorFactory.java | 0
.../util/featuregen/PrefixFeatureGenerator.java | 0
.../featuregen/PrefixFeatureGeneratorFactory.java | 0
.../featuregen/PreviousMapFeatureGenerator.java | 0
.../PreviousMapFeatureGeneratorFactory.java | 0
.../featuregen/PreviousTwoMapFeatureGenerator.java | 0
.../util/featuregen/SentenceFeatureGenerator.java | 0
.../SentenceFeatureGeneratorFactory.java | 0
.../tools/util/featuregen/StringPattern.java | 0
.../util/featuregen/SuffixFeatureGenerator.java | 0
.../featuregen/SuffixFeatureGeneratorFactory.java | 0
.../featuregen/TokenClassFeatureGenerator.java | 0
.../TokenClassFeatureGeneratorFactory.java | 0
.../util/featuregen/TokenFeatureGenerator.java | 0
.../featuregen/TokenFeatureGeneratorFactory.java | 0
.../featuregen/TokenPatternFeatureGenerator.java | 0
.../TokenPatternFeatureGeneratorFactory.java | 0
.../featuregen/TrigramNameFeatureGenerator.java | 0
.../TrigramNameFeatureGeneratorFactory.java | 0
.../util/featuregen/WindowFeatureGenerator.java | 0
.../featuregen/WindowFeatureGeneratorFactory.java | 0
.../util/featuregen/WordClusterDictionary.java | 0
.../featuregen/WordClusterFeatureGenerator.java | 0
.../WordClusterFeatureGeneratorFactory.java | 0
.../tools/util/featuregen/package-info.java | 0
.../tools/util/jvm/CHMStringDeduplicator.java | 0
.../opennlp/tools/util/jvm/CHMStringInterner.java | 0
.../opennlp/tools/util/jvm/HMStringInterner.java | 0
.../opennlp/tools/util/jvm/JvmStringInterner.java | 0
.../opennlp/tools/util/jvm/NoOpStringInterner.java | 0
.../opennlp/tools/util/jvm/StringInterners.java | 0
.../java/opennlp/tools/util/model/BaseModel.java | 0
.../tools/util/model/ByteArraySerializer.java | 11 +-
.../tools/util/model/ChunkerModelSerializer.java | 0
.../tools/util/model/DictionarySerializer.java | 0
.../tools/util/model/GenericModelSerializer.java | 16 +-
.../java/opennlp/tools/util/model/ModelUtil.java | 7 +-
.../tools/util/model/POSModelSerializer.java | 0
.../tools/util/model/PropertiesSerializer.java | 0
.../tools/util/model/UncloseableInputStream.java | 0
.../AggregateCharSequenceNormalizer.java | 0
.../normalizer/EmojiCharSequenceNormalizer.java | 0
.../normalizer/NumberCharSequenceNormalizer.java | 0
.../normalizer/ShrinkCharSequenceNormalizer.java | 0
.../normalizer/TwitterCharSequenceNormalizer.java | 0
.../util/normalizer/UrlCharSequenceNormalizer.java | 0
.../java/opennlp/tools/util}/package-info.java | 4 +-
.../tools/util/wordvector/DoubleArrayVector.java | 0
.../tools/util/wordvector/FloatArrayVector.java | 0
.../java/opennlp/tools/util/wordvector/Glove.java | 0
.../tools/util/wordvector/MapWordVectorTable.java | 0
.../tools/namefind/ner-default-features.xml | 0
.../opennlp/tools/postag/pos-default-features.xml | 0
.../resources/opennlp/tools/util/opennlp.version | 19 +-
.../opennlp/tools/AbstractModelLoaderTest.java | 0
.../opennlp/tools/EnabledWhenCDNAvailable.java | 85 +++
.../tools/chunker/ChunkSampleStreamTest.java | 0
.../opennlp/tools/chunker/ChunkSampleTest.java | 0
.../opennlp/tools/chunker/ChunkerFactoryTest.java | 0
.../java/opennlp/tools/chunker/ChunkerMEIT.java | 0
.../java/opennlp/tools/chunker/ChunkerMETest.java | 9 +-
.../opennlp/tools/chunker/ChunkerModelTest.java | 0
.../tools/chunker/DummyChunkSampleStream.java | 0
.../opennlp/tools/chunker/DummyChunkerFactory.java | 0
.../DictionaryAsSetCaseInsensitiveTest.java | 0
.../DictionaryAsSetCaseSensitiveTest.java | 0
.../opennlp/tools/dictionary/DictionaryTest.java | 0
.../doccat/BagOfWordsFeatureGeneratorTest.java | 0
.../opennlp/tools/doccat/DoccatFactoryTest.java | 0
.../tools/doccat/DocumentCategorizerMETest.java | 9 +-
.../tools/doccat/DocumentCategorizerNBTest.java | 7 +-
.../opennlp/tools/doccat/DocumentSampleTest.java | 0
.../tools/doccat/NGramFeatureGeneratorTest.java | 0
.../tools/formats/ResourceAsStreamFactory.java | 1 +
...efaultLanguageDetectorContextGeneratorTest.java | 0
.../opennlp/tools/langdetect/DummyFactory.java | 0
.../LanguageDetectorCrossValidatorTest.java | 5 +-
.../langdetect/LanguageDetectorFactoryTest.java | 7 +-
.../tools/langdetect/LanguageDetectorMETest.java | 15 +-
.../tools/langdetect/LanguageSampleTest.java | 0
.../opennlp/tools/langdetect/LanguageTest.java | 0
.../languagemodel/LanguageModelEvaluationTest.java | 0
.../languagemodel/LanguageModelTestUtils.java | 0
.../languagemodel/NgramLanguageModelTest.java | 0
.../lemmatizer/DictionaryLemmatizerMultiTest.java | 0
.../tools/lemmatizer/DictionaryLemmatizerTest.java | 0
.../opennlp/tools/lemmatizer/LemmaSampleTest.java | 0
.../opennlp/tools/lemmatizer/LemmatizerMETest.java | 9 +-
.../opennlp/tools/ml/AbstractEventStreamTest.java | 0
.../test/java/opennlp/tools/ml/ArrayMathTest.java | 0
.../test/java/opennlp/tools/ml/BeamSearchTest.java | 0
.../java/opennlp/tools/ml/MockEventTrainer.java | 4 +-
.../java/opennlp/tools/ml/MockSequenceTrainer.java | 2 +-
.../java/opennlp/tools/ml/PrepAttachDataUtil.java | 0
.../java/opennlp/tools/ml/TrainerFactoryTest.java | 33 +-
.../tools/ml/maxent/FootballEventStream.java | 0
.../opennlp/tools/ml/maxent/GISIndexingTest.java | 45 +-
.../opennlp/tools/ml/maxent/GISTrainerTest.java | 2 +-
.../tools/ml/maxent/MaxentPrepAttachTest.java | 31 +-
.../opennlp/tools/ml/maxent/MockDataIndexer.java | 5 +-
.../tools/ml/maxent/RealBasicEventStreamTest.java | 0
.../tools/ml/maxent/RealValueModelTest.java | 6 +-
.../tools/ml/maxent/ScaleDoesntMatterTest.java | 9 +-
.../ml/maxent/io/RealValueFileEventStreamTest.java | 5 +-
.../ml/maxent/quasinewton/LineSearchTest.java | 0
.../maxent/quasinewton/NegLogLikelihoodTest.java | 8 +-
.../ml/maxent/quasinewton/QNMinimizerTest.java | 0
.../ml/maxent/quasinewton/QNPrepAttachTest.java | 31 +-
.../tools/ml/maxent/quasinewton/QNTrainerTest.java | 5 +-
.../tools/ml/model/ChecksumEventStreamTest.java | 0
.../java/opennlp/tools/ml/model/EventTest.java | 0
.../tools/ml/model/FileEventStreamTest.java | 0
.../tools/ml/model/ModelParameterChunkerTest.java | 0
.../tools/ml/model/OnePassDataIndexerTest.java | 2 +-
.../ml/model/OnePassRealValueDataIndexerTest.java | 2 +-
.../ml/model/RealValueFileEventStreamTest.java | 0
.../tools/ml/model/TwoPassDataIndexerTest.java | 4 +-
.../ml/naivebayes/AbstractNaiveBayesTest.java | 0
.../ml/naivebayes/NaiveBayesCorrectnessTest.java | 5 +-
.../naivebayes/NaiveBayesModelReadWriteTest.java | 5 +-
.../ml/naivebayes/NaiveBayesPrepAttachTest.java | 17 +-
.../NaiveBayesSerializedCorrectnessTest.java | 5 +-
.../ml/perceptron/PerceptronPrepAttachTest.java | 51 +-
.../tools/namefind/AbstractNameFinderTest.java | 7 +-
.../opennlp/tools/namefind/BilouCodecTest.java | 0
.../BilouNameFinderSequenceValidatorTest.java | 0
.../java/opennlp/tools/namefind/BioCodecTest.java | 0
.../tools/namefind/DictionaryNameFinderTest.java | 0
.../tools/namefind/NameFinderEventStreamTest.java | 0
.../opennlp/tools/namefind/NameFinderMETest.java | 31 +-
.../tools/namefind/NameFinderMEWithDatesTest.java | 0
.../namefind/NameFinderSequenceValidatorTest.java | 0
.../tools/namefind/NameSampleDataStreamTest.java | 0
.../opennlp/tools/namefind/NameSampleTest.java | 0
.../tools/namefind/NameSampleTypeFilterTest.java | 0
.../tools/namefind/RegexNameFinderFactoryTest.java | 0
.../tools/namefind/RegexNameFinderTest.java | 0
.../opennlp/tools/ngram/NGramCharModelTest.java | 0
.../opennlp/tools/ngram/NGramGeneratorTest.java | 0
.../java/opennlp/tools/ngram/NGramModelTest.java | 0
.../java/opennlp/tools/ngram/NGramUtilsTest.java | 0
.../tools/parser/AbstractParserModelTest.java | 0
.../tools/parser/ChunkSampleStreamTest.java | 0
.../tools/parser/ParseSampleStreamTest.java | 0
.../test/java/opennlp/tools/parser/ParseTest.java | 0
.../java/opennlp/tools/parser/ParserTestUtil.java | 0
.../opennlp/tools/parser/PosSampleStreamTest.java | 0
.../opennlp/tools/parser/chunking/ParserTest.java | 0
.../tools/parser/lang/en/HeadRulesTest.java | 0
.../tools/parser/treeinsert/ParserTest.java | 0
.../ConfigurablePOSContextGeneratorTest.java | 0
.../postag/DefaultPOSContextGeneratorTest.java | 0
.../tools/postag/DummyPOSTaggerFactory.java | 0
.../opennlp/tools/postag/POSDictionaryTest.java | 0
.../java/opennlp/tools/postag/POSModelTest.java | 0
.../tools/postag/POSSampleEventStreamTest.java | 0
.../java/opennlp/tools/postag/POSSampleTest.java | 4 +-
.../opennlp/tools/postag/POSTaggerFactoryTest.java | 0
.../java/opennlp/tools/postag/POSTaggerMEIT.java | 0
.../java/opennlp/tools/postag/POSTaggerMETest.java | 15 +-
.../tools/postag/WordTagSampleStreamTest.java | 0
.../sentdetect/AbstractSentenceDetectorTest.java | 0
.../DefaultEndOfSentenceScannerTest.java | 0
.../sentdetect/DefaultSDContextGeneratorTest.java | 0
.../sentdetect/DummySentenceDetectorFactory.java | 0
.../sentdetect/NewlineSentenceDetectorTest.java | 0
.../tools/sentdetect/SDEventStreamTest.java | 0
.../sentdetect/SentenceDetectorFactoryTest.java | 0
.../sentdetect/SentenceDetectorMEDutchTest.java | 0
.../sentdetect/SentenceDetectorMEFrenchTest.java | 0
.../sentdetect/SentenceDetectorMEGermanTest.java | 0
.../tools/sentdetect/SentenceDetectorMEIT.java | 0
.../sentdetect/SentenceDetectorMEItalianTest.java | 0
.../sentdetect/SentenceDetectorMEPolishTest.java | 0
.../SentenceDetectorMEPortugueseTest.java | 0
.../sentdetect/SentenceDetectorMESpanishTest.java | 0
.../tools/sentdetect/SentenceDetectorMETest.java | 5 +-
.../tools/sentdetect/SentenceSampleTest.java | 4 +-
.../opennlp/tools/stemmer/PorterStemmerTest.java | 0
.../opennlp/tools/stemmer/SnowballStemmerTest.java | 0
.../tokenize/DetokenizationDictionaryTest.java | 0
.../tools/tokenize/DictionaryDetokenizerTest.java | 0
.../tools/tokenize/DummyTokenizerFactory.java | 0
.../tools/tokenize/SimpleTokenizerTest.java | 0
.../tools/tokenize/TokSpanEventStreamTest.java | 0
.../tools/tokenize/TokenSampleStreamTest.java | 0
.../opennlp/tools/tokenize/TokenSampleTest.java | 0
.../tools/tokenize/TokenizerFactoryTest.java | 0
.../java/opennlp/tools/tokenize/TokenizerMEIT.java | 0
.../opennlp/tools/tokenize/TokenizerMETest.java | 5 +-
.../opennlp/tools/tokenize/TokenizerModelTest.java | 0
.../opennlp/tools/tokenize/TokenizerTestUtil.java | 9 +-
.../tools/tokenize/WhitespaceTokenStreamTest.java | 0
.../tools/tokenize/WhitespaceTokenizerTest.java | 0
.../tools/tokenize/WordpieceTokenizerTest.java | 0
.../opennlp/tools/util/MockInputStreamFactory.java | 36 +-
.../featuregen/BigramNameFeatureGeneratorTest.java | 0
.../BrownBigramFeatureGeneratorTest.java | 0
.../featuregen/CachedFeatureGeneratorTest.java | 0
.../CharacterNgramFeatureGeneratorTest.java | 0
.../util/featuregen/FeatureGeneratorUtilTest.java | 0
.../util/featuregen/GeneratorFactoryTest.java | 0
.../util/featuregen/IdentityFeatureGenerator.java | 0
.../tools/util/featuregen/InSpanGeneratorTest.java | 0
.../POSTaggerNameFeatureGeneratorTest.java | 36 +-
.../featuregen/PosTaggerFeatureGeneratorTest.java | 0
.../featuregen/PrefixFeatureGeneratorTest.java | 0
.../PreviousMapFeatureGeneratorTest.java | 0
.../PreviousTwoMapFeatureGeneratorTest.java | 0
.../featuregen/SentenceFeatureGeneratorTest.java | 0
.../tools/util/featuregen/StringPatternTest.java | 0
.../featuregen/SuffixFeatureGeneratorTest.java | 0
.../featuregen/TokenClassFeatureGeneratorTest.java | 0
.../util/featuregen/TokenFeatureGeneratorTest.java | 0
.../TokenPatternFeatureGeneratorTest.java | 0
.../TrigramNameFeatureGeneratorTest.java | 0
.../featuregen/WindowFeatureGeneratorTest.java | 0
.../opennlp/maxent/io/rvfes-bug-data-broken.txt | 0
.../data/opennlp/maxent/io/rvfes-bug-data-ok.txt | 0
.../maxent/real-valued-weights-training-data.txt | 0
.../maxent/repeat-weighting-training-data.txt | 0
.../src/test/resources/data/ppa/NOTICE | 0
.../src/test/resources/data/ppa/bitstrings | 0
.../src/test/resources/data/ppa/devset | 0
.../src/test/resources/data/ppa/test | 0
.../src/test/resources/data/ppa/training | 0
.../src/test/resources/logback-test.xml | 40 ++
.../opennlp/tools/chunker/chunker170custom.bin | Bin
.../opennlp/tools/chunker/chunker170default.bin | Bin
.../opennlp/tools/chunker/chunker180custom.bin | Bin
.../resources/opennlp/tools/chunker/output.txt | 60 +++
.../opennlp/tools/chunker/test-insufficient.txt | 0
.../test/resources/opennlp/tools/chunker/test.txt | 0
.../opennlp/tools/doccat/DoccatSample.txt | 100 ++++
.../opennlp/tools/formats/brown-cluster.txt | 0
.../test/resources/opennlp/tools/lang/abb_DE.xml | 0
.../test/resources/opennlp/tools/lang/abb_EN.xml | 0
.../test/resources/opennlp/tools/lang/abb_ES.xml | 0
.../test/resources/opennlp/tools/lang/abb_FR.xml | 0
.../test/resources/opennlp/tools/lang/abb_IT.xml | 0
.../test/resources/opennlp/tools/lang/abb_NL.xml | 0
.../test/resources/opennlp/tools/lang/abb_PL.xml | 0
.../test/resources/opennlp/tools/lang/abb_PT.xml | 0
.../opennlp/tools/languagemodel/sentences.txt | 0
.../resources/opennlp/tools/lemmatizer/output.txt | 506 ++++++++++++++++++
.../opennlp/tools/lemmatizer/smalldictionary.dict | 0
.../tools/lemmatizer/smalldictionarymulti.dict | 0
.../tools/lemmatizer/trial.old-insufficient.tsv | 0
.../opennlp/tools/lemmatizer/trial.old.tsv | 0
.../resources/opennlp/tools/ml/maxent/football.dat | 0
.../opennlp/tools/namefind/AnnotatedSentences.txt | 68 ++-
.../namefind/AnnotatedSentencesInsufficient.txt | 5 +
.../tools/namefind/AnnotatedSentencesWithTypes.txt | 88 ++-
.../tools/namefind/OnlyWithEntitiesWithTypes.train | 0
.../opennlp/tools/namefind/OnlyWithNames.train | 0
.../tools/namefind/OnlyWithNamesWithTypes.train | 0
.../namefind/RandomNewsWithGeneratedDates_DE.train | 0
.../namefind/RandomNewsWithGeneratedDates_EN.train | 0
.../resources/opennlp/tools/namefind/html1.train | 0
.../tools/namefind/ner-pos-features-v15.xml | 43 ++
.../opennlp/tools/namefind/ner-pos-features.xml | 43 ++
.../tools/namefind/origin-training-data.txt | 0
.../resources/opennlp/tools/namefind/voa1.train | 19 +
.../resources/opennlp/tools/namefind/voa2.train | 0
.../opennlp/tools/ngram/ngram-model-no-count.xml | 0
.../tools/ngram/ngram-model-not-a-number.xml | 0
.../resources/opennlp/tools/ngram/ngram-model.xml | 0
.../resources/opennlp/tools/parser/en_head_rules | 24 +
.../resources/opennlp/tools/parser/parser.train | 154 ++++++
.../test/resources/opennlp/tools/parser/test.parse | 0
.../opennlp/tools/postag}/AnnotatedSentences.txt | 0
.../postag/AnnotatedSentencesInsufficient.txt | 0
.../tools/postag/TagDictionaryCaseInsensitive.xml | 0
.../tools/postag/TagDictionaryCaseSensitive.xml | 0
.../postag/TagDictionaryWithoutCaseAttribute.xml | 0
.../opennlp/tools/sentdetect/Sentences.txt | 0
.../tools/sentdetect/SentencesInsufficient.txt | 0
.../opennlp/tools/sentdetect/Sentences_DE.txt | 0
.../opennlp/tools/sentdetect/Sentences_ES.txt | 0
.../opennlp/tools/sentdetect/Sentences_FR.txt | 0
.../opennlp/tools/sentdetect/Sentences_IT.txt | 0
.../opennlp/tools/sentdetect/Sentences_NL.txt | 0
.../opennlp/tools/sentdetect/Sentences_PL.txt | 0
.../opennlp/tools/sentdetect/Sentences_PT.txt | 0
.../tools/sentdetect/Test-Sample_OPENNLP-1163.txt | 0
.../tools/sentdetect/origin-training-data.txt | 0
.../opennlp/tools/tokenize/latin-detokenizer.xml | 77 +++
.../tools/tokenize/token-insufficient.train | 0
.../resources/opennlp/tools/tokenize/token.train | 0
.../tools/util/featuregen/DictionaryTest.xml | 0
.../FeatureGeneratorConfigWithUnkownElement.xml | 0
...tomaticallyInsertAggregatedFeatureGenerator.xml | 0
...icallyInsertAggregatedFeatureGeneratorCache.xml | 0
.../TestDictionarySerializerMappingExtraction.xml | 0
.../util/featuregen/TestFeatureGeneratorConfig.xml | 0
.../TestInsertCachedFeatureGenerator.xml | 0
...tomaticallyInsertAggregatedFeatureGenerator.xml | 0
...icallyInsertAggregatedFeatureGeneratorCache.xml | 0
.../tools/util/featuregen/TestParametersConfig.xml | 0
.../TestTokenClassFeatureGeneratorConfig.xml | 0
opennlp-core/pom.xml | 26 +
opennlp-distr/pom.xml | 26 +-
.../opennlp-morfologik}/bin/morfologik-addon | 0
.../opennlp-morfologik}/bin/morfologik-addon.bat | 0
.../opennlp-morfologik}/pom.xml | 68 ++-
.../src/main/bin/morfologik-addon | 0
.../src/main/bin/morfologik-addon.bat | 0
.../builder/MorfologikDictionaryBuilder.java | 0
.../main/java/opennlp/morfologik/cmdline/CLI.java | 0
.../builder/MorfologikDictionaryBuilderParams.java | 0
.../builder/MorfologikDictionaryBuilderTool.java | 0
.../builder/XMLDictionaryToTableParams.java | 0
.../cmdline/builder/XMLDictionaryToTableTool.java | 0
.../lemmatizer/MorfologikLemmatizer.java | 0
.../tagdict/MorfologikPOSTaggerFactory.java | 0
.../tagdict/MorfologikTagDictionary.java | 0
.../opennlp/morfologik/util/MorfologikUtil.java | 0
.../opennlp/morfologik/AbstractMorfologikTest.java | 0
.../builder/MorfologikDictionaryBuilderTest.java | 0
.../lemmatizer/MorfologikLemmatizerTest.java | 0
.../tagdict/MorfologikPOSTaggerFactoryTest.java | 0
.../tagdict/MorfologikTagDictionaryTest.java | 0
.../src/test/resources/AnnotatedSentences.txt | 0
.../src/test/resources/dictionaryWithLemma.dict | Bin
.../src/test/resources/dictionaryWithLemma.info | 0
.../src/test/resources/dictionaryWithLemma.txt | 0
.../opennlp-uima}/createPear.xml | 0
.../opennlp-uima}/descriptors/Chunker.xml | 0
.../opennlp-uima}/descriptors/DateNameFinder.xml | 0
.../opennlp-uima}/descriptors/LanguageDetector.xml | 0
.../descriptors/LocationNameFinder.xml | 0
.../opennlp-uima}/descriptors/MoneyNameFinder.xml | 0
.../descriptors/OpenNlpTextAnalyzer.xml | 0
.../descriptors/OrganizationNameFinder.xml | 0
.../opennlp-uima}/descriptors/Parser.xml | 0
.../descriptors/PercentageNameFinder.xml | 0
.../opennlp-uima}/descriptors/PersonNameFinder.xml | 0
.../opennlp-uima}/descriptors/PosTagger.xml | 0
.../opennlp-uima}/descriptors/SentenceDetector.xml | 0
.../opennlp-uima}/descriptors/SimpleTokenizer.xml | 0
.../opennlp-uima}/descriptors/TimeNameFinder.xml | 0
.../opennlp-uima}/descriptors/Tokenizer.xml | 0
.../opennlp-uima}/descriptors/TypeSystem.xml | 0
.../opennlp-uima}/metadata/install.xml | 0
.../opennlp-uima}/pom.xml | 16 +-
.../main/java/opennlp/uima/chunker/Chunker.java | 0
.../opennlp/uima/chunker/ChunkerModelResource.java | 0
.../uima/chunker/ChunkerModelResourceImpl.java | 0
.../main/java/opennlp/uima/chunker/package.html | 0
.../uima/dictionary/DictionaryResource.java | 0
.../uima/dictionary/DictionaryResourceImpl.java | 0
.../uima/doccat/AbstractDocumentCategorizer.java | 0
.../opennlp/uima/doccat/DoccatModelResource.java | 0
.../uima/doccat/DoccatModelResourceImpl.java | 0
.../opennlp/uima/doccat/DocumentCategorizer.java | 0
.../java/opennlp/uima/doccat/LanguageDetector.java | 0
.../opennlp/uima/namefind/AbstractNameFinder.java | 0
.../uima/namefind/DictionaryNameFinder.java | 0
.../java/opennlp/uima/namefind/NameFinder.java | 0
.../namefind/TokenNameFinderModelResource.java | 0
.../namefind/TokenNameFinderModelResourceImpl.java | 0
.../main/java/opennlp/uima/namefind/package.html | 0
.../java/opennlp/uima/normalizer/Normalizer.java | 0
.../java/opennlp/uima/normalizer/NumberUtil.java | 0
.../opennlp/uima/normalizer/StringDictionary.java | 0
.../src/main/java/opennlp/uima/parser/Parser.java | 0
.../opennlp/uima/parser/ParserModelResource.java | 0
.../uima/parser/ParserModelResourceImpl.java | 0
.../java/opennlp/uima/postag/POSModelResource.java | 0
.../opennlp/uima/postag/POSModelResourceImpl.java | 0
.../main/java/opennlp/uima/postag/POSTagger.java | 0
.../src/main/java/opennlp/uima/postag/package.html | 0
.../uima/sentdetect/AbstractSentenceDetector.java | 0
.../opennlp/uima/sentdetect/SentenceDetector.java | 0
.../uima/sentdetect/SentenceModelResource.java | 0
.../uima/sentdetect/SentenceModelResourceImpl.java | 0
.../main/java/opennlp/uima/sentdetect/package.html | 0
.../opennlp/uima/tokenize/AbstractTokenizer.java | 0
.../opennlp/uima/tokenize/SimpleTokenizer.java | 0
.../main/java/opennlp/uima/tokenize/Tokenizer.java | 0
.../uima/tokenize/TokenizerModelResource.java | 0
.../uima/tokenize/TokenizerModelResourceImpl.java | 0
.../opennlp/uima/tokenize/WhitespaceTokenizer.java | 0
.../main/java/opennlp/uima/tokenize/package.html | 0
.../opennlp/uima/util/AbstractModelResource.java | 0
.../opennlp/uima/util/AnnotationComboIterator.java | 0
.../opennlp/uima/util/AnnotationComparator.java | 0
.../opennlp/uima/util/AnnotationIteratorPair.java | 0
.../main/java/opennlp/uima/util/AnnotatorUtil.java | 0
.../opennlp/uima/util/ContainingConstraint.java | 0
.../java/opennlp/uima/util/ExceptionMessages.java | 0
.../util/OpenNlpAnnotatorProcessException.java | 0
.../main/java/opennlp/uima/util/OpennlpUtil.java | 0
.../src/main/java/opennlp/uima/util/UimaUtil.java | 0
.../uima/util/ExceptionMessages_en.properties | 0
.../src/test/java/opennlp/uima/AbstractIT.java | 0
.../src/test/java/opennlp/uima/AbstractTest.java | 0
.../test/java/opennlp/uima/AbstractUimaTest.java | 0
.../java/opennlp/uima/FullAnnotatorsFlowIT.java | 0
.../test/java/opennlp/uima/SingleAnnotatorIT.java | 0
.../uima/dictionary/DictionaryResourceTest.java | 0
.../opennlp/uima/normalizer/NumberUtilTest.java | 0
.../uima/normalizer/StringDictionaryTest.java | 0
.../uima/util/AnnotationComboIteratorTest.java | 0
.../uima/util/AnnotationComparatorTest.java | 0
.../java/opennlp/uima/util/AnnotatorUtilTest.java | 0
.../src/test/java/opennlp/uima/util/CasUtil.java | 0
.../java/opennlp/uima/util/OpennlpUtilTest.java | 0
.../test/java/opennlp/uima/util/UimaUtilTest.java | 0
.../src/test/resources/cas/OPENNLP-676.xmi | 0
.../src/test/resources/cas/dictionary-test.xmi | 0
.../src/test/resources/dictionary.dic | 0
.../src/test/resources/simplelogger.properties | 0
.../test/resources/test-descriptors/Chunker.xml | 0
.../resources/test-descriptors/DateNameFinder.xml | 0
.../test-descriptors/DictionaryNameFinder.xml | 0
.../test-descriptors/LocationNameFinder.xml | 0
.../resources/test-descriptors/MoneyNameFinder.xml | 0
.../test-descriptors/OpenNlpTextAnalyzer.xml | 0
.../test-descriptors/OrganizationNameFinder.xml | 0
.../src/test/resources/test-descriptors/Parser.xml | 0
.../test-descriptors/PercentageNameFinder.xml | 0
.../test-descriptors/PersonNameFinder.xml | 0
.../test/resources/test-descriptors/PosTagger.xml | 0
.../test-descriptors/SentenceDetector.xml | 0
.../resources/test-descriptors/SimpleTokenizer.xml | 0
.../resources/test-descriptors/TimeNameFinder.xml | 0
.../test/resources/test-descriptors/Tokenizer.xml | 0
.../test/resources/test-descriptors/TypeSystem.xml | 0
.../test-descriptors/WhitespaceTokenizer.xml | 0
.../test/resources/training-params-invalid.conf | 0
.../src/test/resources/training-params-test.conf | 0
.../lang/abb_PT.xml => opennlp-extensions/pom.xml | 38 +-
opennlp-morfologik-addon/pom.xml | 88 ---
opennlp-tools-models/pom.xml | 133 -----
opennlp-tools/pom.xml | 73 +--
.../opennlp/tools/util/TrainingParameters.java | 592 ---------------------
.../tools/chunker/DummyChunkSampleStream.java | 2 +-
.../java/opennlp/tools/eval/AbstractEvalTest.java | 13 +-
.../opennlp/tools/eval/OntoNotes4ParserEval.java | 5 +-
.../langdetect/LanguageDetectorEvaluatorTest.java | 33 +-
.../tools/namefind/AbstractNameFinderTest.java | 47 +-
.../TokenNameFinderCrossValidatorTest.java | 19 +-
.../tools/namefind/TokenNameFinderModelTest.java | 40 +-
.../opennlp/tools/postag/POSEvaluatorTest.java | 26 +-
.../sentdetect/SentenceDetectorEvaluatorTest.java | 23 +-
.../tools/tokenize/DetokenizerEvaluatorTest.java | 26 +-
.../tools/tokenize/TokenizerEvaluatorTest.java | 26 +-
.../opennlp/tools/util/TrainingParametersTest.java | 38 +-
.../util/wordvector/AbstractWordVectorTest.java | 4 +-
pom.xml | 54 +-
1386 files changed, 4206 insertions(+), 1889 deletions(-)
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/lang/abb_PT.xml b/opennlp-api/pom.xml
similarity index 54%
copy from opennlp-tools/src/test/resources/opennlp/tools/lang/abb_PT.xml
copy to opennlp-api/pom.xml
index c7e25f76..ae9a91a7 100644
--- a/opennlp-tools/src/test/resources/opennlp/tools/lang/abb_PT.xml
+++ b/opennlp-api/pom.xml
@@ -19,19 +19,26 @@
under the License.
-->
-<!--
-This file was created with the list of abbreviations from the
-Academia de Letras: https://www.academia.org.br/nossa-lingua/reducoes
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ </parent>
-The JavaScript code snippet to parse the HTML and produce the list below
-can be found at the JIRA issue: https://issues.apache.org/jira/browse/OPENNLP-1531
--->
+ <artifactId>opennlp-api</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache OpenNLP API</name>
-<dictionary case_sensitive="false">
- <entry>
- <token>d.</token>
- </entry>
- <entry>
- <token>sr.</token>
- </entry>
-</dictionary>
+ <dependencies>
+ <!-- External dependencies -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSample.java b/opennlp-api/src/main/java/opennlp/tools/chunker/ChunkSample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSample.java
rename to opennlp-api/src/main/java/opennlp/tools/chunker/ChunkSample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/Chunker.java b/opennlp-api/src/main/java/opennlp/tools/chunker/Chunker.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/Chunker.java
rename to opennlp-api/src/main/java/opennlp/tools/chunker/Chunker.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/chunker/ChunkerContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/chunker/ChunkerContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/chunker/ChunkerEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/chunker/ChunkerEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
similarity index 90%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
index c7e25cc1..e01bff53 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
+++ b/opennlp-api/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
@@ -228,7 +228,7 @@ public class ArgumentParser {
/**
* Auxiliary record that holds information about an argument. This is used by the
- * {@link GenerateManualTool}, which creates a Docbook for the CLI automatically.
+ * {@code GenerateManualTool}, which creates a Docbook for the CLI automatically.
*/
record Argument(String argument, String value, String description, boolean optional) {
@@ -331,10 +331,10 @@ public class ArgumentParser {
}
}
- if (usage.length() > 0)
+ if (!usage.isEmpty())
usage.setLength(usage.length() - 1);
- if (details.length() > 0) {
+ if (!details.isEmpty()) {
details.setLength(details.length() - 1);
usage.append("\n\nArguments description:\n").append(details);
}
@@ -398,8 +398,8 @@ public class ArgumentParser {
for (Class<?> argProxyInterface : argProxyInterfaces) {
for (Method method : argProxyInterface.getMethods()) {
String paramName = methodNameToParameter(method.getName());
- int paramIndex = CmdLineUtil.getParameterIndex(paramName, args);
- String valueString = CmdLineUtil.getParameter(paramName, args);
+ int paramIndex = getParameterIndex(paramName, args);
+ String valueString = getParameter(paramName, args);
if (valueString == null) {
OptionalParameter optionalParam = method.getAnnotation(OptionalParameter.class);
@@ -456,7 +456,7 @@ public class ArgumentParser {
for (Method method : argProxyInterface.getMethods()) {
String parameterName = methodNameToParameter(method.getName());
- String valueString = CmdLineUtil.getParameter(parameterName, args);
+ String valueString = getParameter(parameterName, args);
if (valueString == null) {
OptionalParameter optionalParam = method.getAnnotation(OptionalParameter.class);
@@ -503,10 +503,10 @@ public class ArgumentParser {
for (Method method : argProxyInterface.getMethods()) {
String parameterName = methodNameToParameter(method.getName());
- int idx = CmdLineUtil.getParameterIndex(parameterName, args);
+ int idx = getParameterIndex(parameterName, args);
if (-1 < idx) {
parameters.add(parameterName);
- String valueString = CmdLineUtil.getParameter(parameterName, args);
+ String valueString = getParameter(parameterName, args);
if (null != valueString) {
parameters.add(valueString);
}
@@ -515,4 +515,61 @@ public class ArgumentParser {
return parameters.toArray(new String[0]);
}
+
+ /**
+ * Retrieves the specified parameter from the specified arguments.
+ *
+ * @param param parameter name
+ * @param args arguments
+ * @return parameter value
+ */
+ private static Integer getIntParameter(String param, String[] args) {
+ String value = getParameter(param, args);
+
+ try {
+ if (value != null)
+ return Integer.parseInt(value);
+ }
+ catch (NumberFormatException ignored) {
+ // in this case return null
+ }
+
+ return null;
+ }
+
+ /**
+ * Retrieves the specified parameter from the given arguments.
+ *
+ * @param param parameter name
+ * @param args arguments
+ * @return parameter value
+ */
+ private static String getParameter(String param, String[] args) {
+ int i = getParameterIndex(param, args);
+ if (-1 < i) {
+ i++;
+ if (i < args.length) {
+ return args[i];
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Returns the index of the parameter in the arguments, or {@code -1} if the parameter is not found.
+ *
+ * @param param parameter name
+ * @param args arguments
+ * @return the index of the parameter in the arguments, or {@code -1} if the parameter is not found
+ */
+ private static int getParameterIndex(String param, String[] args) {
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].startsWith("-") && args[i].equals(param)) {
+ return i;
+ }
+ }
+
+ return -1;
+ }
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/ObjectStreamFactory.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/ObjectStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/ObjectStreamFactory.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/ObjectStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/TerminateToolException.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/TerminateToolException.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/TerminateToolException.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/TerminateToolException.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/BasicFormatParams.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/BasicFormatParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/BasicFormatParams.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/BasicFormatParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/BasicTrainingParams.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/BasicTrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/BasicTrainingParams.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/BasicTrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/CVParams.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/CVParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/CVParams.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/CVParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/DetokenizerParameter.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/DetokenizerParameter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/DetokenizerParameter.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/DetokenizerParameter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/EncodingParameter.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/EncodingParameter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/EncodingParameter.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/EncodingParameter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/EvaluatorParams.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/EvaluatorParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/EvaluatorParams.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/EvaluatorParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/FineGrainedEvaluatorParams.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/FineGrainedEvaluatorParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/FineGrainedEvaluatorParams.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/FineGrainedEvaluatorParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/LanguageParams.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/LanguageParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/LanguageParams.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/LanguageParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/params/TrainingToolParams.java b/opennlp-api/src/main/java/opennlp/tools/cmdline/params/TrainingToolParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/params/TrainingToolParams.java
rename to opennlp-api/src/main/java/opennlp/tools/cmdline/params/TrainingToolParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/commons/Internal.java b/opennlp-api/src/main/java/opennlp/tools/commons/Internal.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/commons/Internal.java
rename to opennlp-api/src/main/java/opennlp/tools/commons/Internal.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/commons/Sample.java b/opennlp-api/src/main/java/opennlp/tools/commons/Sample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/commons/Sample.java
rename to opennlp-api/src/main/java/opennlp/tools/commons/Sample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/commons/ThreadSafe.java b/opennlp-api/src/main/java/opennlp/tools/commons/ThreadSafe.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/commons/ThreadSafe.java
rename to opennlp-api/src/main/java/opennlp/tools/commons/ThreadSafe.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/commons/Trainer.java b/opennlp-api/src/main/java/opennlp/tools/commons/Trainer.java
similarity index 69%
rename from opennlp-tools/src/main/java/opennlp/tools/commons/Trainer.java
rename to opennlp-api/src/main/java/opennlp/tools/commons/Trainer.java
index ce8ed022..f5d6faa8 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/commons/Trainer.java
+++ b/opennlp-api/src/main/java/opennlp/tools/commons/Trainer.java
@@ -19,31 +19,32 @@ package opennlp.tools.commons;
import java.util.Map;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingConfiguration;
-import opennlp.tools.util.TrainingParameters;
/**
* Represents a common base for training implementations.
*/
-public interface Trainer {
+public interface Trainer<P extends Parameters> {
/**
* Conducts the initialization of an {@link Trainer} via
- * {@link TrainingParameters} and a {@link Map report map}.
+ * {@link Parameters} and a {@link Map report map}.
*
- * @param trainParams The {@link TrainingParameters} to use.
+ * @param trainParams The {@link Parameters} to use.
* @param reportMap The {@link Map} instance used as report map.
*/
- void init(TrainingParameters trainParams, Map<String, String> reportMap);
+ void init(P trainParams, Map<String, String> reportMap);
/**
* Conducts the initialization of a {@link Trainer} via
- * {@link TrainingParameters}, {@link Map report map} and {@link TrainingConfiguration}
+ * {@link Parameters}, {@link Map report map} and {@link TrainingConfiguration}
*
- * @param trainParams The {@link TrainingParameters} to use.
+ * @param trainParams The {@link Parameters} to use.
* @param reportMap The {@link Map} instance used as report map.
- * @param config The {@link TrainingConfiguration} to use. If null, suitable defaults will be used.
+ * @param config The {@link TrainingConfiguration} to use.
+ * If {@code null}, suitable defaults will be used.
*/
- void init(TrainingParameters trainParams, Map<String, String> reportMap, TrainingConfiguration config);
+ void init(P trainParams, Map<String, String> reportMap, TrainingConfiguration config);
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/commons/package-info.java b/opennlp-api/src/main/java/opennlp/tools/commons/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/commons/package-info.java
rename to opennlp-api/src/main/java/opennlp/tools/commons/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/doccat/DoccatEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/doccat/DoccatEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizer.java b/opennlp-api/src/main/java/opennlp/tools/doccat/DocumentCategorizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizer.java
rename to opennlp-api/src/main/java/opennlp/tools/doccat/DocumentCategorizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSample.java b/opennlp-api/src/main/java/opennlp/tools/doccat/DocumentSample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSample.java
rename to opennlp-api/src/main/java/opennlp/tools/doccat/DocumentSample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/FeatureGenerator.java b/opennlp-api/src/main/java/opennlp/tools/doccat/FeatureGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/FeatureGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/doccat/FeatureGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/BaseLink.java b/opennlp-api/src/main/java/opennlp/tools/entitylinker/BaseLink.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/entitylinker/BaseLink.java
rename to opennlp-api/src/main/java/opennlp/tools/entitylinker/BaseLink.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinker.java b/opennlp-api/src/main/java/opennlp/tools/entitylinker/EntityLinker.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinker.java
rename to opennlp-api/src/main/java/opennlp/tools/entitylinker/EntityLinker.java
index 2430445a..d4420c6c 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinker.java
+++ b/opennlp-api/src/main/java/opennlp/tools/entitylinker/EntityLinker.java
@@ -40,11 +40,11 @@ public interface EntityLinker<T extends Span> {
/**
* Initializes an {@link EntityLinker} and allows for passing properties
- * through the {@link EntityLinkerFactory} into all impls dynamically.
+ * through an {@code EntityLinkerFactory} into all impls dynamically.
* <p>
* {@link EntityLinker} impls should initialize reusable objects
* used by the impl in this method. If this is done, any errors will be
- * captured and thrown by the {@link EntityLinkerFactory}.
+ * captured and thrown by an {@code EntityLinkerFactory}.
*
* @param initializationData The {@link EntityLinkerProperties} that contains
* properties needed by the impl, as well as any
diff --git a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinkerProperties.java b/opennlp-api/src/main/java/opennlp/tools/entitylinker/EntityLinkerProperties.java
similarity index 98%
rename from opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinkerProperties.java
rename to opennlp-api/src/main/java/opennlp/tools/entitylinker/EntityLinkerProperties.java
index fab8c4b3..72fe116b 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinkerProperties.java
+++ b/opennlp-api/src/main/java/opennlp/tools/entitylinker/EntityLinkerProperties.java
@@ -26,8 +26,6 @@ import java.util.Properties;
/**
* Properties wrapper for {@link EntityLinker} implementations.
- *
- * @see EntityLinkerFactory
*/
public class EntityLinkerProperties {
diff --git a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/LinkedSpan.java b/opennlp-api/src/main/java/opennlp/tools/entitylinker/LinkedSpan.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/entitylinker/LinkedSpan.java
rename to opennlp-api/src/main/java/opennlp/tools/entitylinker/LinkedSpan.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/Language.java b/opennlp-api/src/main/java/opennlp/tools/langdetect/Language.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/Language.java
rename to opennlp-api/src/main/java/opennlp/tools/langdetect/Language.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetector.java b/opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageDetector.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetector.java
rename to opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageDetector.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageDetectorContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageDetectorContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageSample.java b/opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageSample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageSample.java
rename to opennlp-api/src/main/java/opennlp/tools/langdetect/LanguageSample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/LanguageModel.java b/opennlp-api/src/main/java/opennlp/tools/languagemodel/LanguageModel.java
similarity index 93%
rename from opennlp-tools/src/main/java/opennlp/tools/languagemodel/LanguageModel.java
rename to opennlp-api/src/main/java/opennlp/tools/languagemodel/LanguageModel.java
index 6453f627..50eab9a6 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/LanguageModel.java
+++ b/opennlp-api/src/main/java/opennlp/tools/languagemodel/LanguageModel.java
@@ -19,7 +19,7 @@ package opennlp.tools.languagemodel;
/**
* A language model can calculate the probability <i>p</i> (between 0 and 1) of a
- * certain {@link opennlp.tools.util.StringList sequence of tokens}, given its underlying vocabulary.
+ * certain sequence of tokens, given its underlying vocabulary.
*/
public interface LanguageModel {
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSample.java b/opennlp-api/src/main/java/opennlp/tools/lemmatizer/LemmaSample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSample.java
rename to opennlp-api/src/main/java/opennlp/tools/lemmatizer/LemmaSample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/Lemmatizer.java b/opennlp-api/src/main/java/opennlp/tools/lemmatizer/Lemmatizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/Lemmatizer.java
rename to opennlp-api/src/main/java/opennlp/tools/lemmatizer/Lemmatizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/lemmatizer/LemmatizerContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/lemmatizer/LemmatizerContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/ArrayMath.java b/opennlp-api/src/main/java/opennlp/tools/ml/ArrayMath.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/ArrayMath.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/ArrayMath.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/EventModelSequenceTrainer.java b/opennlp-api/src/main/java/opennlp/tools/ml/EventModelSequenceTrainer.java
similarity index 92%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/EventModelSequenceTrainer.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/EventModelSequenceTrainer.java
index 27d2a75c..628e3c30 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/EventModelSequenceTrainer.java
+++ b/opennlp-api/src/main/java/opennlp/tools/ml/EventModelSequenceTrainer.java
@@ -22,12 +22,13 @@ import java.io.IOException;
import opennlp.tools.commons.Trainer;
import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.ml.model.SequenceStream;
+import opennlp.tools.util.Parameters;
/**
* A specialized {@link Trainer} that is based on a 'EventModelSequence' approach.
* @param <T> The generic type of elements to process via a {@link SequenceStream}.
*/
-public interface EventModelSequenceTrainer<T> extends Trainer {
+public interface EventModelSequenceTrainer<T, P extends Parameters> extends Trainer<P> {
String SEQUENCE_VALUE = "EventModelSequence";
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/EventTrainer.java b/opennlp-api/src/main/java/opennlp/tools/ml/EventTrainer.java
similarity index 91%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/EventTrainer.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/EventTrainer.java
index d426888c..ec9bb235 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/EventTrainer.java
+++ b/opennlp-api/src/main/java/opennlp/tools/ml/EventTrainer.java
@@ -24,11 +24,12 @@ import opennlp.tools.ml.model.DataIndexer;
import opennlp.tools.ml.model.Event;
import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
/**
* A specialized {@link Trainer} that is based on an {@link Event} approach.
*/
-public interface EventTrainer extends Trainer {
+public interface EventTrainer<P extends Parameters> extends Trainer<P> {
String EVENT_VALUE = "Event";
@@ -50,5 +51,5 @@ public interface EventTrainer extends Trainer {
* @return The trained {@link MaxentModel}.
* @throws IOException Thrown if IO errors occurred.
*/
- MaxentModel train(DataIndexer indexer) throws IOException;
+ MaxentModel train(DataIndexer<P> indexer) throws IOException;
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/SequenceTrainer.java b/opennlp-api/src/main/java/opennlp/tools/ml/SequenceTrainer.java
similarity index 91%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/SequenceTrainer.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/SequenceTrainer.java
index 1280dfcc..21ec7c08 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/SequenceTrainer.java
+++ b/opennlp-api/src/main/java/opennlp/tools/ml/SequenceTrainer.java
@@ -22,13 +22,14 @@ import java.io.IOException;
import opennlp.tools.commons.Trainer;
import opennlp.tools.ml.model.SequenceClassificationModel;
import opennlp.tools.ml.model.SequenceStream;
+import opennlp.tools.util.Parameters;
-public interface SequenceTrainer extends Trainer {
+public interface SequenceTrainer<P extends Parameters> extends Trainer<P> {
String SEQUENCE_VALUE = "Sequence";
/**
- * Trains a {@link SequenceClassificationModel} for given {@link SequenceStream<T> events}.
+ * Trains a {@link SequenceClassificationModel} for given {@link SequenceStream <T> events}.
*
* @param events The input {@link SequenceStream<T> events}.
* @param <T> The generic type of elements to process via the {@link SequenceStream}.
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/Context.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/Context.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/Context.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/Context.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexer.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/DataIndexer.java
similarity index 89%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexer.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/DataIndexer.java
index 3849e6f3..4c29f3de 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexer.java
+++ b/opennlp-api/src/main/java/opennlp/tools/ml/model/DataIndexer.java
@@ -21,15 +21,15 @@ import java.io.IOException;
import java.util.Map;
import opennlp.tools.util.ObjectStream;
-import opennlp.tools.util.TrainingParameters;
+import opennlp.tools.util.Parameters;
/**
* Represents an indexer which compresses events in memory and performs feature selection.
*
* @see ObjectStream
- * @see TrainingParameters
+ * @see Parameters
*/
-public interface DataIndexer {
+public interface DataIndexer<P extends Parameters> {
/**
* @return Retrieves a 2-dimensional array whose first dimension is the event
@@ -78,16 +78,16 @@ public interface DataIndexer {
/**
* Sets parameters used during the data indexing.
*
- * @param trainParams The {@link TrainingParameters} to be used.
+ * @param trainParams The {@link Parameters} to be used.
* @param reportMap The {@link Map} used for reporting.
*/
- void init(TrainingParameters trainParams, Map<String,String> reportMap);
+ void init(P trainParams, Map<String,String> reportMap);
/**
* Performs the data indexing.
* <p>
* <b>Note:</b>
- * Make sure the {@link #init(TrainingParameters, Map)} method is called first.
+ * Make sure the {@link #init(Parameters, Map)} method is called first.
*
* @param eventStream A {@link ObjectStream<Event>} of events used as input.
*
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataReader.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/DataReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/DataReader.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/DataReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/Event.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/Event.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/Event.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/Event.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/MaxentModel.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/MaxentModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/MaxentModel.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/MaxentModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/Prior.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/Prior.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/Prior.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/Prior.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/Sequence.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/Sequence.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/Sequence.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/Sequence.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/SequenceClassificationModel.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/SequenceClassificationModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/SequenceClassificationModel.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/SequenceClassificationModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/SequenceStream.java b/opennlp-api/src/main/java/opennlp/tools/ml/model/SequenceStream.java
similarity index 91%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/SequenceStream.java
rename to opennlp-api/src/main/java/opennlp/tools/ml/model/SequenceStream.java
index eb48f7f7..ca167e67 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/SequenceStream.java
+++ b/opennlp-api/src/main/java/opennlp/tools/ml/model/SequenceStream.java
@@ -32,10 +32,10 @@ public interface SequenceStream<S> extends ObjectStream<Sequence<S>> {
* for the specified {@link Sequence}.
*
* @param sequence The {@link Sequence} to be evaluated.
- * @param model The {@link AbstractModel model} to use.
+ * @param model The {@link MaxentModel model} to use.
*
* @return The resulting {@link Event} array.
*/
- Event[] updateContext(Sequence<S> sequence, AbstractModel model);
+ Event[] updateContext(Sequence<S> sequence, MaxentModel model);
}
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathLoaderException.java b/opennlp-api/src/main/java/opennlp/tools/models/ClassPathLoaderException.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathLoaderException.java
rename to opennlp-api/src/main/java/opennlp/tools/models/ClassPathLoaderException.java
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelEntry.java b/opennlp-api/src/main/java/opennlp/tools/models/ClassPathModelEntry.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelEntry.java
rename to opennlp-api/src/main/java/opennlp/tools/models/ClassPathModelEntry.java
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelFinder.java b/opennlp-api/src/main/java/opennlp/tools/models/ClassPathModelFinder.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelFinder.java
rename to opennlp-api/src/main/java/opennlp/tools/models/ClassPathModelFinder.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/models/ModelType.java b/opennlp-api/src/main/java/opennlp/tools/models/ModelType.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/models/ModelType.java
rename to opennlp-api/src/main/java/opennlp/tools/models/ModelType.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/monitoring/StopCriteria.java b/opennlp-api/src/main/java/opennlp/tools/monitoring/StopCriteria.java
similarity index 94%
rename from opennlp-tools/src/main/java/opennlp/tools/monitoring/StopCriteria.java
rename to opennlp-api/src/main/java/opennlp/tools/monitoring/StopCriteria.java
index 576aa7e5..16760529 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/monitoring/StopCriteria.java
+++ b/opennlp-api/src/main/java/opennlp/tools/monitoring/StopCriteria.java
@@ -19,14 +19,10 @@ package opennlp.tools.monitoring;
import java.util.function.Predicate;
-import opennlp.tools.ml.model.AbstractModel;
-
-
/**
* Stop criteria for model training. If the predicate is met, then the training is aborted.
*
* @see Predicate
- * @see AbstractModel
*/
public interface StopCriteria<T extends Number> extends Predicate<T> {
diff --git a/opennlp-tools/src/main/java/opennlp/tools/monitoring/TrainingMeasure.java b/opennlp-api/src/main/java/opennlp/tools/monitoring/TrainingMeasure.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/monitoring/TrainingMeasure.java
rename to opennlp-api/src/main/java/opennlp/tools/monitoring/TrainingMeasure.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/monitoring/TrainingProgressMonitor.java b/opennlp-api/src/main/java/opennlp/tools/monitoring/TrainingProgressMonitor.java
similarity index 95%
rename from opennlp-tools/src/main/java/opennlp/tools/monitoring/TrainingProgressMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/monitoring/TrainingProgressMonitor.java
index 23504870..87e69f62 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/monitoring/TrainingProgressMonitor.java
+++ b/opennlp-api/src/main/java/opennlp/tools/monitoring/TrainingProgressMonitor.java
@@ -17,10 +17,8 @@
package opennlp.tools.monitoring;
-import opennlp.tools.ml.model.AbstractModel;
-
/**
- * An interface to capture training progress of an {@link AbstractModel}.
+ * An interface to capture training progress of a model.
*/
public interface TrainingProgressMonitor {
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/DocumentNameFinder.java b/opennlp-api/src/main/java/opennlp/tools/namefind/DocumentNameFinder.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/DocumentNameFinder.java
rename to opennlp-api/src/main/java/opennlp/tools/namefind/DocumentNameFinder.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/namefind/NameContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/namefind/NameContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java b/opennlp-api/src/main/java/opennlp/tools/namefind/NameSample.java
similarity index 95%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java
rename to opennlp-api/src/main/java/opennlp/tools/namefind/NameSample.java
index db57fce7..795a2508 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSample.java
+++ b/opennlp-api/src/main/java/opennlp/tools/namefind/NameSample.java
@@ -18,6 +18,7 @@
package opennlp.tools.namefind;
import java.io.IOException;
+import java.io.Serial;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -35,7 +36,14 @@ import opennlp.tools.util.Span;
*/
public class NameSample implements Sample {
- private static final long serialVersionUID = 1655333056555270688L;
+ @Serial
+ private static final long serialVersionUID = 9042233753280831321L;
+
+ public static final String START_TAG_PREFIX = "<START:";
+ public static final String START_TAG = "<START>";
+ public static final String END_TAG = "<END>";
+
+
private final String id;
private final List<String> sentence;
private final List<Span> names;
@@ -202,14 +210,14 @@ public class NameSample implements Sample {
// check if nameTypes is null, or if the nameType for this specific
// entity is empty. If it is, we leave the nameType blank.
if (name.getType() == null) {
- result.append(NameSampleDataStream.START_TAG).append(' ');
+ result.append(START_TAG).append(' ');
}
else {
- result.append(NameSampleDataStream.START_TAG_PREFIX).append(name.getType()).append("> ");
+ result.append(START_TAG_PREFIX).append(name.getType()).append("> ");
}
}
if (name.getEnd() == tokenIndex) {
- result.append(NameSampleDataStream.END_TAG).append(' ');
+ result.append(END_TAG).append(' ');
}
}
@@ -221,7 +229,7 @@ public class NameSample implements Sample {
for (Span name : names) {
if (name.getEnd() == sentence.size()) {
- result.append(' ').append(NameSampleDataStream.END_TAG);
+ result.append(' ').append(END_TAG);
}
}
@@ -315,7 +323,7 @@ public class NameSample implements Sample {
}
}
- else if (parts[pi].equals(NameSampleDataStream.END_TAG)) {
+ else if (parts[pi].equals(END_TAG)) {
if (!catchingName) {
throw new IOException("Found unexpected annotation: " + errorTokenWithContext(parts, pi));
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinder.java b/opennlp-api/src/main/java/opennlp/tools/namefind/TokenNameFinder.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinder.java
rename to opennlp-api/src/main/java/opennlp/tools/namefind/TokenNameFinder.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/Constituent.java b/opennlp-api/src/main/java/opennlp/tools/parser/Constituent.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/Constituent.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/Constituent.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/GapLabeler.java b/opennlp-api/src/main/java/opennlp/tools/parser/GapLabeler.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/GapLabeler.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/GapLabeler.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/HeadRules.java b/opennlp-api/src/main/java/opennlp/tools/parser/HeadRules.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/HeadRules.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/HeadRules.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/Parse.java b/opennlp-api/src/main/java/opennlp/tools/parser/Parse.java
similarity index 98%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/Parse.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/Parse.java
index 3eaa7319..88d7bc05 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/parser/Parse.java
+++ b/opennlp-api/src/main/java/opennlp/tools/parser/Parse.java
@@ -372,7 +372,7 @@ public class Parse implements Cloneable, Comparable<Parse> {
public void show(StringBuffer sb) {
int start;
start = span.getStart();
- if (!type.equals(AbstractBottomUpParser.TOK_NODE)) {
+ if (!type.equals(Parser.TOK_NODE)) {
sb.append("(");
sb.append(type).append(" ");
if (logger.isTraceEnabled()) {
@@ -399,7 +399,7 @@ public class Parse implements Cloneable, Comparable<Parse> {
if (start < span.getEnd()) {
sb.append(encodeToken(text.substring(start, span.getEnd())));
}
- if (!type.equals(AbstractBottomUpParser.TOK_NODE)) {
+ if (!type.equals(Parser.TOK_NODE)) {
sb.append(")");
}
}
@@ -421,7 +421,7 @@ public class Parse implements Cloneable, Comparable<Parse> {
if (logger.isTraceEnabled()) {
logger.trace("Parse.getTagSequenceProb: {} {}",type, this);
}
- if (parts.size() == 1 && (parts.get(0)).type.equals(AbstractBottomUpParser.TOK_NODE)) {
+ if (parts.size() == 1 && (parts.get(0)).type.equals(Parser.TOK_NODE)) {
if (logger.isTraceEnabled()) {
logger.trace("{} {}", this, prob);
}
@@ -844,7 +844,7 @@ public class Parse implements Cloneable, Comparable<Parse> {
}
gl.labelGaps(stack);
} else {
- cons.add(new Constituent(AbstractBottomUpParser.TOK_NODE,
+ cons.add(new Constituent(Parser.TOK_NODE,
new Span(offset, offset + token.length())));
text.append(token).append(" ");
offset += token.length() + 1;
@@ -860,11 +860,11 @@ public class Parse implements Cloneable, Comparable<Parse> {
}
String txt = text.toString();
int tokenIndex = -1;
- Parse p = new Parse(txt, new Span(0, txt.length()), AbstractBottomUpParser.TOP_NODE, 1, 0);
+ Parse p = new Parse(txt, new Span(0, txt.length()), Parser.TOP_NODE, 1, 0);
for (Constituent con : cons) {
String type = con.getLabel();
- if (!type.equals(AbstractBottomUpParser.TOP_NODE)) {
- if (AbstractBottomUpParser.TOK_NODE.equals(type)) {
+ if (!type.equals(Parser.TOP_NODE)) {
+ if (Parser.TOK_NODE.equals(type)) {
tokenIndex++;
}
Parse c = new Parse(txt, con.getSpan(), type, 1, tokenIndex);
@@ -901,7 +901,7 @@ public class Parse implements Cloneable, Comparable<Parse> {
*/
public boolean isPosTag() {
return (parts.size() == 1 &&
- (parts.get(0)).getType().equals(AbstractBottomUpParser.TOK_NODE));
+ (parts.get(0)).getType().equals(Parser.TOK_NODE));
}
/**
@@ -947,7 +947,7 @@ public class Parse implements Cloneable, Comparable<Parse> {
List<Parse> nodes = new LinkedList<>(this.parts);
while (nodes.size() != 0) {
Parse p = nodes.remove(0);
- if (p.getType().equals(AbstractBottomUpParser.TOK_NODE)) {
+ if (p.getType().equals(Parser.TOK_NODE)) {
tokens.add(p);
} else {
nodes.addAll(0, p.parts);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/Parser.java b/opennlp-api/src/main/java/opennlp/tools/parser/Parser.java
similarity index 89%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/Parser.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/Parser.java
index 8b5d3a7e..107c11dc 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/parser/Parser.java
+++ b/opennlp-api/src/main/java/opennlp/tools/parser/Parser.java
@@ -22,6 +22,22 @@ package opennlp.tools.parser;
*/
public interface Parser {
+
+ /**
+ * The label for the top node.
+ */
+ String TOP_NODE = "TOP";
+
+ /**
+ * The label for the top if an incomplete node.
+ */
+ String INC_NODE = "INC";
+
+ /**
+ * The label for a token node.
+ */
+ String TOK_NODE = "TK";
+
/**
* Returns the specified number of parses or fewer for the specified tokens.
* <p>
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/parser/ParserEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/ParserEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserEventTypeEnum.java b/opennlp-api/src/main/java/opennlp/tools/parser/ParserEventTypeEnum.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserEventTypeEnum.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/ParserEventTypeEnum.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserType.java b/opennlp-api/src/main/java/opennlp/tools/parser/ParserType.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserType.java
rename to opennlp-api/src/main/java/opennlp/tools/parser/ParserType.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/MutableTagDictionary.java b/opennlp-api/src/main/java/opennlp/tools/postag/MutableTagDictionary.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/MutableTagDictionary.java
rename to opennlp-api/src/main/java/opennlp/tools/postag/MutableTagDictionary.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/postag/POSContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/postag/POSContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSSample.java b/opennlp-api/src/main/java/opennlp/tools/postag/POSSample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSSample.java
rename to opennlp-api/src/main/java/opennlp/tools/postag/POSSample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTagger.java b/opennlp-api/src/main/java/opennlp/tools/postag/POSTagger.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSTagger.java
rename to opennlp-api/src/main/java/opennlp/tools/postag/POSTagger.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/postag/POSTaggerEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/postag/POSTaggerEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/TagDictionary.java b/opennlp-api/src/main/java/opennlp/tools/postag/TagDictionary.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/TagDictionary.java
rename to opennlp-api/src/main/java/opennlp/tools/postag/TagDictionary.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/EndOfSentenceScanner.java b/opennlp-api/src/main/java/opennlp/tools/sentdetect/EndOfSentenceScanner.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/EndOfSentenceScanner.java
rename to opennlp-api/src/main/java/opennlp/tools/sentdetect/EndOfSentenceScanner.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SDContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/sentdetect/SDContextGenerator.java
similarity index 95%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SDContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/sentdetect/SDContextGenerator.java
index d0ca1f2f..6ce943a0 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SDContextGenerator.java
+++ b/opennlp-api/src/main/java/opennlp/tools/sentdetect/SDContextGenerator.java
@@ -17,9 +17,8 @@
package opennlp.tools.sentdetect;
-
/**
- * Interface for {@link SentenceDetectorME} context generators.
+ * Interface for {@link SentenceDetector} context generators.
*/
public interface SDContextGenerator {
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetector.java b/opennlp-api/src/main/java/opennlp/tools/sentdetect/SentenceDetector.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetector.java
rename to opennlp-api/src/main/java/opennlp/tools/sentdetect/SentenceDetector.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceSample.java b/opennlp-api/src/main/java/opennlp/tools/sentdetect/SentenceSample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceSample.java
rename to opennlp-api/src/main/java/opennlp/tools/sentdetect/SentenceSample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/Stemmer.java b/opennlp-api/src/main/java/opennlp/tools/stemmer/Stemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/Stemmer.java
rename to opennlp-api/src/main/java/opennlp/tools/stemmer/Stemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/AbstractTokenizer.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/AbstractTokenizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/AbstractTokenizer.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/AbstractTokenizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/Detokenizer.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/Detokenizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/Detokenizer.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/Detokenizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/TokenContextGenerator.java
similarity index 92%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/TokenContextGenerator.java
index 475146bd..683dac76 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenContextGenerator.java
+++ b/opennlp-api/src/main/java/opennlp/tools/tokenize/TokenContextGenerator.java
@@ -18,7 +18,8 @@
package opennlp.tools.tokenize;
/**
- * Interface for context generators required for {@link TokenizerME}.
+ * Interface for context generators required for
+ * {@link Tokenizer tokenizer implementations}.
*/
public interface TokenContextGenerator {
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSample.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/TokenSample.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSample.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/TokenSample.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/Tokenizer.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/Tokenizer.java
similarity index 99%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/Tokenizer.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/Tokenizer.java
index 8a6bc37f..f57fd8db 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/tokenize/Tokenizer.java
+++ b/opennlp-api/src/main/java/opennlp/tools/tokenize/Tokenizer.java
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package opennlp.tools.tokenize;
import opennlp.tools.util.Span;
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerEvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/TokenizerEvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerEvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/TokenizerEvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/WhitespaceTokenizer.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/WhitespaceTokenizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/WhitespaceTokenizer.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/WhitespaceTokenizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/WordpieceTokenizer.java b/opennlp-api/src/main/java/opennlp/tools/tokenize/WordpieceTokenizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/WordpieceTokenizer.java
rename to opennlp-api/src/main/java/opennlp/tools/tokenize/WordpieceTokenizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/BeamSearchContextGenerator.java b/opennlp-api/src/main/java/opennlp/tools/util/BeamSearchContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/BeamSearchContextGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/util/BeamSearchContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/InputStreamFactory.java b/opennlp-api/src/main/java/opennlp/tools/util/InputStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/InputStreamFactory.java
rename to opennlp-api/src/main/java/opennlp/tools/util/InputStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/InsufficientTrainingDataException.java b/opennlp-api/src/main/java/opennlp/tools/util/InsufficientTrainingDataException.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/InsufficientTrainingDataException.java
rename to opennlp-api/src/main/java/opennlp/tools/util/InsufficientTrainingDataException.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/InvalidFormatException.java b/opennlp-api/src/main/java/opennlp/tools/util/InvalidFormatException.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/InvalidFormatException.java
rename to opennlp-api/src/main/java/opennlp/tools/util/InvalidFormatException.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/ObjectStream.java b/opennlp-api/src/main/java/opennlp/tools/util/ObjectStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/ObjectStream.java
rename to opennlp-api/src/main/java/opennlp/tools/util/ObjectStream.java
diff --git a/opennlp-api/src/main/java/opennlp/tools/util/Parameters.java b/opennlp-api/src/main/java/opennlp/tools/util/Parameters.java
new file mode 100644
index 00000000..02c5967e
--- /dev/null
+++ b/opennlp-api/src/main/java/opennlp/tools/util/Parameters.java
@@ -0,0 +1,354 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.util;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Map;
+
+public interface Parameters {
+
+ String ALGORITHM_PARAM = "Algorithm";
+ String TRAINER_TYPE_PARAM = "TrainerType";
+ String ITERATIONS_PARAM = "Iterations";
+ String CUTOFF_PARAM = "Cutoff";
+ String THREADS_PARAM = "Threads";
+ /**
+ * The default number of iterations is 100.
+ */
+ int ITERATIONS_DEFAULT_VALUE = 100;
+ /**
+ * The default cut off value is 5.
+ */
+ int CUTOFF_DEFAULT_VALUE = 5;
+
+ /**
+ * @param namespace The namespace used as prefix or {@code null}.
+ * If {@code null} the {@code key} is left unchanged.
+ * @param key The identifying key to process.
+ *
+ * @return Retrieves a prefixed key in the specified {@code namespace}.
+ * If no {@code namespace} was specified the returned String is equal to {@code key}.
+ */
+ static String getKey(String namespace, String key) {
+ if (namespace == null) {
+ return key;
+ }
+ else {
+ return namespace + "." + key;
+ }
+ }
+
+ /**
+ * @return Retrieves the (training) algorithm name for a given name space, or {@code null} if unset.
+ */
+ String algorithm(String namespace);
+
+ /**
+ * @return Retrieves the (training) algorithm name. or @code null} if not set.
+ */
+ String algorithm();
+
+ /**
+ * @param namespace The name space to filter or narrow the search space. May be {@code null}.
+ *
+ * @return Retrieves a parameter {@link Map} which can be passed to the train and validate methods.
+ */
+ Map<String, Object> getObjectSettings(String namespace);
+
+ /**
+ * @return Retrieves a parameter {@link Map} of all parameters without narrowing.
+ */
+ Map<String, Object> getObjectSettings();
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link String} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String namespace, String key, String value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link String} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String key, String value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Integer} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String namespace, String key, int value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Integer} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String key, int value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Double} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String namespace, String key, double value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Double} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String key, double value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Boolean} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String namespace, String key, boolean value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key},
+ * if the value was not present before.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Boolean} parameter to put into this {@link Parameters} instance.
+ */
+ void putIfAbsent(String key, boolean value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link String} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String namespace, String key, String value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link String} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String key, String value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Integer} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String namespace, String key, int value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Integer} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String key, int value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Double} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String namespace, String key, double value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Double} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String key, double value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ * The {@code namespace} can be used to prefix the {@code key}.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be put.
+ * May be {@code null}.
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Boolean} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String namespace, String key, boolean value);
+
+ /**
+ * Puts a {@code value} into the current {@link Parameters} under a certain {@code key}.
+ * If the value was present before, the previous value will be overwritten with the specified one.
+ *
+ * @param key The identifying key to put or retrieve a {@code value} with.
+ * @param value The {@link Boolean} parameter to put into this {@link Parameters} instance.
+ */
+ void put(String key, boolean value);
+
+ /**
+ * Serializes a {@link Parameters} instance via a specified {@link OutputStream}.
+ *
+ * @param out A valid, open {@link OutputStream} to write to.
+ *
+ * @throws IOException Thrown if errors occurred.
+ */
+ void serialize(OutputStream out) throws IOException;
+
+ /**
+ * Obtains a training parameter value.
+ *
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ * @return The {@link String training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ * @throws java.lang.ClassCastException} Thrown if the value is not {@code String}
+ */
+ String getStringParameter(String key, String defaultValue);
+
+ /**
+ * Obtains a training parameter value in the specified namespace.
+ *
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be searched.
+ * May be {@code null}.
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ *
+ * @return The {@link String training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ * @throws java.lang.ClassCastException} Thrown if the value is not {@code String}
+ */
+ String getStringParameter(String namespace, String key, String defaultValue);
+
+ /**
+ * Obtains a training parameter value.
+ * <p>
+ *
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ * @return The {@link Integer training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ */
+ int getIntParameter(String key, int defaultValue);
+
+ /**
+ * Obtains a training parameter value in the specified namespace.
+ * <p>
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be searched.
+ * May be {@code null}.
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ *
+ * @return The {@link Integer training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ */
+ int getIntParameter(String namespace, String key, int defaultValue);
+
+ /**
+ * Obtains a training parameter value.
+ * <p>
+ *
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ * @return The {@link Double training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ */
+ double getDoubleParameter(String key, double defaultValue);
+
+ /**
+ * Obtains a training parameter value in the specified namespace.
+ * <p>
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be searched.
+ * May be {@code null}.
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ *
+ * @return The {@link Double training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ */
+ double getDoubleParameter(String namespace, String key, double defaultValue);
+
+ /**
+ * Obtains a training parameter value.
+ * <p>
+ *
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ * @return The {@link Boolean training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ */
+ boolean getBooleanParameter(String key, boolean defaultValue);
+
+
+ /**
+ * Obtains a training parameter value in the specified namespace.
+ * <p>
+ * @param namespace A prefix to declare or use a name space under which {@code key} shall be searched.
+ * May be {@code null}.
+ * @param key The identifying key to retrieve a {@code value} with.
+ * @param defaultValue The alternative value to use, if {@code key} was not present.
+ *
+ * @return The {@link Boolean training value} associated with {@code key} if present,
+ * or a {@code defaultValue} if not.
+ */
+ boolean getBooleanParameter(String namespace, String key, boolean defaultValue);
+}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/ResetableIterator.java b/opennlp-api/src/main/java/opennlp/tools/util/ResetableIterator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/ResetableIterator.java
rename to opennlp-api/src/main/java/opennlp/tools/util/ResetableIterator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/Sequence.java b/opennlp-api/src/main/java/opennlp/tools/util/Sequence.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/Sequence.java
rename to opennlp-api/src/main/java/opennlp/tools/util/Sequence.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/SequenceCodec.java b/opennlp-api/src/main/java/opennlp/tools/util/SequenceCodec.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/SequenceCodec.java
rename to opennlp-api/src/main/java/opennlp/tools/util/SequenceCodec.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/SequenceValidator.java b/opennlp-api/src/main/java/opennlp/tools/util/SequenceValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/SequenceValidator.java
rename to opennlp-api/src/main/java/opennlp/tools/util/SequenceValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/Span.java b/opennlp-api/src/main/java/opennlp/tools/util/Span.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/Span.java
rename to opennlp-api/src/main/java/opennlp/tools/util/Span.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/StringUtil.java b/opennlp-api/src/main/java/opennlp/tools/util/StringUtil.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/StringUtil.java
rename to opennlp-api/src/main/java/opennlp/tools/util/StringUtil.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/TokenTag.java b/opennlp-api/src/main/java/opennlp/tools/util/TokenTag.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/TokenTag.java
rename to opennlp-api/src/main/java/opennlp/tools/util/TokenTag.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/TrainingConfiguration.java b/opennlp-api/src/main/java/opennlp/tools/util/TrainingConfiguration.java
similarity index 92%
rename from opennlp-tools/src/main/java/opennlp/tools/util/TrainingConfiguration.java
rename to opennlp-api/src/main/java/opennlp/tools/util/TrainingConfiguration.java
index 40bf5757..ad5ef5a7 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/util/TrainingConfiguration.java
+++ b/opennlp-api/src/main/java/opennlp/tools/util/TrainingConfiguration.java
@@ -17,12 +17,11 @@
package opennlp.tools.util;
-import opennlp.tools.ml.model.AbstractModel;
import opennlp.tools.monitoring.StopCriteria;
import opennlp.tools.monitoring.TrainingProgressMonitor;
/**
- * Configuration used for {@link AbstractModel} training.
+ * Configuration used for model training.
* @param progMon {@link TrainingProgressMonitor} used to monitor the training progress.
* @param stopCriteria {@link StopCriteria} used to abort training when the criteria is met.
*/
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/eval/EvaluationMonitor.java b/opennlp-api/src/main/java/opennlp/tools/util/eval/EvaluationMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/eval/EvaluationMonitor.java
rename to opennlp-api/src/main/java/opennlp/tools/util/eval/EvaluationMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/eval/FMeasure.java b/opennlp-api/src/main/java/opennlp/tools/util/eval/FMeasure.java
similarity index 98%
rename from opennlp-tools/src/main/java/opennlp/tools/util/eval/FMeasure.java
rename to opennlp-api/src/main/java/opennlp/tools/util/eval/FMeasure.java
index 935a7876..1d5b407a 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/util/eval/FMeasure.java
+++ b/opennlp-api/src/main/java/opennlp/tools/util/eval/FMeasure.java
@@ -23,7 +23,7 @@ import java.util.List;
/**
- * The {@link FMeasure} is a utility class for {@link Evaluator evaluators}
+ * The {@link FMeasure} is a utility class for {@code evaluators}
* which measures precision, recall and the resulting f-measure.
* <p>
* Evaluation results are the arithmetic mean of the precision
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/eval/Mean.java b/opennlp-api/src/main/java/opennlp/tools/util/eval/Mean.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/eval/Mean.java
rename to opennlp-api/src/main/java/opennlp/tools/util/eval/Mean.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AdaptiveFeatureGenerator.java b/opennlp-api/src/main/java/opennlp/tools/util/featuregen/AdaptiveFeatureGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AdaptiveFeatureGenerator.java
rename to opennlp-api/src/main/java/opennlp/tools/util/featuregen/AdaptiveFeatureGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java b/opennlp-api/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java
rename to opennlp-api/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/java/Experimental.java b/opennlp-api/src/main/java/opennlp/tools/util/java/Experimental.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/java/Experimental.java
rename to opennlp-api/src/main/java/opennlp/tools/util/java/Experimental.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/jvm/StringInterner.java b/opennlp-api/src/main/java/opennlp/tools/util/jvm/StringInterner.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/jvm/StringInterner.java
rename to opennlp-api/src/main/java/opennlp/tools/util/jvm/StringInterner.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/model/ArtifactProvider.java b/opennlp-api/src/main/java/opennlp/tools/util/model/ArtifactProvider.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/model/ArtifactProvider.java
rename to opennlp-api/src/main/java/opennlp/tools/util/model/ArtifactProvider.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/model/ArtifactSerializer.java b/opennlp-api/src/main/java/opennlp/tools/util/model/ArtifactSerializer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/model/ArtifactSerializer.java
rename to opennlp-api/src/main/java/opennlp/tools/util/model/ArtifactSerializer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/model/ModelType.java b/opennlp-api/src/main/java/opennlp/tools/util/model/ModelType.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/model/ModelType.java
rename to opennlp-api/src/main/java/opennlp/tools/util/model/ModelType.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/model/SerializableArtifact.java b/opennlp-api/src/main/java/opennlp/tools/util/model/SerializableArtifact.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/model/SerializableArtifact.java
rename to opennlp-api/src/main/java/opennlp/tools/util/model/SerializableArtifact.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/normalizer/CharSequenceNormalizer.java b/opennlp-api/src/main/java/opennlp/tools/util/normalizer/CharSequenceNormalizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/normalizer/CharSequenceNormalizer.java
rename to opennlp-api/src/main/java/opennlp/tools/util/normalizer/CharSequenceNormalizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/wordvector/WordVector.java b/opennlp-api/src/main/java/opennlp/tools/util/wordvector/WordVector.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/wordvector/WordVector.java
rename to opennlp-api/src/main/java/opennlp/tools/util/wordvector/WordVector.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/wordvector/WordVectorTable.java b/opennlp-api/src/main/java/opennlp/tools/util/wordvector/WordVectorTable.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/wordvector/WordVectorTable.java
rename to opennlp-api/src/main/java/opennlp/tools/util/wordvector/WordVectorTable.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/wordvector/WordVectorType.java b/opennlp-api/src/main/java/opennlp/tools/util/wordvector/WordVectorType.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/wordvector/WordVectorType.java
rename to opennlp-api/src/main/java/opennlp/tools/util/wordvector/WordVectorType.java
diff --git a/opennlp-core/opennlp-cli/lang/ga/abb_GA.xml b/opennlp-core/opennlp-cli/lang/ga/abb_GA.xml
new file mode 100644
index 00000000..9d15aede
--- /dev/null
+++ b/opennlp-core/opennlp-cli/lang/ga/abb_GA.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<dictionary case_sensitive="false">
+<entry>
+<token>tel.</token>
+</entry>
+<entry>
+<token>Mr.</token>
+</entry>
+<entry>
+<token>Mrs.</token>
+</entry>
+<entry>
+<token>.i.</token>
+</entry>
+<entry>
+<token>Uacht.</token>
+</entry>
+<entry>
+<token>m.sh.</token>
+</entry>
+<entry>
+<token>lch.</token>
+</entry>
+<entry>
+<token>lgh.</token>
+</entry>
+<entry>
+<token>Dr.</token>
+</entry>
+<entry>
+<token>uimh.</token>
+</entry>
+<entry>
+<token>Co.</token>
+</entry>
+<entry>
+<token>gCo.</token>
+</entry>
+<entry>
+<token>tUacht.</token>
+</entry>
+<entry>
+<token>Uas.</token>
+</entry>
+<entry>
+<token>tUas.</token>
+</entry>
+<entry>
+<token>Msc.</token>
+</entry>
+<entry>
+<token>Ms.</token>
+</entry>
+<entry>
+<token>Sr.</token>
+</entry>
+<entry>
+<token>Jr.</token>
+</entry>
+<entry>
+<token>Bros.</token>
+</entry>
+<entry>
+<token>fig.</token>
+</entry>
+<entry>
+<token>Jan.</token>
+</entry>
+<entry>
+<token>Feb.</token>
+</entry>
+<entry>
+<token>Mar.</token>
+</entry>
+<entry>
+<token>Apr.</token>
+</entry>
+<entry>
+<token>Jun.</token>
+</entry>
+<entry>
+<token>Jul.</token>
+</entry>
+<entry>
+<token>Aug.</token>
+</entry>
+<entry>
+<token>Sep.</token>
+</entry>
+<entry>
+<token>Sept.</token>
+</entry>
+<entry>
+<token>Oct.</token>
+</entry>
+<entry>
+<token>Nov.</token>
+</entry>
+<entry>
+<token>Dec.</token>
+</entry>
+<entry>
+<token>Ean.</token>
+</entry>
+<entry>
+<token>Fea.</token>
+</entry>
+<entry>
+<token>Már.</token>
+</entry>
+<entry>
+<token>Aib.</token>
+</entry>
+<entry>
+<token>Bea.</token>
+</entry>
+<entry>
+<token>Mei.</token>
+</entry>
+<entry>
+<token>Iúl.</token>
+</entry>
+<entry>
+<token>Lún.</token>
+</entry>
+<entry>
+<token>M.Fr.</token>
+</entry>
+<entry>
+<token>D.Fr.</token>
+</entry>
+<entry>
+<token>Sam.</token>
+</entry>
+<entry>
+<token>Nol.</token>
+</entry>
+<entry>
+<token>Ltd.</token>
+</entry>
+<entry>
+<token>Teo.</token>
+</entry>
+</dictionary>
diff --git a/opennlp-core/opennlp-cli/pom.xml b/opennlp-core/opennlp-cli/pom.xml
new file mode 100644
index 00000000..63514a14
--- /dev/null
+++ b/opennlp-core/opennlp-cli/pom.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-core</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>opennlp-cli</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache OpenNLP Core CLI</name>
+
+ <dependencies>
+ <!-- Internal dependencies -->
+ <dependency>
+ <artifactId>opennlp-api</artifactId>
+ <groupId>${project.groupId}</groupId>
+ </dependency>
+ <dependency>
+ <artifactId>opennlp-runtime</artifactId>
+ <groupId>${project.groupId}</groupId>
+ </dependency>
+ <dependency>
+ <artifactId>opennlp-formats</artifactId>
+ <groupId>${project.groupId}</groupId>
+ </dependency>
+
+ <!-- External dependencies -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <!-- TEST scoped -->
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- JUnit5 extension used in CLITest to prevent System.exit(..) calls terminating test runs -->
+ <dependency>
+ <groupId>com.ginsberg</groupId>
+ <artifactId>junit5-system-exit</artifactId>
+ <version>${junit5-system-exit.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>io.github.hakky54</groupId>
+ <artifactId>logcaptor</artifactId>
+ <version>${logcaptor.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <excludePackageNames>opennlp.tools.cmdline</excludePackageNames>
+ </configuration>
+ <executions>
+ <execution>
+ <id>create-javadoc-jar</id>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>-Xmx2048m -DOPENNLP_DOWNLOAD_HOME=${opennlp.download.home} -javaagent:${settings.localRepository}/com/ginsberg/junit5-system-exit/${junit5-system-exit.version}/junit5-system-exit-${junit5-system-exit.version}.jar</argLine>
+ <forkCount>${opennlp.forkCount}</forkCount>
+ <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
+ <excludes>
+ <exclude>**/stemmer/*</exclude>
+ <exclude>**/stemmer/snowball/*</exclude>
+ <exclude>**/*IT.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ </plugin>
+
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractTypedParamTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractTypedParamTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractTypedParamTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/AbstractTypedParamTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicCmdLineTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/BasicCmdLineTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicCmdLineTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/BasicCmdLineTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/CLI.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/CLI.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/CLI.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/CLI.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/CmdLineTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/CmdLineTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/DetailedFMeasureListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/DetailedFMeasureListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/DetailedFMeasureListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/DetailedFMeasureListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/EvaluationErrorPrinter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/FineGrainedReportListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/FineGrainedReportListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/FineGrainedReportListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/FineGrainedReportListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/GenerateManualTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/GenerateManualTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/GenerateManualTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/GenerateManualTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/ModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/ModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/ModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/ModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/SystemInputStreamFactory.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/SystemInputStreamFactory.java
similarity index 100%
copy from opennlp-tools/src/main/java/opennlp/tools/cmdline/SystemInputStreamFactory.java
copy to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/SystemInputStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/TypedCmdLineTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/TypedCmdLineTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/TypedCmdLineTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/TypedCmdLineTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerDetailedFMeasureListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerDetailedFMeasureListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerDetailedFMeasureListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerDetailedFMeasureListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerMETool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerMETool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerMETool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerMETool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/chunker/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatFineGrainedReportListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatFineGrainedReportListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatFineGrainedReportListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatFineGrainedReportListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/doccat/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/entitylinker/EntityLinkerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/entitylinker/EntityLinkerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/entitylinker/EntityLinkerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/entitylinker/EntityLinkerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorFineGrainedReportListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorFineGrainedReportListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorFineGrainedReportListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorFineGrainedReportListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/LanguageDetectorTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/langdetect/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/langdetect/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmaEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmaEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmaEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmaEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerFineGrainedReportListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerFineGrainedReportListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerFineGrainedReportListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerFineGrainedReportListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerMETool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerMETool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerMETool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerMETool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/LemmatizerTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/package-info.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/package-info.java
similarity index 100%
copy from opennlp-tools/src/main/java/opennlp/tools/cmdline/lemmatizer/package-info.java
copy to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/lemmatizer/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/NameEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameSampleCountersStream.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/NameSampleCountersStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/NameSampleCountersStream.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/NameSampleCountersStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderDetailedFMeasureListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderDetailedFMeasureListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderDetailedFMeasureListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderDetailedFMeasureListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderFineGrainedReportListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderFineGrainedReportListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderFineGrainedReportListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderFineGrainedReportListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/namefind/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java
similarity index 95%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java
index cef86626..2646da75 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java
+++ b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/BuildModelUpdaterTool.java
@@ -32,6 +32,7 @@ import opennlp.tools.parser.ParserEventTypeEnum;
import opennlp.tools.parser.ParserModel;
import opennlp.tools.parser.chunking.ParserEventStream;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.TrainingParameters;
import opennlp.tools.util.model.ModelUtil;
public final class BuildModelUpdaterTool extends ModelUpdaterTool {
@@ -57,7 +58,7 @@ public final class BuildModelUpdaterTool extends ModelUpdaterTool {
ObjectStream<Event> bes = new ParserEventStream(parseSamples,
originalModel.getHeadRules(), ParserEventTypeEnum.BUILD, mdict);
- EventTrainer trainer = TrainerFactory.getEventTrainer(
+ EventTrainer<TrainingParameters> trainer = TrainerFactory.getEventTrainer(
ModelUtil.createDefaultTrainingParameters(), null);
MaxentModel buildModel = trainer.train(bes);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java
similarity index 95%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java
index 590f4b0a..7ceb9b08 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java
+++ b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/CheckModelUpdaterTool.java
@@ -32,6 +32,7 @@ import opennlp.tools.parser.ParserEventTypeEnum;
import opennlp.tools.parser.ParserModel;
import opennlp.tools.parser.chunking.ParserEventStream;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.TrainingParameters;
import opennlp.tools.util.model.ModelUtil;
/**
@@ -61,7 +62,7 @@ public final class CheckModelUpdaterTool extends ModelUpdaterTool {
ObjectStream<Event> bes = new ParserEventStream(parseSamples,
originalModel.getHeadRules(), ParserEventTypeEnum.CHECK, mdict);
- EventTrainer trainer = TrainerFactory.getEventTrainer(
+ EventTrainer<TrainingParameters> trainer = TrainerFactory.getEventTrainer(
ModelUtil.createDefaultTrainingParameters(), null);
MaxentModel checkModel = trainer.train(bes);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/TaggerModelReplacerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/TaggerModelReplacerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/TaggerModelReplacerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/TaggerModelReplacerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/parser/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerFineGrainedReportListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerFineGrainedReportListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerFineGrainedReportListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerFineGrainedReportListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/postag/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/sentdetect/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/CommandLineTokenizer.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/CommandLineTokenizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/CommandLineTokenizer.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/CommandLineTokenizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenizationDictionaryLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenizationDictionaryLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenizationDictionaryLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/DetokenizationDictionaryLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/DictionaryDetokenizerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/DictionaryDetokenizerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/DictionaryDetokenizerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/DictionaryDetokenizerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/SimpleTokenizerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/SimpleTokenizerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/SimpleTokenizerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/SimpleTokenizerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenEvaluationErrorListener.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenEvaluationErrorListener.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenEvaluationErrorListener.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenEvaluationErrorListener.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerConverterTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerConverterTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerConverterTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerConverterTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMETool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMETool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMETool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMETool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoader.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoader.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TrainingParams.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TrainingParams.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TrainingParams.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/cmdline/tokenizer/TrainingParams.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/package-info.java
similarity index 91%
copy from opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java
copy to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/package-info.java
index e64bbee3..7204600d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java
+++ b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/package-info.java
@@ -16,6 +16,6 @@
*/
/**
- * Package related to language models
+ * Contains packages which solve common NLP tasks.
*/
-package opennlp.tools.languagemodel;
+package opennlp.tools;
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserEvaluator.java b/opennlp-core/opennlp-cli/src/main/java/opennlp/tools/parser/ParserEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserEvaluator.java
rename to opennlp-core/opennlp-cli/src/main/java/opennlp/tools/parser/ParserEvaluator.java
diff --git a/opennlp-uima/src/main/resources/opennlp/uima/util/ExceptionMessages_en.properties b/opennlp-core/opennlp-cli/src/main/resources/opennlp/tools/util/opennlp.version
similarity index 51%
copy from opennlp-uima/src/main/resources/opennlp/uima/util/ExceptionMessages_en.properties
copy to opennlp-core/opennlp-cli/src/main/resources/opennlp/tools/util/opennlp.version
index e5a69559..70bfa107 100644
--- a/opennlp-uima/src/main/resources/opennlp/uima/util/ExceptionMessages_en.properties
+++ b/opennlp-core/opennlp-cli/src/main/resources/opennlp/tools/util/opennlp.version
@@ -1,6 +1,5 @@
-#
# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
+# contributor license agreemnets. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
@@ -13,18 +12,6 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
-
-io_error_model_reading = I/O error occurred during model reading: {0}
-io_error_dictionary_reading = "I/O" error occurred during dictionary reading: {0};
-invalid_dictionary_format = The format of the dictionary is invalid: {0}
-
-parameter_not_found = The required parameter {0} can not be found!
-wrong_parameter_type = The parameter {0} does not have the expected type {1}!
-
-type_not_found = "Could not find {0} type!"
-
-feature_not_found = The type {0} does not have the feature {1}!
-wrong_feature_type = The Feature {0} must be of type {1}!
-range_type_unsupported = Range type is unsupported: {0}
+# Version is injected by the maven build, fall back version is 0.0.0-SNAPSHOT
+OpenNLP-Version: ${project.version}
\ No newline at end of file
diff --git a/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/AbstractLoggerTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/AbstractLoggerTest.java
new file mode 100644
index 00000000..79c944c5
--- /dev/null
+++ b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/AbstractLoggerTest.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools;
+
+import java.util.Objects;
+
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An abstract class to configure the {@link Logger} instance to help with unit-testing.
+ */
+public abstract class AbstractLoggerTest {
+
+ public static final String LOGGER_OPENNLP = "opennlp";
+
+ /**
+ * Prepare the logging resource.
+ * @param loggerName Name of the {@link Logger}.
+ */
+ public static void prepare(String loggerName) {
+ getLogger(loggerName).setLevel(Level.INFO);
+ }
+
+ /*
+ * Restores the logging resource to its default config.
+ */
+ public static void restore(String loggerName) {
+ getLogger(loggerName).setLevel(Level.OFF);
+ }
+
+ private static Logger getLogger(String loggerName) {
+ Logger logger = (Logger) LoggerFactory.getLogger(loggerName);
+ if (Objects.isNull(logger)) {
+ throw new IllegalArgumentException("A logger instance couldn't be created for the given logger "
+ + loggerName);
+ }
+ return logger;
+ }
+}
+
diff --git a/opennlp-tools/src/test/java/opennlp/tools/AbstractModelLoaderTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/AbstractModelLoaderTest.java
similarity index 100%
copy from opennlp-tools/src/test/java/opennlp/tools/AbstractModelLoaderTest.java
copy to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/AbstractModelLoaderTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/AbstractTempDirTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/AbstractTempDirTest.java
similarity index 100%
copy from opennlp-tools/src/test/java/opennlp/tools/AbstractTempDirTest.java
copy to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/AbstractTempDirTest.java
diff --git a/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/EnabledWhenCDNAvailable.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/EnabledWhenCDNAvailable.java
new file mode 100644
index 00000000..fccc5526
--- /dev/null
+++ b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/EnabledWhenCDNAvailable.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools;
+
+import java.io.IOException;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.URL;
+import javax.net.ssl.HttpsURLConnection;
+
+import org.junit.jupiter.api.extension.ConditionEvaluationResult;
+import org.junit.jupiter.api.extension.ExecutionCondition;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.jupiter.api.extension.ExtensionContext;
+
+import static org.junit.platform.commons.util.AnnotationUtils.findAnnotation;
+
+/**
+ * A custom JUnit5 conditional annotation which can be used to enable/disable tests at runtime.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@ExtendWith(EnabledWhenCDNAvailable.CDNAvailableCondition.class)
+public @interface EnabledWhenCDNAvailable {
+
+ String hostname();
+
+ int TIMEOUT_MS = 2000;
+
+ // JUnit5 execution condition to decide whether tests can assume CDN downloads are possible (= online).
+ class CDNAvailableCondition implements ExecutionCondition {
+
+ @Override
+ public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
+ final var optional = findAnnotation(context.getElement(), EnabledWhenCDNAvailable.class);
+ if (optional.isPresent()) {
+ final EnabledWhenCDNAvailable annotation = optional.get();
+ final String host = annotation.hostname();
+ try (Socket socket = new Socket()) {
+ // First, try to establish a socket connection to ensure the host is reachable
+ socket.connect(new InetSocketAddress(host, 443), TIMEOUT_MS);
+
+ // Then, try to check the HTTP status by making an HTTPS request
+ final URL url = new URL("https://" + host);
+ final HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
+ connection.setConnectTimeout(TIMEOUT_MS);
+ connection.setReadTimeout(TIMEOUT_MS);
+ int statusCode = connection.getResponseCode();
+
+ // If the HTTP status code indicates success (2xx range), return enabled
+ if (statusCode >= 200 && statusCode < 300) {
+ return ConditionEvaluationResult.enabled(
+ "Resource (CDN) reachable with status code: " + statusCode);
+ } else {
+ return ConditionEvaluationResult.disabled(
+ "Resource (CDN) reachable, but HTTP status code: " + statusCode);
+
+ }
+ } catch (IOException e) {
+ return ConditionEvaluationResult.disabled(
+ "Resource (CDN) unreachable.");
+ }
+ }
+ return ConditionEvaluationResult.enabled(
+ "Nothing annotated with EnabledWhenCDNAvailable.");
+ }
+ }
+
+}
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/CLITest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/CLITest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/CLITest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/CLITest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/TerminateToolExceptionTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/TerminateToolExceptionTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/TerminateToolExceptionTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/TerminateToolExceptionTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java
similarity index 97%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java
index 190fa9d9..da3d9e1f 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java
+++ b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/TokenNameFinderToolTest.java
@@ -44,6 +44,7 @@ import opennlp.tools.namefind.TokenNameFinderFactory;
import opennlp.tools.namefind.TokenNameFinderModel;
import opennlp.tools.util.MockInputStreamFactory;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.PlainTextByLineStream;
import opennlp.tools.util.TrainingParameters;
@@ -127,8 +128,8 @@ public class TokenNameFinderToolTest {
StandardCharsets.ISO_8859_1);
TrainingParameters params = new TrainingParameters();
- params.put(TrainingParameters.ITERATIONS_PARAM, 70);
- params.put(TrainingParameters.CUTOFF_PARAM, 1);
+ params.put(Parameters.ITERATIONS_PARAM, 70);
+ params.put(Parameters.CUTOFF_PARAM, 1);
TokenNameFinderModel model;
TokenNameFinderFactory nameFinderFactory = new TokenNameFinderFactory();
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/chunker/ChunkerModelLoaderTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/chunker/ChunkerModelLoaderTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/chunker/ChunkerModelLoaderTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/chunker/ChunkerModelLoaderTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoaderTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoaderTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoaderTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/langdetect/LanguageDetectorModelLoaderTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelToolTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelToolTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelToolTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/languagemodel/NGramLanguageModelToolTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoaderIT.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoaderIT.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoaderIT.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/lemmatizer/LemmatizerModelLoaderIT.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoaderTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoaderTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoaderTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/TokenNameFinderModelLoaderTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/generator/AbstractNewsGenerator.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/generator/AbstractNewsGenerator.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/generator/AbstractNewsGenerator.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/generator/AbstractNewsGenerator.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomEnglishNewsGenerator.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomEnglishNewsGenerator.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomEnglishNewsGenerator.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomEnglishNewsGenerator.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomGermanNewsGenerator.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomGermanNewsGenerator.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomGermanNewsGenerator.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/namefind/generator/RandomGermanNewsGenerator.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/postag/POSModelLoaderIT.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/postag/POSModelLoaderIT.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/postag/POSModelLoaderIT.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/postag/POSModelLoaderIT.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoaderIT.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoaderIT.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoaderIT.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/sentdetect/SentenceModelLoaderIT.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoaderIT.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoaderIT.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoaderIT.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerModelLoaderIT.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerToolTest.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerToolTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerToolTest.java
rename to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerToolTest.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/SystemInputStreamFactory.java b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/util/MockInputStreamFactory.java
similarity index 51%
copy from opennlp-tools/src/main/java/opennlp/tools/cmdline/SystemInputStreamFactory.java
copy to opennlp-core/opennlp-cli/src/test/java/opennlp/tools/util/MockInputStreamFactory.java
index 5958fa69..79aedc3e 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/cmdline/SystemInputStreamFactory.java
+++ b/opennlp-core/opennlp-cli/src/test/java/opennlp/tools/util/MockInputStreamFactory.java
@@ -15,31 +15,43 @@
* limitations under the License.
*/
-package opennlp.tools.cmdline;
+package opennlp.tools.util;
+import java.io.ByteArrayInputStream;
+import java.io.File;
import java.io.InputStream;
import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
-import opennlp.tools.util.InputStreamFactory;
+public class MockInputStreamFactory implements InputStreamFactory {
-public class SystemInputStreamFactory implements InputStreamFactory {
+ private final File inputSourceFile;
+ private final String inputSourceStr;
+ private final Charset charset;
- private boolean isTainted = false;
+ public MockInputStreamFactory(File file) {
+ this.inputSourceFile = file;
+ this.inputSourceStr = null;
+ this.charset = null;
+ }
+
+ public MockInputStreamFactory(String str) {
+ this(str, StandardCharsets.UTF_8);
+ }
- public static Charset encoding() {
- return Charset.defaultCharset();
+ public MockInputStreamFactory(String str, Charset charset) {
+ this.inputSourceFile = null;
+ this.inputSourceStr = str;
+ this.charset = charset;
}
@Override
public InputStream createInputStream() {
-
- if (!isTainted) {
- isTainted = true;
- return System.in;
+ if (inputSourceFile != null) {
+ return getClass().getClassLoader().getResourceAsStream(inputSourceFile.getPath());
}
else {
- throw new UnsupportedOperationException(
- "The System.in stream can't be re-created to read from the beginning!");
+ return new ByteArrayInputStream(inputSourceStr.getBytes(charset));
}
}
}
diff --git a/opennlp-core/opennlp-cli/src/test/resources/logback-test.xml b/opennlp-core/opennlp-cli/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..1baae291
--- /dev/null
+++ b/opennlp-core/opennlp-cli/src/test/resources/logback-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<configuration>
+
+ <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%date{HH:mm:ss.SSS} [%thread] %-4level %class{36}.%method:%line - %msg%n</pattern>
+ </encoder>
+ </appender>
+
+ <logger name="opennlp" level="off"/>
+
+ <logger name="opennlp.tools.cmdline.namefind" level="off"/>
+
+ <logger name="opennlp.tools.cmdline.CmdLineUtil" level="off"/>
+
+ <root level="off">
+ <appender-ref ref="consoleAppender" />
+ </root>
+
+</configuration>
\ No newline at end of file
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/cmdline/languagemodel/origin_of_text_samples.txt b/opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/cmdline/languagemodel/origin_of_text_samples.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/cmdline/languagemodel/origin_of_text_samples.txt
rename to opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/cmdline/languagemodel/origin_of_text_samples.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_1.txt b/opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_1.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_1.txt
rename to opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_1.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_2.txt b/opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_2.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_2.txt
rename to opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/cmdline/languagemodel/sentences_set_2.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/sentdetect/Sentences.txt b/opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/namefind/AnnotatedSentencesWithTypes.txt
similarity index 57%
copy from opennlp-tools/src/test/resources/opennlp/tools/sentdetect/Sentences.txt
copy to opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/namefind/AnnotatedSentencesWithTypes.txt
index 97aa46e3..92036b7c 100644
--- a/opennlp-tools/src/test/resources/opennlp/tools/sentdetect/Sentences.txt
+++ b/opennlp-core/opennlp-cli/src/test/resources/opennlp/tools/namefind/AnnotatedSentencesWithTypes.txt
@@ -1,6 +1,6 @@
Last September, I tried to find out the address of an old school friend whom I hadnt't seen for 15 years.
-I just knew his name, Alan McKennedy, and I'd heard the rumour that he'd moved to Scotland, the country of his ancestors.
-So I called Julie, a friend who's still in contact with him.
+I just knew his name , <START:person> Alan McKennedy <END> , and I'd heard the rumour that he'd moved to Scotland, the country of his ancestors.
+So I called <START:person> Julie <END> , a friend who's still in contact with him.
She told me that he lived in 23213 Edinburgh, Worcesterstreet 12.
I wrote him a letter right away and he answered soon, sounding very happy and delighted.
@@ -9,44 +9,43 @@ Her 86th birthday was on October 6, and I no longer wanted to be hesitant to get
I didn`t know her face-to-face, and so it wasn't easy for me to find out her address.
As she had two apartments in different countries, I decided to write to both.
The first was in 12424 Paris in Rue-de-Grandes-Illusions 5.
-But Marie Clara, as my aunt is called, prefered her apartment in Berlin.
-It's postcode is 30202.
-She lived there, in beautiful Kaiserstra�e 13, particulary in summer.
+But <START:person> Marie Clara <END> , as my aunt is called, prefered her apartment in Berlin.
+It's postcode is 30202. She lived there, in beautiful Kaiserstraße 13, particulary in summer.
-Hi my name is Michael Graf, how much is a taxi from Ostbahnhof to Hauptbahnhof?
+Hi my name is <START:person> Stefanie Schmidt <END> , how much is a taxi from Ostbahnhof to Hauptbahnhof?
About 10 Euro, I reckon.
That sounds good.
-So please call a driver to Leonardstra�e 112, near the Ostbahnhof in 56473 Hamburg.
-I'd like to be at Silberhornstra�e 12 as soon as possible.
+So please call a driver to Leonardstraße 112, near the Ostbahnhof in 56473 Hamburg.
+I'd like to be at Silberhornstraße 12 as soon as possible.
Thank you very much!
-Hi Mike, it's Stefanie Schmidt.
-I'm in N�rnberg at the moment and I've got the problem that my bike has broken.
-Could you please pick me up from Seidlstra�e 56, I'm in the Caf� "Mondnacht" at the moment.
+Hi <START:person> Mike <END> , it's <START:person> Stefanie Schmidt <END> .
+I'm in Nürnberg at the moment and I've got the problem that my bike has broken.
+Could you please pick me up from Seidlstraße 56, I'm in the Cafe "Mondnacht" at the moment.
Please hurry up, I need to be back in Ulm at 8 p.m.!
-My husband George and me recently celebrated our 10th wedding anniversary.
+My husband <START:person> George <END> and me recently celebrated our 10th wedding anniversary.
We got married on March 11, 1995.
Therefore, we found a photo album with pictures of our first own apartment, which was in 81234 Munich.
As a young married couple, we didn't have enough money to afford a bigger lodge than this one in Blumenweg 1.
But only five years later, my husband was offered a well-payed job in 17818 Hamburg, so we moved there.
-Since then, our guests have to ring at Veilchenstra�e 11 if they want to visit us, Luise and George Bauer.
+Since then, our guests have to ring at Veilchenstraße 11 if they want to visit us, <START:person> Luise <END> and <START:person> George Bauer <END>.
-I read your help-wanted ad with great attention.
+I read your help-wanted ad with great attention.
I'm a student of informatics, 6th semester, and I'm very interested in your part-time job offer.
I have a competent knowledge of programming and foreign languages, like French and Italian.
I'm looking forward to your reply.
-Alisa Fernandes, a tourist from Spain, went to the reception desk of the famous Highfly-Hotel in 30303 Berlin.
+<START:person> Alisa Fernandes <END> , a tourist from Spain, went to the reception desk of the famous Highfly-Hotel in 30303 Berlin.
As she felt quite homesick, she asked the staff if they knew a good Spanish restaurant in Berlin.
The concierge told her to go to the "Tapasbar" in Chesterstr. 2.
-Alisa appreciated the hint and enjoyed a delicious traditional meal.
+<START:person> Alisa <END> appreciated the hint and enjoyed a delicious traditional meal.
An old friend from France is currently travelling around Europe.
Yesterday, she arrived in Berlin and we met up spontaneously.
She wanted me to show her some famous sights, like the Brandenburger Tor and the Reichstag.
But it wasn't easy to meet up in the city because she hardly knows any streetname or building.
-So I proposed to meet at a quite local point: the caf� "Daily's" in Unter-den-Linden 18, 30291 Berlin.
+So I proposed to meet at a quite local point: the cafe "Daily's" in Unter-den-Linden 18, 30291 Berlin.
It is five minutes away from the underground station "Westbad".
She found it instantly and we spent a great day in the capital.
@@ -54,25 +53,22 @@ Where did you get those great shoes?
They look amazing, I love the colour.
Are they made of leather?
No, that's faked.
-But anyway, I like them too.
-I got them from Hamburg.
-Don't you know the famous shop in Veilchenstra�e?
+But anyway, I like them too. I got them from Hamburg.
+Don't you know the famous shop in Veilchenstraße?
It's called "Twentytwo".
I've never heard of that before.
Could you give me the complete address?
-Sure, it's in Veilchenstra�e 12, in 78181 Hamburg.
+Sure, it's in Veilchenstraße 12, in 78181 Hamburg.
I deem it best to write a letter to the owner if the shoes are still available.
-His name is Gerhard Fritsch.
+His name is <START:person> Gerhard Fritsch.
Hi, am I talking to the inquiries?
-My name is Mike Sander and I'd like to know if it is possible to get information about an address if I merely know the name and the phone number of a person!
+My name is <START:person> Mike Sander <END> and I'd like to know if it is possible to get information about an address if I merely know the name and the phone number of a person!
How is he or she called?
-His name is Stefan Miller and his number is the 030/827234.
-I'll have a look in the computer.
-I found a Stefan Miller who lives in Leipzig.
-Is that right?
+His name is <START:person> Stefan Miller <END> and his number is the 030/827234.
+I'll have a look in the computer... I found a <START:person> Stefan Miller <END> who lives in Leipzig. Is that right?
Yes, it definitely is.
-So Stefan Miller lives in Heinrich-Heine-Stra�e 112, in 20193 Leipzig.
+So <START:person> Stefan Miller <END> lives in Heinrich-Heine-Straße 112, in 20193 Leipzig.
Thank you very much for the information.
Bye!
@@ -80,59 +76,55 @@ On July 14, the father of a family got painfully injured after he had tried to s
The flaring flames burnt instantly through his jacket, which he managed to pull off last-minute.
Although the wounds weren't life-threatening, it was urgent to bring him directly into ambulance.
But the only hospital that had opened that Sunday was the Paracelsus Hospital in 83939 Weilheim, which was 2 hours away.
-Convulsed with pain, the man finally arrived in Stifterstra�e 15, where the personal immediately took care of him.
+Convulsed with pain, the man finally arrived in Stifterstraße 15, where the personal immediately took care of him.
Last year, I worked as a delivery boy for a small local magazine.
I worked in the area of 83454 Ottobrunn.
I had a list with the home addresses of our costumers whom I brought their papers once a week.
-An elderly lady, who was called Elenor Meier, lived in G�rtnerweg 6, and I always drove there first, because I liked her the most.
-Afterwards, I went to a student, Gina Schneider, who lived still in her parent's house in G�rtnerweg 25.
-The last in line was the retired teacher Bruno Schulz in Dramenstra�e 15.
+An elderly lady, who was called <START:person> Elenor Meier <END> , lived in Gärtnerweg 6, and I always drove there first, because I liked her the most.
+Afterwards, I went to a student, <START:person> Gina Schneider <END> , who lived still in her parent's house in Gärtnerweg 25.
+The last in line was the retired teacher <START:person> Bruno Schulz <END> in Dramenstraße 15.
He was friendly enough to tip sometimes.
-Our business company was founded in 1912 by the singer and entertainer Michel Seile.
+Our business company was founded in 1912 by the singer and entertainer <START:person> Michel Seile <END> .
He opened the first agency in Erding, a small town near Munich.
Now, more than 90 years of turbulent ups and downs later, we finally decided to situate our company in a more central and frequented area.
Last year, we moved into an empty factory building in 30303 Berlin.
It is located in Barmerstr. 34.
-When George Miller, a tourist from England, came to Munich, he had no idea how to read the city maps.
+When <START:person> George Miller <END> , a tourist from England, came to Munich, he had no idea how to read the city maps.
He depended completely on the help and information of German pedestrians.
One day, he simply could not find the famous Lenbachhaus.
So he asked a young woman for help.
-She pointed at a street sign and explained to him that he'd find the Lenbachhaus in Luisenstra�e 33, which is in 80333 Munich.
-Miller was very grateful and could finally enjoy the exhibition.
+She pointed at a street sign and explained to him that he'd find the Lenbachhaus in Luisenstraße 33, which is in 80333 Munich.
+<START:person> Miller <END> was very grateful and could finally enjoy the exhibition.
On March 15, there was an accident near Munich.
The driver got badly injured.
Driving alone not far from her home, the middle-aged woman crashed at high speed into a tree.
A resident, who lives near the street where the accident took place, called instantly the police.
He reported what had happened and gave his name and address to the officer.
-He's called Peter Schubert and he lives at Max-L�w-Stra�e 13 in 84630 Gauting.
+He's called <START:person> Peter Schubert <END> and he lives at Max-Löw-Straße 13 in 84630 Gauting.
The police arrived ten minutes later and brought the woman into hospital.
Although she had multiple trauma, she's out of mortal danger.
Hi, how are you?
-Arent't you a friend of Natalie?
-Yeah for sure.
-How did you know that?
+Arent't you a friend of <START:person> Natalie <END> ?
+Yeah for sure. How did you know that?
I saw you sitting next to her at uni.
Yeah she's my best friend.
Are you going to her party next friday?
Oh yes, I'd really like to.
But in fact I don't know yet where it takes place.
-I can tell you: ring at Baumann, Meisenstra�e 5, in 81737 Munich.
-The party starts at 9 p.m.
+I can tell you: ring at Baumann, Meisenstraße 5, in 81737 Munich.
+The party starts at 9 p.m..
I hope you'll find it.
Thank you very much, see you next friday!
-My name is Michael Hinterhofer.
+My name is <START:person> Michael Hinterhofer <END>.
When I was 21, I moved out from my parents' home into my first own appartment in order to study in a bigger city.
-My new home was in Lilienstra�e 1 in 25334 Hamburg.
+My new home was in Lilienstraße 1 in 25334 Hamburg.
But I realized quickly that life in a metropolis wasn't relaxed enough for me.
So I decided to move into a smaller town.
-Now I'm a tenant with an elderly widow.
-We live in B�rgerstra�e 2 in 63737 Heidelberg.
+Now I'm a tenant with an elderly widow. We live in Bürgerstraße 2 in 63737 Heidelberg.
I really like the smalltown flair and my studies at Heidelberg's notable university.
-
-The stock rose by 3.5% yesterday in heavy trading.
\ No newline at end of file
diff --git a/opennlp-dl-gpu/README.md b/opennlp-core/opennlp-dl-gpu/README.md
similarity index 100%
rename from opennlp-dl-gpu/README.md
rename to opennlp-core/opennlp-dl-gpu/README.md
diff --git a/opennlp-dl-gpu/pom.xml b/opennlp-core/opennlp-dl-gpu/pom.xml
similarity index 84%
rename from opennlp-dl-gpu/pom.xml
rename to opennlp-core/opennlp-dl-gpu/pom.xml
index c79d0084..db841abd 100644
--- a/opennlp-dl-gpu/pom.xml
+++ b/opennlp-core/opennlp-dl-gpu/pom.xml
@@ -19,19 +19,28 @@
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.opennlp</groupId>
- <artifactId>opennlp</artifactId>
+ <artifactId>opennlp-core</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
- <groupId>org.apache.opennlp</groupId>
+
<artifactId>opennlp-dl-gpu</artifactId>
- <name>Apache OpenNLP DL (GPU)</name>
+ <packaging>jar</packaging>
+ <name>Apache OpenNLP Deep Learning (GPU)</name>
<dependencies>
+ <!-- Internal dependencies -->
+ <dependency>
+ <artifactId>opennlp-api</artifactId>
+ <groupId>${project.groupId}</groupId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-dl</artifactId>
@@ -43,11 +52,15 @@
</exclusion>
</exclusions>
</dependency>
+
+ <!-- External dependencies -->
<dependency>
<groupId>com.microsoft.onnxruntime</groupId>
<artifactId>onnxruntime_gpu</artifactId>
<version>${onnxruntime.version}</version>
</dependency>
+
+ <!-- TEST scope -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
@@ -112,4 +125,4 @@
</build>
</profile>
</profiles>
-</project>
+</project>
\ No newline at end of file
diff --git a/opennlp-dl/README.md b/opennlp-core/opennlp-dl/README.md
similarity index 100%
rename from opennlp-dl/README.md
rename to opennlp-core/opennlp-dl/README.md
diff --git a/opennlp-dl/pom.xml b/opennlp-core/opennlp-dl/pom.xml
similarity index 77%
copy from opennlp-dl/pom.xml
copy to opennlp-core/opennlp-dl/pom.xml
index ef84ee97..09a1fee6 100644
--- a/opennlp-dl/pom.xml
+++ b/opennlp-core/opennlp-dl/pom.xml
@@ -19,28 +19,42 @@
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.opennlp</groupId>
- <artifactId>opennlp</artifactId>
+ <artifactId>opennlp-core</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
- <groupId>org.apache.opennlp</groupId>
+
<artifactId>opennlp-dl</artifactId>
- <name>Apache OpenNLP DL</name>
+ <packaging>jar</packaging>
+ <name>Apache OpenNLP Deep Learning</name>
+
<dependencies>
+ <!-- Internal dependencies -->
<dependency>
<groupId>org.apache.opennlp</groupId>
- <artifactId>opennlp-tools</artifactId>
- <version>${project.version}</version>
+ <artifactId>opennlp-api</artifactId>
</dependency>
+
+ <!-- External dependencies -->
<dependency>
<groupId>com.microsoft.onnxruntime</groupId>
<artifactId>onnxruntime</artifactId>
<version>${onnxruntime.version}</version>
</dependency>
+
+ <!-- TEST scope -->
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-runtime</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
@@ -77,5 +91,4 @@
</plugin>
</plugins>
</build>
-
-</project>
+</project>
\ No newline at end of file
diff --git a/opennlp-dl/src/main/java/opennlp/dl/AbstractDL.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/AbstractDL.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/AbstractDL.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/AbstractDL.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/InferenceOptions.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/InferenceOptions.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/InferenceOptions.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/InferenceOptions.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/SpanEnd.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/SpanEnd.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/SpanEnd.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/SpanEnd.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/Tokens.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/Tokens.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/Tokens.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/Tokens.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerConfig.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerConfig.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerConfig.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerConfig.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerDL.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerDL.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerDL.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/DocumentCategorizerDL.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategy.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategy.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategy.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategy.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/ClassificationScoringStrategy.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/ClassificationScoringStrategy.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/ClassificationScoringStrategy.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/doccat/scoring/ClassificationScoringStrategy.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/namefinder/NameFinderDL.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/namefinder/NameFinderDL.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/namefinder/NameFinderDL.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/namefinder/NameFinderDL.java
diff --git a/opennlp-dl/src/main/java/opennlp/dl/vectors/SentenceVectorsDL.java b/opennlp-core/opennlp-dl/src/main/java/opennlp/dl/vectors/SentenceVectorsDL.java
similarity index 100%
rename from opennlp-dl/src/main/java/opennlp/dl/vectors/SentenceVectorsDL.java
rename to opennlp-core/opennlp-dl/src/main/java/opennlp/dl/vectors/SentenceVectorsDL.java
diff --git a/opennlp-dl/src/test/java/opennlp/dl/AbstractDLTest.java b/opennlp-core/opennlp-dl/src/test/java/opennlp/dl/AbstractDLTest.java
similarity index 100%
rename from opennlp-dl/src/test/java/opennlp/dl/AbstractDLTest.java
rename to opennlp-core/opennlp-dl/src/test/java/opennlp/dl/AbstractDLTest.java
diff --git a/opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerConfigTest.java b/opennlp-core/opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerConfigTest.java
similarity index 100%
rename from opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerConfigTest.java
rename to opennlp-core/opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerConfigTest.java
diff --git a/opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerDLEval.java b/opennlp-core/opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerDLEval.java
similarity index 100%
rename from opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerDLEval.java
rename to opennlp-core/opennlp-dl/src/test/java/opennlp/dl/doccat/DocumentCategorizerDLEval.java
diff --git a/opennlp-dl/src/test/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategyTest.java b/opennlp-core/opennlp-dl/src/test/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategyTest.java
similarity index 100%
rename from opennlp-dl/src/test/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategyTest.java
rename to opennlp-core/opennlp-dl/src/test/java/opennlp/dl/doccat/scoring/AverageClassificationScoringStrategyTest.java
diff --git a/opennlp-dl/src/test/java/opennlp/dl/namefinder/NameFinderDLEval.java b/opennlp-core/opennlp-dl/src/test/java/opennlp/dl/namefinder/NameFinderDLEval.java
similarity index 100%
rename from opennlp-dl/src/test/java/opennlp/dl/namefinder/NameFinderDLEval.java
rename to opennlp-core/opennlp-dl/src/test/java/opennlp/dl/namefinder/NameFinderDLEval.java
diff --git a/opennlp-dl/src/test/java/opennlp/dl/vectors/SentenceVectorsDLEval.java b/opennlp-core/opennlp-dl/src/test/java/opennlp/dl/vectors/SentenceVectorsDLEval.java
similarity index 100%
rename from opennlp-dl/src/test/java/opennlp/dl/vectors/SentenceVectorsDLEval.java
rename to opennlp-core/opennlp-dl/src/test/java/opennlp/dl/vectors/SentenceVectorsDLEval.java
diff --git a/opennlp-core/opennlp-formats/pom.xml b/opennlp-core/opennlp-formats/pom.xml
new file mode 100644
index 00000000..cf703ceb
--- /dev/null
+++ b/opennlp-core/opennlp-formats/pom.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-core</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>opennlp-formats</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache OpenNLP Core Formats</name>
+
+ <dependencies>
+ <!-- Internal dependencies -->
+ <dependency>
+ <artifactId>opennlp-api</artifactId>
+ <groupId>${project.groupId}</groupId>
+ </dependency>
+ <dependency>
+ <artifactId>opennlp-runtime</artifactId>
+ <groupId>${project.groupId}</groupId>
+ </dependency>
+
+ <!-- External dependencies -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <!-- TEST scoped -->
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- JUnit5 extension used in CLITest to prevent System.exit(..) calls terminating test runs -->
+ <dependency>
+ <groupId>com.ginsberg</groupId>
+ <artifactId>junit5-system-exit</artifactId>
+ <version>${junit5-system-exit.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>io.github.hakky54</groupId>
+ <artifactId>logcaptor</artifactId>
+ <version>${logcaptor.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <excludePackageNames>opennlp.tools.cmdline</excludePackageNames>
+ </configuration>
+ <executions>
+ <execution>
+ <id>create-javadoc-jar</id>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>-Xmx2048m -DOPENNLP_DOWNLOAD_HOME=${opennlp.download.home} -javaagent:${settings.localRepository}/com/ginsberg/junit5-system-exit/${junit5-system-exit.version}/junit5-system-exit-${junit5-system-exit.version}.jar</argLine>
+ <forkCount>${opennlp.forkCount}</forkCount>
+ <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
+ <excludes>
+ <exclude>**/stemmer/*</exclude>
+ <exclude>**/stemmer/snowball/*</exclude>
+ <exclude>**/*IT.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ </plugin>
+
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/opennlp-tools/src/main/java/opennlp/tools/cmdline/StreamFactoryRegistry.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/cmdline/StreamFactoryRegistry.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/cmdline/StreamFactoryRegistry.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/cmdline/StreamFactoryRegistry.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/AbstractSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/AbstractSampleStreamFactory.java
similarity index 89%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/AbstractSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/AbstractSampleStreamFactory.java
index da9a36d1..8a92d45a 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/AbstractSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/AbstractSampleStreamFactory.java
@@ -20,8 +20,8 @@ package opennlp.tools.formats;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.ObjectStreamFactory;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.util.InputStreamFactory;
import opennlp.tools.util.ObjectStream;
@@ -61,10 +61,11 @@ public abstract class AbstractSampleStreamFactory<T,P> implements ObjectStreamFa
P params = validateBasicFormatParameters(args, parametersClass);
ObjectStream<String> lineStream = null;
try {
- InputStreamFactory sampleDataIn = CmdLineUtil.createInputStreamFactory(params.getData());
+ InputStreamFactory sampleDataIn = FormatUtil.createInputStreamFactory(params.getData());
lineStream = new PlainTextByLineStream(sampleDataIn, params.getEncoding());
} catch (IOException ex) {
- CmdLineUtil.handleCreateObjectStreamError(ex);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + ex.getMessage(), ex);
}
return lineStream;
}
@@ -85,7 +86,7 @@ public abstract class AbstractSampleStreamFactory<T,P> implements ObjectStreamFa
throw new IllegalArgumentException("Passed args must not be null!");
}
P params = ArgumentParser.parse(args, clazz);
- CmdLineUtil.checkInputFile("Data", params.getData());
+ FormatUtil.checkInputFile("Data", params.getData());
return params;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactory.java
similarity index 91%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactory.java
index 0b7bfe3c..f43d09cd 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactory.java
@@ -20,8 +20,8 @@ package opennlp.tools.formats;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.namefind.NameSample;
import opennlp.tools.util.ObjectStream;
@@ -75,10 +75,10 @@ public class BioNLP2004NameSampleStreamFactory extends
try {
return new BioNLP2004NameSampleStream(
- CmdLineUtil.createInputStreamFactory(params.getData()), typesToGenerate);
+ FormatUtil.createInputStreamFactory(params.getData()), typesToGenerate);
} catch (IOException ex) {
- CmdLineUtil.handleCreateObjectStreamError(ex);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + ex.getMessage(), ex);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ChunkerSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ChunkerSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ChunkerSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ChunkerSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll02NameSampleStreamFactory.java
similarity index 94%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll02NameSampleStreamFactory.java
index 91cca667..47c0db4d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll02NameSampleStreamFactory.java
@@ -20,7 +20,6 @@ package opennlp.tools.formats;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
@@ -95,9 +94,10 @@ public class Conll02NameSampleStreamFactory extends
try {
return new Conll02NameSampleStream(lang,
- CmdLineUtil.createInputStreamFactory(params.getData()), typesToGenerate);
+ FormatUtil.createInputStreamFactory(params.getData()), typesToGenerate);
} catch (IOException e) {
- throw CmdLineUtil.createObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll03NameSampleStreamFactory.java
similarity index 93%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll03NameSampleStreamFactory.java
index d1a61509..b2741169 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/Conll03NameSampleStreamFactory.java
@@ -20,7 +20,6 @@ package opennlp.tools.formats;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
@@ -91,9 +90,10 @@ public class Conll03NameSampleStreamFactory extends
try {
return new Conll03NameSampleStream(lang,
- CmdLineUtil.createInputStreamFactory(params.getData()), typesToGenerate);
+ FormatUtil.createInputStreamFactory(params.getData()), typesToGenerate);
} catch (IOException e) {
- throw CmdLineUtil.createObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java
similarity index 88%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java
index a7a586d9..a1fc0aaf 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java
@@ -20,8 +20,8 @@ package opennlp.tools.formats;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.postag.POSSample;
@@ -58,11 +58,11 @@ public class ConllXPOSSampleStreamFactory extends
Parameters params = validateBasicFormatParameters(args, Parameters.class);
try {
- InputStreamFactory inFactory = CmdLineUtil.createInputStreamFactory(params.getData());
+ InputStreamFactory inFactory = FormatUtil.createInputStreamFactory(params.getData());
return new ConllXPOSSampleStream(inFactory, StandardCharsets.UTF_8);
} catch (IOException e) {
- CmdLineUtil.handleCreateObjectStreamError(e);
- return null;
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXTokenSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ConllXTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ConllXTokenSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/DirectorySampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/DirectorySampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/DirectorySampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/DirectorySampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/DocumentSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/DocumentSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/DocumentSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/DocumentSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/EvalitaNameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/EvalitaNameSampleStreamFactory.java
similarity index 93%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/EvalitaNameSampleStreamFactory.java
index 066861f3..771cfbab 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/EvalitaNameSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/EvalitaNameSampleStreamFactory.java
@@ -20,7 +20,6 @@ package opennlp.tools.formats;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
@@ -91,9 +90,10 @@ public class EvalitaNameSampleStreamFactory extends
try {
return new EvalitaNameSampleStream(lang,
- CmdLineUtil.createInputStreamFactory(params.getData()), typesToGenerate);
+ FormatUtil.createInputStreamFactory(params.getData()), typesToGenerate);
} catch (IOException e) {
- throw CmdLineUtil.createObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
}
}
diff --git a/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/FormatUtil.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/FormatUtil.java
new file mode 100644
index 00000000..ce95e61d
--- /dev/null
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/FormatUtil.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.formats;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+
+import opennlp.tools.cmdline.TerminateToolException;
+import opennlp.tools.commons.Internal;
+import opennlp.tools.util.InputStreamFactory;
+import opennlp.tools.util.MarkableFileInputStreamFactory;
+
+/**
+ * Utility class for the OpenNLP formats package.
+ * <p>
+ * <b>Note:</b> Do not use this class, internal use only!
+ */
+@Internal
+public class FormatUtil {
+
+ public static InputStreamFactory createInputStreamFactory(File file) {
+ try {
+ return new MarkableFileInputStreamFactory(file);
+ } catch (FileNotFoundException e) {
+ throw new TerminateToolException(-1, "File '" + file + "' cannot be found", e);
+ }
+ }
+
+ /**
+ * Check that the given input file is valid.
+ * <p>
+ * To pass the test it must:<br>
+ * - exist<br>
+ * - not be a directory,<br>
+ * - and be accessibly.<br>
+ *
+ * @param name the name which is used to refer to the file in an error message, it
+ * should start with a capital letter.
+ *
+ * @param inFile the particular {@link File} to check to qualify an input file
+ *
+ * @throws TerminateToolException if test does not pass this exception is
+ * thrown and an error message is printed to the console.
+ */
+ public static void checkInputFile(String name, File inFile) {
+
+ String isFailure = null;
+
+ if (inFile.isDirectory()) {
+ isFailure = "The " + name + " file is a directory!";
+ }
+ else if (!inFile.exists()) {
+ isFailure = "The " + name + " file does not exist!";
+ }
+ else if (!inFile.canRead()) {
+ isFailure = "No permissions to read the " + name + " file!";
+ }
+
+ if (null != isFailure) {
+ throw new TerminateToolException(-1, isFailure + " Path: " + inFile.getAbsolutePath());
+ }
+ }
+}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/LanguageSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/LanguageSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/LanguageSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/LanguageSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/LemmatizerSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/LemmatizerSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/LemmatizerSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/LemmatizerSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/NameFinderCensus90NameStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/NameFinderCensus90NameStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/NameFinderCensus90NameStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/NameFinderCensus90NameStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/NameSampleDataStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/NameSampleDataStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/NameSampleDataStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/NameSampleDataStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ParseSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ParseSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ParseSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ParseSampleStreamFactory.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ResourceAsStreamFactory.java
similarity index 100%
copy from opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java
copy to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ResourceAsStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/SentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/SentenceSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/SentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/SentenceSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/TokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/TokenSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/TokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/TokenSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/WordTagSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/WordTagSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/WordTagSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/WordTagSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADNameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADNameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADNameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADNameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADNameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADNameSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADNameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADNameSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADSentenceStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADSentenceStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADSentenceStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADSentenceStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/PortugueseContractionUtility.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/PortugueseContractionUtility.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/PortugueseContractionUtility.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/PortugueseContractionUtility.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ad/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ad/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ad/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/AnnotationConfiguration.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/AnnotationConfiguration.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/AnnotationConfiguration.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/AnnotationConfiguration.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/AnnotatorNoteAnnotation.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/AnnotatorNoteAnnotation.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/AnnotatorNoteAnnotation.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/AnnotatorNoteAnnotation.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/AttributeAnnotation.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/AttributeAnnotation.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/AttributeAnnotation.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/AttributeAnnotation.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratAnnotation.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratAnnotation.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratAnnotation.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratAnnotation.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratAnnotationStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratAnnotationStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratAnnotationStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratAnnotationStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratDocument.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratDocument.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratDocument.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratDocument.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratDocumentParser.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratDocumentParser.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratDocumentParser.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratDocumentParser.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratDocumentStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratDocumentStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratDocumentStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratDocumentStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratNameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratNameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratNameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratNameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratNameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratNameSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/BratNameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/BratNameSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/EventAnnotation.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/EventAnnotation.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/EventAnnotation.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/EventAnnotation.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/RelationAnnotation.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/RelationAnnotation.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/RelationAnnotation.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/RelationAnnotation.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/SegmenterObjectStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/SegmenterObjectStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/SegmenterObjectStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/SegmenterObjectStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/SpanAnnotation.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/SpanAnnotation.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/SpanAnnotation.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/SpanAnnotation.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/brat/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/brat/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/brat/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java
similarity index 88%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java
index 2dedf86c..371a8c9a 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactory.java
@@ -20,14 +20,13 @@ package opennlp.tools.formats.conllu;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
+import opennlp.tools.formats.FormatUtil;
import opennlp.tools.lemmatizer.LemmaSample;
-import opennlp.tools.util.InputStreamFactory;
import opennlp.tools.util.ObjectStream;
/**
@@ -66,14 +65,12 @@ public class ConlluLemmaSampleStreamFactory extends
default -> throw new TerminateToolException(-1, "Unknown tagset parameter: " + params.getTagset());
};
- InputStreamFactory inFactory =
- CmdLineUtil.createInputStreamFactory(params.getData());
-
try {
- return new ConlluLemmaSampleStream(new ConlluStream(inFactory), tagset);
+ return new ConlluLemmaSampleStream(new ConlluStream(
+ FormatUtil.createInputStreamFactory(params.getData())), tagset);
} catch (IOException e) {
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java
similarity index 88%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java
index 9a40b0a1..7e285948 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactory.java
@@ -20,14 +20,13 @@ package opennlp.tools.formats.conllu;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
+import opennlp.tools.formats.FormatUtil;
import opennlp.tools.postag.POSSample;
-import opennlp.tools.util.InputStreamFactory;
import opennlp.tools.util.ObjectStream;
/**
@@ -68,14 +67,12 @@ public class ConlluPOSSampleStreamFactory extends
default -> throw new TerminateToolException(-1, "Unknown tagset parameter: " + params.getTagset());
};
- InputStreamFactory inFactory =
- CmdLineUtil.createInputStreamFactory(params.getData());
-
try {
- return new ConlluPOSSampleStream(new ConlluStream(inFactory), tagset);
+ return new ConlluPOSSampleStream(new ConlluStream(
+ FormatUtil.createInputStreamFactory(params.getData())), tagset);
} catch (IOException e) {
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluSentence.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluSentence.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluSentence.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluSentence.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactory.java
similarity index 87%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactory.java
index 6e665759..629275bb 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactory.java
@@ -20,13 +20,13 @@ package opennlp.tools.formats.conllu;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
+import opennlp.tools.formats.FormatUtil;
import opennlp.tools.sentdetect.SentenceSample;
-import opennlp.tools.util.InputStreamFactory;
import opennlp.tools.util.ObjectStream;
/**
@@ -59,15 +59,13 @@ public class ConlluSentenceSampleStreamFactory extends
public ObjectStream<SentenceSample> create(String[] args) {
Parameters params = validateBasicFormatParameters(args, Parameters.class);
- InputStreamFactory inFactory =
- CmdLineUtil.createInputStreamFactory(params.getData());
-
try {
- return new ConlluSentenceSampleStream(new ConlluStream(inFactory),
+ return new ConlluSentenceSampleStream(new ConlluStream(
+ FormatUtil.createInputStreamFactory(params.getData())),
Integer.parseInt(params.getSentencesPerSample()));
} catch (IOException e) {
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluTagset.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluTagset.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluTagset.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluTagset.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactory.java
similarity index 85%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactory.java
index ac3b18d4..7a395790 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactory.java
@@ -19,13 +19,13 @@ package opennlp.tools.formats.conllu;
import java.io.IOException;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
+import opennlp.tools.formats.FormatUtil;
import opennlp.tools.tokenize.TokenSample;
-import opennlp.tools.util.InputStreamFactory;
import opennlp.tools.util.ObjectStream;
/**
@@ -55,14 +55,12 @@ public class ConlluTokenSampleStreamFactory extends
public ObjectStream<TokenSample> create(String[] args) {
Parameters params = validateBasicFormatParameters(args, Parameters.class);
- InputStreamFactory inFactory =
- CmdLineUtil.createInputStreamFactory(params.getData());
-
try {
- return new ConlluTokenSampleStream(new ConlluStream(inFactory));
+ return new ConlluTokenSampleStream(new ConlluStream(
+ FormatUtil.createInputStreamFactory(params.getData())));
} catch (IOException e) {
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/ConlluWordLine.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/conllu/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/conllu/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/conllu/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/FileToByteArraySampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/FileToByteArraySampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/FileToByteArraySampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/FileToByteArraySampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/FileToStringSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/FileToStringSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/FileToStringSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/FileToStringSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitDocumentHandler.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitDocumentHandler.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitDocumentHandler.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitDocumentHandler.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/frenchtreebank/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocument.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocument.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocument.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocument.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactory.java
similarity index 92%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactory.java
index 5c1036f1..a8cb2ed9 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactory.java
@@ -19,8 +19,8 @@ package opennlp.tools.formats.irishsentencebank;
import java.io.IOException;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
@@ -58,7 +58,8 @@ public class IrishSentenceBankSentenceStreamFactory extends
try {
isbDoc = IrishSentenceBankDocument.parse(params.getData());
} catch (IOException ex) {
- CmdLineUtil.handleCreateObjectStreamError(ex);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + ex.getMessage(), ex);
}
return new IrishSentenceBankSentenceStream(isbDoc);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactory.java
similarity index 92%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactory.java
index b41d5741..80560e9e 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactory.java
@@ -19,8 +19,8 @@ package opennlp.tools.formats.irishsentencebank;
import java.io.IOException;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.DetokenizerSampleStreamFactory;
@@ -58,7 +58,8 @@ public class IrishSentenceBankTokenSampleStreamFactory extends
try {
isbDoc = IrishSentenceBankDocument.parse(params.getData());
} catch (IOException ex) {
- CmdLineUtil.handleCreateObjectStreamError(ex);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + ex.getMessage(), ex);
}
return new IrishSentenceBankTokenSampleStream(isbDoc);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/irishsentencebank/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/irishsentencebank/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/SampleShuffleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/SampleShuffleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/SampleShuffleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/SampleShuffleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/SampleSkipStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/SampleSkipStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/SampleSkipStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/SampleSkipStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/leipzig/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/leipzig/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/DetokenizeSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/DetokenizeSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/DetokenizeSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/DetokenizeSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/LetsmtDocument.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/LetsmtDocument.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/LetsmtDocument.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/LetsmtDocument.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactory.java
similarity index 96%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactory.java
index 1077ab37..e774372b 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactory.java
@@ -21,7 +21,6 @@ import java.io.File;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
@@ -67,7 +66,8 @@ public class LetsmtSentenceStreamFactory extends
try {
letsmtDoc = LetsmtDocument.parse(params.getData());
} catch (IOException ex) {
- CmdLineUtil.handleCreateObjectStreamError(ex);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + ex.getMessage(), ex);
}
// TODO Implement a filter stream to remove splits which are not at an eos char
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/letsmt/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/letsmt/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/Masc.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/Masc.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/Masc.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/Masc.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascDocument.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascDocument.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascDocument.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascDocument.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascDocumentStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascDocumentStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascDocumentStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascDocumentStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascNamedEntityParser.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascNamedEntityParser.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascNamedEntityParser.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascNamedEntityParser.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactory.java
similarity index 94%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactory.java
index ab85f88d..94303a10 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactory.java
@@ -21,8 +21,8 @@ import java.io.FileFilter;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
@@ -73,8 +73,8 @@ public class MascNamedEntitySampleStreamFactory extends
return new MascNamedEntitySampleStream(
new MascDocumentStream(params.getData(), params.getRecurrentSearch(), fileFilter));
} catch (IOException e) {
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactory.java
similarity index 93%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactory.java
index b3bcedde..2e179839 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactory.java
@@ -21,8 +21,8 @@ import java.io.FileFilter;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
@@ -73,10 +73,9 @@ public class MascPOSSampleStreamFactory extends
return new MascPOSSampleStream(
new MascDocumentStream(params.getData(), params.getRecurrentSearch(), fileFilter));
} catch (IOException e) {
- // That will throw an exception
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascPennTagParser.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascPennTagParser.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascPennTagParser.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascPennTagParser.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentence.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentence.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentence.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentence.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentenceParser.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentenceParser.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentenceParser.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentenceParser.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactory.java
similarity index 94%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactory.java
index 9b6eeb43..759d6883 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactory.java
@@ -21,8 +21,8 @@ import java.io.FileFilter;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
@@ -77,10 +77,9 @@ public class MascSentenceSampleStreamFactory extends
new MascDocumentStream(params.getData(), params.getRecurrentSearch(), fileFilter),
Integer.parseInt(params.getSentencesPerSample()));
} catch (IOException e) {
- // That will throw an exception
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascToken.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascToken.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascToken.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascToken.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactory.java
similarity index 94%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactory.java
index 8a70c0b7..5349a27d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactory.java
@@ -21,8 +21,8 @@ import java.io.FileFilter;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
@@ -76,10 +76,9 @@ public class MascTokenSampleStreamFactory extends
return new MascTokenSampleStream(
new MascDocumentStream(params.getData(), params.getRecurrentSearch(), fileFilter));
} catch (IOException e) {
- // That will throw an exception
- CmdLineUtil.handleCreateObjectStreamError(e);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
}
- return null;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascWord.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascWord.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascWord.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascWord.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascWordParser.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascWordParser.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/MascWordParser.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/MascWordParser.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/masc/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/masc/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/masc/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/DocumentSplitterStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/DocumentSplitterStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/muc/DocumentSplitterStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/DocumentSplitterStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactory.java
similarity index 79%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactory.java
index 4acb31d1..0ac48284 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactory.java
@@ -18,6 +18,7 @@
package opennlp.tools.formats.muc;
import java.io.File;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import opennlp.tools.cmdline.ArgumentParser;
@@ -25,7 +26,6 @@ import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
import opennlp.tools.cmdline.StreamFactoryRegistry;
import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
-import opennlp.tools.cmdline.tokenizer.TokenizerModelLoader;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
import opennlp.tools.formats.DirectorySampleStream;
@@ -68,15 +68,19 @@ public class Muc6NameSampleStreamFactory
if (!params.getData().isDirectory() || !params.getData().exists()) {
throw new TerminateToolException(-1, "The specified data directory is not valid!");
}
+ try {
+ TokenizerModel tokenizerModel = new TokenizerModel(params.getTokenizerModel());
+ Tokenizer tokenizer = new ThreadSafeTokenizerME(tokenizerModel);
- TokenizerModel tokenizerModel = new TokenizerModelLoader().load(params.getTokenizerModel());
- Tokenizer tokenizer = new ThreadSafeTokenizerME(tokenizerModel);
+ ObjectStream<String> mucDocStream = new FileToStringSampleStream(
+ new DirectorySampleStream(params.getData(),
+ file -> StringUtil.toLowerCase(file.getName()).endsWith(".sgm"), false),
+ StandardCharsets.UTF_8);
- ObjectStream<String> mucDocStream = new FileToStringSampleStream(
- new DirectorySampleStream(params.getData(),
- file -> StringUtil.toLowerCase(file.getName()).endsWith(".sgm"), false),
- StandardCharsets.UTF_8);
-
- return new MucNameSampleStream(tokenizer, mucDocStream);
+ return new MucNameSampleStream(tokenizer, mucDocStream);
+ } catch (IOException e) {
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + e.getMessage(), e);
+ }
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucElementNames.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/MucElementNames.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucElementNames.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/MucElementNames.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/MucNameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/MucNameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/SgmlParser.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/SgmlParser.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/muc/SgmlParser.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/SgmlParser.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/muc/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/muc/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/muc/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocument.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocument.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocument.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocument.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactory.java
similarity index 89%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactory.java
index da9e5989..37596e5b 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactory.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactory.java
@@ -21,11 +21,12 @@ import java.io.File;
import java.io.IOException;
import opennlp.tools.cmdline.ArgumentParser;
-import opennlp.tools.cmdline.CmdLineUtil;
import opennlp.tools.cmdline.StreamFactoryRegistry;
+import opennlp.tools.cmdline.TerminateToolException;
import opennlp.tools.cmdline.params.BasicFormatParams;
import opennlp.tools.commons.Internal;
import opennlp.tools.formats.AbstractSampleStreamFactory;
+import opennlp.tools.formats.FormatUtil;
import opennlp.tools.sentdetect.SentenceSample;
import opennlp.tools.util.ObjectStream;
@@ -57,7 +58,7 @@ public class NKJPSentenceSampleStreamFactory extends
@Override
public ObjectStream<SentenceSample> create(String[] args) {
Parameters params = validateBasicFormatParameters(args, Parameters.class);
- CmdLineUtil.checkInputFile("Text", params.getTextFile());
+ FormatUtil.checkInputFile("Text", params.getTextFile());
NKJPSegmentationDocument segDoc = null;
NKJPTextDocument textDoc = null;
@@ -65,7 +66,8 @@ public class NKJPSentenceSampleStreamFactory extends
segDoc = NKJPSegmentationDocument.parse(params.getData());
textDoc = NKJPTextDocument.parse(params.getTextFile());
} catch (IOException ex) {
- CmdLineUtil.handleCreateObjectStreamError(ex);
+ throw new TerminateToolException(-1,
+ "IO Error while creating an Input Stream: " + ex.getMessage(), ex);
}
return new NKJPSentenceSampleStream(segDoc, textDoc);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPTextDocument.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPTextDocument.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/NKJPTextDocument.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/NKJPTextDocument.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/nkjp/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/nkjp/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/DocumentToLineStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/DocumentToLineStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/DocumentToLineStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/DocumentToLineStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesFormatParameters.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesFormatParameters.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesFormatParameters.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesFormatParameters.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/ontonotes/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/ontonotes/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/formats/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/formats/package-info.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/formats/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/package-info.java
similarity index 91%
copy from opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java
copy to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/package-info.java
index e64bbee3..7204600d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java
+++ b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/package-info.java
@@ -16,6 +16,6 @@
*/
/**
- * Package related to language models
+ * Contains packages which solve common NLP tasks.
*/
-package opennlp.tools.languagemodel;
+package opennlp.tools;
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/MarkableFileInputStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/util/MarkableFileInputStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/MarkableFileInputStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/util/MarkableFileInputStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/MarkableFileInputStreamFactory.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/util/MarkableFileInputStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/MarkableFileInputStreamFactory.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/util/MarkableFileInputStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/ParagraphStream.java b/opennlp-core/opennlp-formats/src/main/java/opennlp/tools/util/ParagraphStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/ParagraphStream.java
rename to opennlp-core/opennlp-formats/src/main/java/opennlp/tools/util/ParagraphStream.java
diff --git a/opennlp-uima/src/main/resources/opennlp/uima/util/ExceptionMessages_en.properties b/opennlp-core/opennlp-formats/src/main/resources/opennlp/tools/util/opennlp.version
similarity index 51%
copy from opennlp-uima/src/main/resources/opennlp/uima/util/ExceptionMessages_en.properties
copy to opennlp-core/opennlp-formats/src/main/resources/opennlp/tools/util/opennlp.version
index e5a69559..70bfa107 100644
--- a/opennlp-uima/src/main/resources/opennlp/uima/util/ExceptionMessages_en.properties
+++ b/opennlp-core/opennlp-formats/src/main/resources/opennlp/tools/util/opennlp.version
@@ -1,6 +1,5 @@
-#
# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
+# contributor license agreemnets. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
@@ -13,18 +12,6 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
-
-io_error_model_reading = I/O error occurred during model reading: {0}
-io_error_dictionary_reading = "I/O" error occurred during dictionary reading: {0};
-invalid_dictionary_format = The format of the dictionary is invalid: {0}
-
-parameter_not_found = The required parameter {0} can not be found!
-wrong_parameter_type = The parameter {0} does not have the expected type {1}!
-
-type_not_found = "Could not find {0} type!"
-
-feature_not_found = The type {0} does not have the feature {1}!
-wrong_feature_type = The Feature {0} must be of type {1}!
-range_type_unsupported = Range type is unsupported: {0}
+# Version is injected by the maven build, fall back version is 0.0.0-SNAPSHOT
+OpenNLP-Version: ${project.version}
\ No newline at end of file
diff --git a/opennlp-tools/src/test/java/opennlp/tools/AbstractTempDirTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/AbstractTempDirTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/AbstractTempDirTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/AbstractTempDirTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/AbstractFormatTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/AbstractFormatTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/AbstractFormatTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/AbstractFormatTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/AbstractSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/AbstractSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/AbstractSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/AbstractSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/AbstractSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/AbstractSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/AbstractSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/AbstractSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/BioNLP2004NameSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ChunkerSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ChunkerSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ChunkerSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ChunkerSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ConllXTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ConllXTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/DirectorySampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/DirectorySampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/DirectorySampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/DirectorySampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/LanguageDetectorSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/LemmatizerSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/LemmatizerSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/LemmatizerSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/LemmatizerSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/NameFinderCensus90NameStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/NameFinderCensus90NameStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/NameFinderCensus90NameStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/NameFinderCensus90NameStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/NameSampleDataStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/NameSampleDataStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/NameSampleDataStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/NameSampleDataStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ParseSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ParseSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ParseSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ParseSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/SentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/SentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/SentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/SentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/TokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/TokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/TokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/TokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/TwentyNewsgroupSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/WordTagSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/WordTagSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/WordTagSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/WordTagSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/ADTokenSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ad/AbstractADSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/AbstractADSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ad/AbstractADSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ad/AbstractADSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/brat/AbstractBratTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/AbstractBratTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/brat/AbstractBratTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/AbstractBratTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratAnnotationStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratAnnotationStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratAnnotationStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratAnnotationStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratDocumentParserTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratDocumentParserTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratDocumentParserTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratDocumentParserTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratDocumentTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratDocumentTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratDocumentTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratDocumentTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/brat/BratNameSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/AbstractConlluSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/AbstractConlluSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/AbstractConlluSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/AbstractConlluSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluLemmaSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluPOSSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluSentenceSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluTokenSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluWordLineTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluWordLineTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/conllu/ConlluWordLineTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/conllu/ConlluWordLineTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/AbstractConvertTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/AbstractConvertTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/AbstractConvertTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/AbstractConvertTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/NameToSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/NameToTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/POSToSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/POSToTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/ParseToPOSSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/ParseToSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/convert/ParseToTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocumentTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocumentTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocumentTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankDocumentTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankSentenceStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/irishsentencebank/IrishSentenceBankTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/leipzig/LeipzigLanguageSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/letsmt/LetsmtDocumentTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/letsmt/LetsmtDocumentTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/letsmt/LetsmtDocumentTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/letsmt/LetsmtDocumentTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/letsmt/LetsmtSentenceStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/AbstractMascSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/AbstractMascSampleStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/AbstractMascSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/AbstractMascSampleStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamTest.java
similarity index 97%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamTest.java
index 543bebeb..4b902db7 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamTest.java
+++ b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascNamedEntitySampleStreamTest.java
@@ -30,6 +30,7 @@ import opennlp.tools.namefind.TokenNameFinderEvaluator;
import opennlp.tools.namefind.TokenNameFinderFactory;
import opennlp.tools.namefind.TokenNameFinderModel;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.Span;
import opennlp.tools.util.TrainingParameters;
@@ -118,7 +119,7 @@ public class MascNamedEntitySampleStreamTest extends AbstractMascSampleStreamTes
new MascDocumentStream(directory, true, fileFilter));
TrainingParameters trainingParameters = new TrainingParameters();
- trainingParameters.put(TrainingParameters.ITERATIONS_PARAM, 100);
+ trainingParameters.put(Parameters.ITERATIONS_PARAM, 100);
TokenNameFinderModel model = NameFinderME.train("en", null, trainSample,
trainingParameters, new TokenNameFinderFactory());
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamTest.java
similarity index 97%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamTest.java
index 7a6d8456..2b2cbb09 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamTest.java
+++ b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascPOSSampleStreamTest.java
@@ -30,6 +30,7 @@ import opennlp.tools.postag.POSSample;
import opennlp.tools.postag.POSTaggerFactory;
import opennlp.tools.postag.POSTaggerME;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingParameters;
public class MascPOSSampleStreamTest extends AbstractMascSampleStreamTest {
@@ -110,7 +111,7 @@ public class MascPOSSampleStreamTest extends AbstractMascSampleStreamTest {
new MascDocumentStream(directory, true, fileFilter));
TrainingParameters trainingParameters = new TrainingParameters();
- trainingParameters.put(TrainingParameters.ITERATIONS_PARAM, 20);
+ trainingParameters.put(Parameters.ITERATIONS_PARAM, 20);
POSModel model = POSTaggerME.train("en", trainPOS,
trainingParameters, new POSTaggerFactory());
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamTest.java
similarity index 97%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamTest.java
index 24e7d569..f9f8dc02 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamTest.java
+++ b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascSentenceSampleStreamTest.java
@@ -33,6 +33,7 @@ import opennlp.tools.sentdetect.SentenceDetectorME;
import opennlp.tools.sentdetect.SentenceModel;
import opennlp.tools.sentdetect.SentenceSample;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.Span;
import opennlp.tools.util.TrainingParameters;
@@ -127,7 +128,7 @@ public class MascSentenceSampleStreamTest extends AbstractMascSampleStreamTest {
true, fileFilter), 1);
TrainingParameters trainingParameters = new TrainingParameters();
- trainingParameters.put(TrainingParameters.ITERATIONS_PARAM, 20);
+ trainingParameters.put(Parameters.ITERATIONS_PARAM, 20);
SentenceModel model = SentenceDetectorME.train("en", trainSentences,
new SentenceDetectorFactory(), trainingParameters);
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamTest.java
similarity index 97%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamTest.java
index 7ed972c2..d5a925ef 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamTest.java
+++ b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/masc/MascTokenSampleStreamTest.java
@@ -30,6 +30,7 @@ import opennlp.tools.tokenize.TokenizerFactory;
import opennlp.tools.tokenize.TokenizerME;
import opennlp.tools.tokenize.TokenizerModel;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.Span;
import opennlp.tools.util.TrainingParameters;
@@ -130,7 +131,7 @@ public class MascTokenSampleStreamTest extends AbstractMascSampleStreamTest {
new MascDocumentStream(directory, true, fileFilter));
TrainingParameters trainingParameters = new TrainingParameters();
- trainingParameters.put(TrainingParameters.ITERATIONS_PARAM, 20);
+ trainingParameters.put(Parameters.ITERATIONS_PARAM, 20);
TokenizerModel model = TokenizerME.train(trainTokens, new TokenizerFactory(
"en", null, false, null), trainingParameters);
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/moses/MosesSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/muc/DocumentSplitterStreamTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/muc/DocumentSplitterStreamTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/muc/DocumentSplitterStreamTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/muc/DocumentSplitterStreamTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/muc/Muc6NameSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/muc/SgmlParserTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/muc/SgmlParserTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/muc/SgmlParserTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/muc/SgmlParserTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocumentTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocumentTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocumentTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/nkjp/NKJPSegmentationDocumentTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/nkjp/NKJPSentenceSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/nkjp/NKJPTextDocumentTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/nkjp/NKJPTextDocumentTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/nkjp/NKJPTextDocumentTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/nkjp/NKJPTextDocumentTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesNameSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesPOSSampleStreamFactoryTest.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactoryTest.java b/opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactoryTest.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactoryTest.java
rename to opennlp-core/opennlp-formats/src/test/java/opennlp/tools/formats/ontonotes/OntoNotesParseSampleStreamFactoryTest.java
diff --git a/opennlp-core/opennlp-formats/src/test/resources/logback-test.xml b/opennlp-core/opennlp-formats/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..1baae291
--- /dev/null
+++ b/opennlp-core/opennlp-formats/src/test/resources/logback-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<configuration>
+
+ <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%date{HH:mm:ss.SSS} [%thread] %-4level %class{36}.%method:%line - %msg%n</pattern>
+ </encoder>
+ </appender>
+
+ <logger name="opennlp" level="off"/>
+
+ <logger name="opennlp.tools.cmdline.namefind" level="off"/>
+
+ <logger name="opennlp.tools.cmdline.CmdLineUtil" level="off"/>
+
+ <root level="off">
+ <appender-ref ref="consoleAppender" />
+ </root>
+
+</configuration>
\ No newline at end of file
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/20newsgroup/sci.electronics/52794.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/20newsgroup/sci.electronics/52794.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/20newsgroup/sci.electronics/52794.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/20newsgroup/sci.electronics/52794.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/ad/ad.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/ad/ad.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/ad/ad.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/ad/ad.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/bionlp2004-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/bionlp2004-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/bionlp2004-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/bionlp2004-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/brat-ann.conf b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/brat-ann.conf
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/brat-ann.conf
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/brat-ann.conf
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.ann b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.ann
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.ann
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.ann
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/opennlp-1193.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.ann b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.ann
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.ann
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.ann
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities-overlapping.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.ann b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.ann
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.ann
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.ann
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-entities.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.ann b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.ann
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.ann
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.ann
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brat/voa-with-relations.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/brown-cluster.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brown-cluster.txt
similarity index 100%
copy from opennlp-tools/src/test/resources/opennlp/tools/formats/brown-cluster.txt
copy to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/brown-cluster.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/census90.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/census90.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/census90.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/census90.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/chunker-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/chunker-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/chunker-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/chunker-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conll2002-es.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2002-es.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conll2002-es.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2002-es.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conll2002-nl.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2002-nl.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conll2002-nl.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2002-nl.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conll2003-de.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2003-de.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conll2003-de.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2003-de.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conll2003-en.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2003-en.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conll2003-en.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conll2003-en.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/de-ud-train-sample.conllu b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/de-ud-train-sample.conllu
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/de-ud-train-sample.conllu
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/de-ud-train-sample.conllu
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/es-ud-sample.conllu b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/es-ud-sample.conllu
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/es-ud-sample.conllu
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/es-ud-sample.conllu
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/full-sample.conllu b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/full-sample.conllu
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/full-sample.conllu
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/full-sample.conllu
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/pt_br-ud-sample.conllu b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/pt_br-ud-sample.conllu
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conllu/pt_br-ud-sample.conllu
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllu/pt_br-ud-sample.conllu
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/conllx.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllx.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/conllx.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/conllx.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-02.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-02.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-02.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-02.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-03.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-03.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-03.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-03.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-broken.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-broken.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-broken.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-broken.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-incorrect.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-incorrect.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/evalita-ner-it-incorrect.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/evalita-ner-it-incorrect.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/frenchtreebank/sample1.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/frenchtreebank/sample1.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/frenchtreebank/sample1.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/frenchtreebank/sample1.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/irishsentencebank/irishsentencebank-sample.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/irishsentencebank/irishsentencebank-sample.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/irishsentencebank/irishsentencebank-sample.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/irishsentencebank/irishsentencebank-sample.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/lang-detect-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/lang-detect-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/lang-detect-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/lang-detect-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig-en.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig-en.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig-en.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig-en.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/.hidden b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/.hidden
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/.hidden
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/.hidden
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/123-skipped.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/123-skipped.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/123-skipped.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/123-skipped.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/dan-sentences.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/dan-sentences.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/dan-sentences.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/dan-sentences.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/dontread/xxx-sentences.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/dontread/xxx-sentences.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/dontread/xxx-sentences.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/dontread/xxx-sentences.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/eng-sentences.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/eng-sentences.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/leipzig/samples/eng-sentences.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/leipzig/samples/eng-sentences.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/lemma-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/lemma-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/lemma-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/lemma-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/letsmt/letsmt-with-words.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/letsmt/letsmt-with-words.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/letsmt/letsmt-with-words.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/letsmt/letsmt-with-words.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-ne.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-ne.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-ne.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-ne.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-penn.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-penn.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-penn.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-penn.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-s.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-s.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-s.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-s.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-seg.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-seg.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC-seg.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC-seg.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC.hdr b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC.hdr
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC.hdr
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC.hdr
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC.txt b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC.txt
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/masc/fakeMASC.txt
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/masc/fakeMASC.txt
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/moses/moses-tiny.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/moses/moses-tiny.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/moses/moses-tiny.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/moses/moses-tiny.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/muc/LDC2003T13.sgm b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/muc/LDC2003T13.sgm
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/muc/LDC2003T13.sgm
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/muc/LDC2003T13.sgm
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/muc/parsertest1.sgml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/muc/parsertest1.sgml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/muc/parsertest1.sgml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/muc/parsertest1.sgml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/name-data-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/name-data-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/name-data-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/name-data-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/nkjp/ann_segmentation.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/nkjp/ann_segmentation.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/nkjp/ann_segmentation.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/nkjp/ann_segmentation.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/nkjp/text_structure.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/nkjp/text_structure.xml
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/nkjp/text_structure.xml
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/nkjp/text_structure.xml
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-01.name b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-01.name
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-01.name
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-01.name
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-02.parse b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-02.parse
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-02.parse
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/ontonotes/ontonotes-sample-02.parse
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/parse-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/parse-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/parse-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/parse-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/sentences-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/sentences-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/sentences-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/sentences-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/tokens-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/tokens-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/tokens-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/tokens-01.sample
diff --git a/opennlp-tools/src/test/resources/opennlp/tools/formats/word-tags-01.sample b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/word-tags-01.sample
similarity index 100%
rename from opennlp-tools/src/test/resources/opennlp/tools/formats/word-tags-01.sample
rename to opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/formats/word-tags-01.sample
diff --git a/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/tokenize/latin-detokenizer.xml b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/tokenize/latin-detokenizer.xml
new file mode 100644
index 00000000..61af4d87
--- /dev/null
+++ b/opennlp-core/opennlp-formats/src/test/resources/opennlp/tools/tokenize/latin-detokenizer.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<dictionary>
+ <entry operation="MOVE_LEFT">
+ <token>.</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>?</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>!</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>,</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>;</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>:</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>)</token>
+ </entry>
+ <entry operation="MOVE_RIGHT">
+ <token>(</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>}</token>
+ </entry>
+ <entry operation="MOVE_RIGHT">
+ <token>{</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>]</token>
+ </entry>
+ <entry operation="MOVE_RIGHT">
+ <token>[</token>
+ </entry>
+ <entry operation="MOVE_RIGHT">
+ <token>``</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>''</token>
+ </entry>
+ <entry operation="MOVE_LEFT">
+ <token>%</token>
+ </entry>
+ <entry operation="RIGHT_LEFT_MATCHING">
+ <token>"</token>
+ </entry>
+ <entry operation="RIGHT_LEFT_MATCHING">
+ <token>"</token>
+ </entry>
+ <entry operation="MOVE_BOTH">
+ <token>-</token>
+ </entry>
+</dictionary>
\ No newline at end of file
diff --git a/opennlp-dl/pom.xml b/opennlp-core/opennlp-ml/pom.xml
similarity index 59%
copy from opennlp-dl/pom.xml
copy to opennlp-core/opennlp-ml/pom.xml
index ef84ee97..02888957 100644
--- a/opennlp-dl/pom.xml
+++ b/opennlp-core/opennlp-ml/pom.xml
@@ -19,32 +19,35 @@
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.opennlp</groupId>
- <artifactId>opennlp</artifactId>
+ <artifactId>opennlp-core</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
- <groupId>org.apache.opennlp</groupId>
- <artifactId>opennlp-dl</artifactId>
- <name>Apache OpenNLP DL</name>
+
+ <artifactId>opennlp-ml</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache OpenNLP Machine Learning</name>
+
<dependencies>
+ <!-- Internal dependencies -->
<dependency>
<groupId>org.apache.opennlp</groupId>
- <artifactId>opennlp-tools</artifactId>
+ <artifactId>opennlp-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>com.microsoft.onnxruntime</groupId>
- <artifactId>onnxruntime</artifactId>
- <version>${onnxruntime.version}</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-runtime</artifactId>
+ <version>${project.version}</version>
</dependency>
+
+ <!-- TEST scoped -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
@@ -56,26 +59,9 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
+</project>
\ No newline at end of file
diff --git a/opennlp-core/opennlp-models/pom.xml b/opennlp-core/opennlp-models/pom.xml
new file mode 100644
index 00000000..6167ba12
--- /dev/null
+++ b/opennlp-core/opennlp-models/pom.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-core</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>opennlp-models</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache OpenNLP Core Models</name>
+
+ <dependencies>
+ <!-- Internal dependencies -->
+ <dependency>
+ <artifactId>opennlp-api</artifactId>
+ <groupId>${project.groupId}</groupId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-runtime</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- External dependencies -->
+ <dependency>
+ <groupId>io.github.classgraph</groupId>
+ <artifactId>classgraph</artifactId>
+ <version>${classgraph.version}</version>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <!-- TEST scoped -->
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- TEST Models -->
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-models-sentdetect-en</artifactId>
+ <version>${opennlp.models.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-models-tokenizer-en</artifactId>
+ <version>${opennlp.models.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-models-pos-en</artifactId>
+ <version>${opennlp.models.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-models-langdetect</artifactId>
+ <version>${opennlp.models.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkCount>${opennlp.forkCount}</forkCount>
+ <useSystemClassLoader>false</useSystemClassLoader>
+ <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
+ </configuration>
+ <executions>
+ <execution>
+ <id>with-reflection</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <argLine>-Xmx2048m -Dorg.slf4j.simpleLogger.defaultLogLevel=off --add-opens java.base/jdk.internal.loader=ALL-UNNAMED</argLine>
+ </configuration>
+ </execution>
+ <!-- This phase is here to trigger a fallback to the classpath from the system properties, which cannot be hit, if add-opens is present. -->
+ <execution>
+ <id>no-reflection</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <argLine>-Xmx2048m -Dorg.slf4j.simpleLogger.defaultLogLevel=off</argLine>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/AbstractClassPathModelFinder.java b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/AbstractClassPathModelFinder.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/AbstractClassPathModelFinder.java
rename to opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/AbstractClassPathModelFinder.java
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModel.java b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/ClassPathModel.java
similarity index 97%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModel.java
rename to opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/ClassPathModel.java
index d50f4580..e1c26315 100644
--- a/opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModel.java
+++ b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/ClassPathModel.java
@@ -33,8 +33,6 @@ import java.util.Properties;
* }</pre>
* as long as you make sure the model matches its type by using
* its name or other, more specific properties.
- *
- * @see opennlp.tools.util.model.BaseModel
*/
public record ClassPathModel(Properties properties, byte[] model) {
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelLoader.java b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/ClassPathModelLoader.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelLoader.java
rename to opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/ClassPathModelLoader.java
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelProvider.java b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/ClassPathModelProvider.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/ClassPathModelProvider.java
rename to opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/ClassPathModelProvider.java
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/DefaultClassPathModelProvider.java b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/DefaultClassPathModelProvider.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/DefaultClassPathModelProvider.java
rename to opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/DefaultClassPathModelProvider.java
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/classgraph/ClassgraphModelFinder.java b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/classgraph/ClassgraphModelFinder.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/classgraph/ClassgraphModelFinder.java
rename to opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/classgraph/ClassgraphModelFinder.java
diff --git a/opennlp-tools-models/src/main/java/opennlp/tools/models/simple/SimpleClassPathModelFinder.java b/opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/simple/SimpleClassPathModelFinder.java
similarity index 100%
rename from opennlp-tools-models/src/main/java/opennlp/tools/models/simple/SimpleClassPathModelFinder.java
rename to opennlp-core/opennlp-models/src/main/java/opennlp/tools/models/simple/SimpleClassPathModelFinder.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractClassPathFinderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractClassPathFinderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractClassPathFinderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractClassPathFinderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractClassPathModelTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractClassPathModelTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractClassPathModelTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractClassPathModelTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractModelLoaderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractModelLoaderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractModelLoaderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractModelLoaderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractModelUsageTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractModelUsageTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/AbstractModelUsageTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/AbstractModelUsageTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/ClassPathModelLoaderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/ClassPathModelLoaderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/ClassPathModelLoaderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/ClassPathModelLoaderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/DefaultClassPathModelProviderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/DefaultClassPathModelProviderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/DefaultClassPathModelProviderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/DefaultClassPathModelProviderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelFinderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelFinderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelFinderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelFinderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelLoaderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelLoaderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelLoaderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelLoaderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelUsageTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelUsageTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelUsageTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/classgraph/ClassgraphModelUsageTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/simple/SimpleClassPathModelFinderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/simple/SimpleClassPathModelFinderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/simple/SimpleClassPathModelFinderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/simple/SimpleClassPathModelFinderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/simple/SimpleModelLoaderTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/simple/SimpleModelLoaderTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/simple/SimpleModelLoaderTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/simple/SimpleModelLoaderTest.java
diff --git a/opennlp-tools-models/src/test/java/opennlp/tools/models/simple/SimpleModelUsageTest.java b/opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/simple/SimpleModelUsageTest.java
similarity index 100%
rename from opennlp-tools-models/src/test/java/opennlp/tools/models/simple/SimpleModelUsageTest.java
rename to opennlp-core/opennlp-models/src/test/java/opennlp/tools/models/simple/SimpleModelUsageTest.java
diff --git a/opennlp-tools/pom.xml b/opennlp-core/opennlp-runtime/pom.xml
similarity index 68%
copy from opennlp-tools/pom.xml
copy to opennlp-core/opennlp-runtime/pom.xml
index 43bb5ebc..88a5a77b 100644
--- a/opennlp-tools/pom.xml
+++ b/opennlp-core/opennlp-runtime/pom.xml
@@ -1,56 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
-
<parent>
<groupId>org.apache.opennlp</groupId>
- <artifactId>opennlp</artifactId>
+ <artifactId>opennlp-core</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>opennlp-tools</artifactId>
+ <artifactId>opennlp-runtime</artifactId>
<packaging>jar</packaging>
- <name>Apache OpenNLP Tools</name>
+ <name>Apache OpenNLP Core Runtime</name>
<dependencies>
+ <!-- Internal dependencies -->
+ <dependency>
+ <artifactId>opennlp-api</artifactId>
+ <groupId>${project.groupId}</groupId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- External dependencies -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
+ <!-- TEST scoped -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
-
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
-
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
@@ -71,7 +58,6 @@
<version>${logcaptor.version}</version>
<scope>test</scope>
</dependency>
-
</dependencies>
<build>
@@ -82,30 +68,6 @@
</resource>
</resources>
<plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <mainClass>opennlp.tools.cmdline.CLI</mainClass>
- </manifest>
- <manifestEntries>
- <Automatic-Module-Name>org.apache.opennlp.tools</Automatic-Module-Name>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
@@ -184,4 +146,5 @@
</build>
</profile>
</profiles>
-</project>
+
+</project>
\ No newline at end of file
diff --git a/opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/BenchmarkRunner.java b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/BenchmarkRunner.java
similarity index 100%
rename from opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/BenchmarkRunner.java
rename to opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/BenchmarkRunner.java
diff --git a/opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/StringDeduplicationBenchmark.java b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/StringDeduplicationBenchmark.java
similarity index 100%
rename from opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/StringDeduplicationBenchmark.java
rename to opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/StringDeduplicationBenchmark.java
diff --git a/opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/StringListBenchmark.java b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/StringListBenchmark.java
similarity index 100%
rename from opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/StringListBenchmark.java
rename to opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/StringListBenchmark.java
diff --git a/opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/jmh/ExecutionPlan.java b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/jmh/ExecutionPlan.java
similarity index 100%
rename from opennlp-tools/src/jmh/java/opennlp/tools/util/jvm/jmh/ExecutionPlan.java
rename to opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/util/jvm/jmh/ExecutionPlan.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSampleSequenceStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkSampleSequenceStream.java
similarity index 95%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSampleSequenceStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkSampleSequenceStream.java
index d54fd456..67e3508b 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSampleSequenceStream.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkSampleSequenceStream.java
@@ -19,8 +19,8 @@ package opennlp.tools.chunker;
import java.io.IOException;
-import opennlp.tools.ml.model.AbstractModel;
import opennlp.tools.ml.model.Event;
+import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.ml.model.Sequence;
import opennlp.tools.ml.model.SequenceStream;
import opennlp.tools.util.ObjectStream;
@@ -69,7 +69,7 @@ public class ChunkSampleSequenceStream implements SequenceStream<ChunkSample> {
}
@Override
- public Event[] updateContext(Sequence<ChunkSample> sequence, AbstractModel model) {
+ public Event[] updateContext(Sequence<ChunkSample> sequence, MaxentModel model) {
// TODO: Should be implemented for Perceptron sequence learning ...
return null;
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerCrossValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerCrossValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerCrossValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerCrossValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerME.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerME.java
index d0daf86b..fc47b885 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerME.java
@@ -163,11 +163,12 @@ public class ChunkerME implements Chunker {
if (TrainerType.EVENT_MODEL_TRAINER.equals(trainerType)) {
ObjectStream<Event> es = new ChunkerEventStream(in, factory.getContextGenerator());
- EventTrainer trainer = TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
+ EventTrainer<TrainingParameters> trainer =
+ TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
chunkerModel = trainer.train(es);
}
else if (TrainerType.SEQUENCE_TRAINER.equals(trainerType)) {
- SequenceTrainer trainer = TrainerFactory.getSequenceModelTrainer(
+ SequenceTrainer<TrainingParameters> trainer = TrainerFactory.getSequenceModelTrainer(
mlParams, manifestInfoEntries);
// TODO: This will probably cause issue, since the feature generator uses the outcomes array
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkerModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ChunkerModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/DefaultChunkerContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/DefaultChunkerContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/DefaultChunkerContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/DefaultChunkerContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/DefaultChunkerSequenceValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/DefaultChunkerSequenceValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/DefaultChunkerSequenceValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/DefaultChunkerSequenceValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/ThreadSafeChunkerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ThreadSafeChunkerME.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/ThreadSafeChunkerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/ThreadSafeChunkerME.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/chunker/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/chunker/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/chunker/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/dictionary/Dictionary.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/Dictionary.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/dictionary/Dictionary.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/Dictionary.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/dictionary/Index.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/Index.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/dictionary/Index.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/Index.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/dictionary/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/dictionary/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/DictionaryEntryPersistor.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/DictionaryEntryPersistor.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/DictionaryEntryPersistor.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/DictionaryEntryPersistor.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Entry.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/Entry.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Entry.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/Entry.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/EntryInserter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/EntryInserter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/EntryInserter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/dictionary/serializer/EntryInserter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/BagOfWordsFeatureGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/BagOfWordsFeatureGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/BagOfWordsFeatureGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/BagOfWordsFeatureGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatCrossValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DoccatCrossValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatCrossValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DoccatCrossValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DoccatFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DoccatFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DoccatModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DoccatModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DoccatModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java
similarity index 98%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java
index 8d2155d7..b496e808 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentCategorizerME.java
@@ -144,7 +144,7 @@ public class DocumentCategorizerME implements DocumentCategorizer {
Map<String, String> manifestInfoEntries = new HashMap<>();
- EventTrainer trainer = TrainerFactory.getEventTrainer(
+ EventTrainer<TrainingParameters> trainer = TrainerFactory.getEventTrainer(
mlParams, manifestInfoEntries);
MaxentModel model = trainer.train(
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/DocumentSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/NGramFeatureGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/NGramFeatureGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/NGramFeatureGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/NGramFeatureGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/doccat/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/doccat/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/doccat/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinkerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/entitylinker/EntityLinkerFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/entitylinker/EntityLinkerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/entitylinker/EntityLinkerFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/entitylinker/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/entitylinker/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/entitylinker/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/entitylinker/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/DefaultLanguageDetectorContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/DefaultLanguageDetectorContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/DefaultLanguageDetectorContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/DefaultLanguageDetectorContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorConfig.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorConfig.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorConfig.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorConfig.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorCrossValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorCrossValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorCrossValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorCrossValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorME.java
similarity index 99%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorME.java
index 0bb386fc..345c71ba 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorME.java
@@ -274,7 +274,7 @@ public class LanguageDetectorME implements LanguageDetector {
mlParams.putIfAbsent(AbstractEventTrainer.DATA_INDEXER_PARAM,
AbstractEventTrainer.DATA_INDEXER_ONE_PASS_VALUE);
- EventTrainer trainer = TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
+ EventTrainer<TrainingParameters> trainer = TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
MaxentModel model = trainer.train(
new LanguageDetectorEventStream(samples, factory.getContextGenerator()));
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/LanguageDetectorSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/LanguageDetectorSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/ProbingLanguageDetectionResult.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/ProbingLanguageDetectionResult.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/ProbingLanguageDetectionResult.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/ProbingLanguageDetectionResult.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/ThreadSafeLanguageDetectorME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/ThreadSafeLanguageDetectorME.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/ThreadSafeLanguageDetectorME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/ThreadSafeLanguageDetectorME.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/langdetect/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/langdetect/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/langdetect/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/NGramLanguageModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/languagemodel/NGramLanguageModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/languagemodel/NGramLanguageModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/languagemodel/NGramLanguageModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/languagemodel/package-info.java
similarity index 100%
copy from opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java
copy to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/languagemodel/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerSequenceValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerSequenceValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerSequenceValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/DefaultLemmatizerSequenceValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/DictionaryLemmatizer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/DictionaryLemmatizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/DictionaryLemmatizer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/DictionaryLemmatizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSampleEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmaSampleEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSampleEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmaSampleEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSampleSequenceStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmaSampleSequenceStream.java
similarity index 95%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSampleSequenceStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmaSampleSequenceStream.java
index a086a9e4..930cc331 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSampleSequenceStream.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmaSampleSequenceStream.java
@@ -19,8 +19,8 @@ package opennlp.tools.lemmatizer;
import java.io.IOException;
-import opennlp.tools.ml.model.AbstractModel;
import opennlp.tools.ml.model.Event;
+import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.ml.model.Sequence;
import opennlp.tools.ml.model.SequenceStream;
import opennlp.tools.util.ObjectStream;
@@ -63,7 +63,7 @@ public class LemmaSampleSequenceStream implements SequenceStream<LemmaSample> {
}
@Override
- public Event[] updateContext(Sequence<LemmaSample> sequence, AbstractModel model) {
+ public Event[] updateContext(Sequence<LemmaSample> sequence, MaxentModel model) {
// TODO: Should be implemented for Perceptron sequence learning ...
return null;
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmaSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmaSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmaSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerME.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerME.java
index e0170051..87aee940 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerME.java
@@ -261,18 +261,18 @@ public class LemmatizerME implements Lemmatizer {
if (TrainerType.EVENT_MODEL_TRAINER.equals(trainerType)) {
ObjectStream<Event> es = new LemmaSampleEventStream(samples, contextGenerator);
- EventTrainer trainer = TrainerFactory.getEventTrainer(params,
- manifestInfoEntries);
+ EventTrainer<TrainingParameters> trainer =
+ TrainerFactory.getEventTrainer(params, manifestInfoEntries);
lemmatizerModel = trainer.train(es);
}
else if (TrainerType.EVENT_MODEL_SEQUENCE_TRAINER.equals(trainerType)) {
LemmaSampleSequenceStream ss = new LemmaSampleSequenceStream(samples, contextGenerator);
- EventModelSequenceTrainer<LemmaSample> trainer =
+ EventModelSequenceTrainer<LemmaSample, TrainingParameters> trainer =
TrainerFactory.getEventModelSequenceTrainer(params, manifestInfoEntries);
lemmatizerModel = trainer.train(ss);
}
else if (TrainerType.SEQUENCE_TRAINER.equals(trainerType)) {
- SequenceTrainer trainer = TrainerFactory.getSequenceModelTrainer(
+ SequenceTrainer<TrainingParameters> trainer = TrainerFactory.getSequenceModelTrainer(
params, manifestInfoEntries);
// TODO: This will probably cause issue, since the feature generator uses the outcomes array
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/LemmatizerModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/LemmatizerModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/ThreadSafeLemmatizerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/ThreadSafeLemmatizerME.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/ThreadSafeLemmatizerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/ThreadSafeLemmatizerME.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/lemmatizer/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/lemmatizer/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/lemmatizer/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/log/LogPrintStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/log/LogPrintStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/log/LogPrintStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/log/LogPrintStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/log/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/log/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/log/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/log/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventModelSequenceTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractEventModelSequenceTrainer.java
similarity index 83%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventModelSequenceTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractEventModelSequenceTrainer.java
index cdbd267f..cd5a9519 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventModelSequenceTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractEventModelSequenceTrainer.java
@@ -22,13 +22,13 @@ import java.io.IOException;
import opennlp.tools.ml.model.Event;
import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.ml.model.SequenceStream;
-import opennlp.tools.util.TrainingParameters;
+import opennlp.tools.util.Parameters;
/**
* A basic {@link EventModelSequenceTrainer} implementation that processes {@link Event events}.
*/
-public abstract class AbstractEventModelSequenceTrainer extends AbstractTrainer implements
- EventModelSequenceTrainer<Event> {
+public abstract class AbstractEventModelSequenceTrainer<P extends Parameters>
+ extends AbstractTrainer<P> implements EventModelSequenceTrainer<Event, P> {
public AbstractEventModelSequenceTrainer() {
}
@@ -40,7 +40,7 @@ public abstract class AbstractEventModelSequenceTrainer extends AbstractTrainer
validate();
MaxentModel model = doTrain(events);
- addToReport(TrainingParameters.TRAINER_TYPE_PARAM, EventModelSequenceTrainer.SEQUENCE_VALUE);
+ addToReport(Parameters.TRAINER_TYPE_PARAM, EventModelSequenceTrainer.SEQUENCE_VALUE);
return model;
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java
similarity index 74%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java
index 19b3ba6e..97b5877a 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractEventTrainer.java
@@ -27,12 +27,13 @@ import opennlp.tools.ml.model.Event;
import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.util.InsufficientTrainingDataException;
import opennlp.tools.util.ObjectStream;
-import opennlp.tools.util.TrainingParameters;
+import opennlp.tools.util.Parameters;
/**
* A basic {@link EventTrainer} implementation.
*/
-public abstract class AbstractEventTrainer extends AbstractTrainer implements EventTrainer {
+public abstract class AbstractEventTrainer<P extends Parameters>
+ extends AbstractTrainer<P> implements EventTrainer<P> {
public static final String DATA_INDEXER_PARAM = "DataIndexer";
public static final String DATA_INDEXER_ONE_PASS_VALUE = "OnePass";
@@ -42,7 +43,7 @@ public abstract class AbstractEventTrainer extends AbstractTrainer implements Ev
public AbstractEventTrainer() {
}
- public AbstractEventTrainer(TrainingParameters parameters) {
+ public AbstractEventTrainer(P parameters) {
super(parameters);
}
@@ -53,23 +54,23 @@ public abstract class AbstractEventTrainer extends AbstractTrainer implements Ev
public abstract boolean isSortAndMerge();
- public DataIndexer getDataIndexer(ObjectStream<Event> events) throws IOException {
+ public DataIndexer<P> getDataIndexer(ObjectStream<Event> events) throws IOException {
trainingParameters.put(AbstractDataIndexer.SORT_PARAM, isSortAndMerge());
// If the cutoff was set, don't overwrite the value.
- if (trainingParameters.getIntParameter(TrainingParameters.CUTOFF_PARAM, -1) == -1) {
- trainingParameters.put(TrainingParameters.CUTOFF_PARAM, TrainingParameters.CUTOFF_DEFAULT_VALUE);
+ if (trainingParameters.getIntParameter(Parameters.CUTOFF_PARAM, -1) == -1) {
+ trainingParameters.put(Parameters.CUTOFF_PARAM, Parameters.CUTOFF_DEFAULT_VALUE);
}
- DataIndexer indexer = DataIndexerFactory.getDataIndexer(trainingParameters, reportMap);
+ DataIndexer<P> indexer = DataIndexerFactory.getDataIndexer(trainingParameters, reportMap);
indexer.index(events);
return indexer;
}
- public abstract MaxentModel doTrain(DataIndexer indexer) throws IOException;
+ public abstract MaxentModel doTrain(DataIndexer<P> indexer) throws IOException;
@Override
- public final MaxentModel train(DataIndexer indexer) throws IOException {
+ public final MaxentModel train(DataIndexer<P> indexer) throws IOException {
validate();
if (indexer.getOutcomeLabels().length <= 1) {
@@ -77,7 +78,7 @@ public abstract class AbstractEventTrainer extends AbstractTrainer implements Ev
}
MaxentModel model = doTrain(indexer);
- addToReport(TrainingParameters.TRAINER_TYPE_PARAM, EventTrainer.EVENT_VALUE);
+ addToReport(Parameters.TRAINER_TYPE_PARAM, EVENT_VALUE);
return model;
}
@@ -86,7 +87,7 @@ public abstract class AbstractEventTrainer extends AbstractTrainer implements Ev
validate();
ChecksumEventStream hses = new ChecksumEventStream(events);
- DataIndexer indexer = getDataIndexer(hses);
+ DataIndexer<P> indexer = getDataIndexer(hses);
addToReport("Training-Eventhash", String.valueOf(hses.calculateChecksum()));
return train(indexer);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractMLModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractMLModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/AbstractMLModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractMLModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractTrainer.java
similarity index 63%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/AbstractTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractTrainer.java
index 2401e35f..ad3ae379 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/AbstractTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/AbstractTrainer.java
@@ -22,12 +22,12 @@ import java.util.Map;
import opennlp.tools.commons.Trainer;
import opennlp.tools.ml.maxent.GISTrainer;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingConfiguration;
-import opennlp.tools.util.TrainingParameters;
-public abstract class AbstractTrainer implements Trainer {
+public abstract class AbstractTrainer<P extends Parameters> implements Trainer<P> {
- protected TrainingParameters trainingParameters;
+ protected P trainingParameters;
protected Map<String,String> reportMap;
protected TrainingConfiguration trainingConfiguration;
@@ -35,23 +35,23 @@ public abstract class AbstractTrainer implements Trainer {
}
/**
- * Initializes a {@link AbstractTrainer} via {@link TrainingParameters}.
+ * Initializes a {@link AbstractTrainer} via {@link Parameters}.
*
- * @param trainParams The {@link TrainingParameters} to use.
+ * @param trainParams The {@link Parameters} to use.
*/
- public AbstractTrainer(TrainingParameters trainParams) {
+ public AbstractTrainer(P trainParams) {
init(trainParams,new HashMap<>());
}
/**
- * Initializes a {@link AbstractTrainer} via {@link TrainingParameters} and
+ * Initializes a {@link AbstractTrainer} via {@link Parameters} and
* a {@link Map report map}.
*
- * @param trainParams The {@link TrainingParameters} to use.
+ * @param trainParams The {@link Parameters} to use.
* @param reportMap The {@link Map} instance used as report map.
*/
@Override
- public void init(TrainingParameters trainParams, Map<String,String> reportMap) {
+ public void init(P trainParams, Map<String,String> reportMap) {
this.trainingParameters = trainParams;
if (reportMap == null) reportMap = new HashMap<>();
this.reportMap = reportMap;
@@ -61,38 +61,38 @@ public abstract class AbstractTrainer implements Trainer {
* {@inheritDoc}
*/
@Override
- public void init(TrainingParameters trainParams, Map<String, String> reportMap,
+ public void init(P trainParams, Map<String, String> reportMap,
TrainingConfiguration config) {
init(trainParams, reportMap);
this.trainingConfiguration = config;
}
/**
- * @return Retrieves the configured {@link TrainingParameters#ALGORITHM_PARAM} value.
+ * @return Retrieves the configured {@link Parameters#ALGORITHM_PARAM} value.
*/
public String getAlgorithm() {
- return trainingParameters.getStringParameter(TrainingParameters.ALGORITHM_PARAM,
+ return trainingParameters.getStringParameter(Parameters.ALGORITHM_PARAM,
GISTrainer.MAXENT_VALUE);
}
/**
- * @return Retrieves the configured {@link TrainingParameters#CUTOFF_PARAM} value.
+ * @return Retrieves the configured {@link Parameters#CUTOFF_PARAM} value.
*/
public int getCutoff() {
- return trainingParameters.getIntParameter(TrainingParameters.CUTOFF_PARAM,
- TrainingParameters.CUTOFF_DEFAULT_VALUE);
+ return trainingParameters.getIntParameter(Parameters.CUTOFF_PARAM,
+ Parameters.CUTOFF_DEFAULT_VALUE);
}
/**
- * @return Retrieves the configured {@link TrainingParameters#ITERATIONS_PARAM} value.
+ * @return Retrieves the configured {@link Parameters#ITERATIONS_PARAM} value.
*/
public int getIterations() {
- return trainingParameters.getIntParameter(TrainingParameters.ITERATIONS_PARAM,
- TrainingParameters.ITERATIONS_DEFAULT_VALUE);
+ return trainingParameters.getIntParameter(Parameters.ITERATIONS_PARAM,
+ Parameters.ITERATIONS_DEFAULT_VALUE);
}
/**
- * Checks the configured {@link TrainingParameters parameters}.
+ * Checks the configured {@link Parameters parameters}.
* If a subclass overrides this, it should call {@code super.validate();}.
*
* @throws IllegalArgumentException Thrown if default training parameters are invalid.
@@ -102,10 +102,10 @@ public abstract class AbstractTrainer implements Trainer {
// should validate if algorithm is set? What about the Parser?
try {
- trainingParameters.getIntParameter(TrainingParameters.CUTOFF_PARAM,
- TrainingParameters.CUTOFF_DEFAULT_VALUE);
- trainingParameters.getIntParameter(TrainingParameters.ITERATIONS_PARAM,
- TrainingParameters.ITERATIONS_DEFAULT_VALUE);
+ trainingParameters.getIntParameter(Parameters.CUTOFF_PARAM,
+ Parameters.CUTOFF_DEFAULT_VALUE);
+ trainingParameters.getIntParameter(Parameters.ITERATIONS_PARAM,
+ Parameters.ITERATIONS_DEFAULT_VALUE);
} catch (NumberFormatException e) {
throw new IllegalArgumentException(e);
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/BeamSearch.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/BeamSearch.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/BeamSearch.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/BeamSearch.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/TrainerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/TrainerFactory.java
similarity index 74%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/TrainerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/TrainerFactory.java
index 6aaf73b6..c8929e0e 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/TrainerFactory.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/TrainerFactory.java
@@ -27,6 +27,7 @@ import opennlp.tools.ml.naivebayes.NaiveBayesTrainer;
import opennlp.tools.ml.perceptron.PerceptronTrainer;
import opennlp.tools.ml.perceptron.SimplePerceptronSequenceTrainer;
import opennlp.tools.monitoring.DefaultTrainingProgressMonitor;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingConfiguration;
import opennlp.tools.util.TrainingParameters;
import opennlp.tools.util.ext.ExtensionLoader;
@@ -34,7 +35,7 @@ import opennlp.tools.util.ext.ExtensionNotLoadedException;
/**
* A factory to initialize {@link Trainer} instances depending on a trainer type
- * configured via {@link TrainingParameters}.
+ * configured via {@link Parameters}.
*/
public class TrainerFactory {
@@ -45,7 +46,7 @@ public class TrainerFactory {
}
// built-in trainers
- private static final Map<String, Class<? extends Trainer>> BUILTIN_TRAINERS;
+ private static final Map<String, Class<? extends Trainer<TrainingParameters>>> BUILTIN_TRAINERS;
/*
* Initialize the built-in trainers
@@ -61,21 +62,21 @@ public class TrainerFactory {
/**
* Determines the {@link TrainerType} based on the
- * {@link TrainingParameters#ALGORITHM_PARAM} value.
+ * {@link Parameters#ALGORITHM_PARAM} value.
*
- * @param trainParams - A mapping of {@link TrainingParameters training parameters}.
+ * @param trainParams - A mapping of {@link Parameters training parameters}.
* @return The {@link TrainerType} or {@code null} if the type couldn't be determined.
*/
- public static TrainerType getTrainerType(TrainingParameters trainParams) {
+ public static TrainerType getTrainerType(Parameters trainParams) {
- String algorithmValue = trainParams.getStringParameter(TrainingParameters.ALGORITHM_PARAM, null);
+ String algorithmValue = trainParams.getStringParameter(Parameters.ALGORITHM_PARAM, null);
// Check if it is defaulting to the MAXENT trainer
if (algorithmValue == null) {
return TrainerType.EVENT_MODEL_TRAINER;
}
- Class<? extends Trainer> trainerClass = BUILTIN_TRAINERS.get(algorithmValue);
+ Class<? extends Trainer<TrainingParameters>> trainerClass = BUILTIN_TRAINERS.get(algorithmValue);
if (trainerClass != null) {
@@ -117,20 +118,20 @@ public class TrainerFactory {
/**
* Retrieves a {@link SequenceTrainer} that fits the given parameters.
*
- * @param trainParams The {@link TrainingParameters} to check for the trainer type.
- * Note: The entry {@link TrainingParameters#ALGORITHM_PARAM} is used
+ * @param trainParams The {@link Parameters} to check for the trainer type.
+ * Note: The entry {@link Parameters#ALGORITHM_PARAM} is used
* to determine the type.
* @param reportMap A {@link Map} that shall be used during initialization of
* the {@link SequenceTrainer}.
* @return A valid {@link SequenceTrainer} for the configured {@code trainParams}.
* @throws IllegalArgumentException Thrown if the trainer type could not be determined.
*/
- public static SequenceTrainer getSequenceModelTrainer(
- TrainingParameters trainParams, Map<String, String> reportMap) {
- String trainerType = trainParams.getStringParameter(TrainingParameters.ALGORITHM_PARAM, null);
+ public static SequenceTrainer<TrainingParameters> getSequenceModelTrainer(
+ TrainingParameters trainParams, Map<String, String> reportMap) {
+ String trainerType = trainParams.getStringParameter(Parameters.ALGORITHM_PARAM, null);
if (trainerType != null) {
- final SequenceTrainer trainer;
+ final SequenceTrainer<TrainingParameters> trainer;
if (BUILTIN_TRAINERS.containsKey(trainerType)) {
trainer = TrainerFactory.createBuiltinTrainer(BUILTIN_TRAINERS.get(trainerType));
} else {
@@ -146,20 +147,20 @@ public class TrainerFactory {
/**
* Retrieves an {@link EventModelSequenceTrainer} that fits the given parameters.
*
- * @param trainParams The {@link TrainingParameters} to check for the trainer type.
- * Note: The entry {@link TrainingParameters#ALGORITHM_PARAM} is used
+ * @param trainParams The {@link Parameters} to check for the trainer type.
+ * Note: The entry {@link Parameters#ALGORITHM_PARAM} is used
* to determine the type.
* @param reportMap A {@link Map} that shall be used during initialization of
* the {@link EventModelSequenceTrainer}.
* @return A valid {@link EventModelSequenceTrainer} for the configured {@code trainParams}.
* @throws IllegalArgumentException Thrown if the trainer type could not be determined.
*/
- public static <T> EventModelSequenceTrainer<T> getEventModelSequenceTrainer(
- TrainingParameters trainParams, Map<String, String> reportMap) {
- String trainerType = trainParams.getStringParameter(TrainingParameters.ALGORITHM_PARAM, null);
+ public static <T> EventModelSequenceTrainer<T, TrainingParameters> getEventModelSequenceTrainer(
+ TrainingParameters trainParams, Map<String, String> reportMap) {
+ String trainerType = trainParams.getStringParameter(Parameters.ALGORITHM_PARAM, null);
if (trainerType != null) {
- final EventModelSequenceTrainer<T> trainer;
+ final EventModelSequenceTrainer<T, TrainingParameters> trainer;
if (BUILTIN_TRAINERS.containsKey(trainerType)) {
trainer = TrainerFactory.createBuiltinTrainer(BUILTIN_TRAINERS.get(trainerType));
} else {
@@ -176,8 +177,8 @@ public class TrainerFactory {
* Works just like {@link TrainerFactory#getEventTrainer(TrainingParameters, Map, TrainingConfiguration)}
* except that {@link TrainingConfiguration} is initialized with default values.
*/
- public static EventTrainer getEventTrainer(
- TrainingParameters trainParams, Map<String, String> reportMap) {
+ public static EventTrainer<TrainingParameters> getEventTrainer(
+ TrainingParameters trainParams, Map<String, String> reportMap) {
TrainingConfiguration trainingConfiguration
= new TrainingConfiguration(new DefaultTrainingProgressMonitor(), null);
@@ -187,8 +188,8 @@ public class TrainerFactory {
/**
* Retrieves an {@link EventTrainer} that fits the given parameters.
*
- * @param trainParams The {@link TrainingParameters} to check for the trainer type.
- * Note: The entry {@link TrainingParameters#ALGORITHM_PARAM} is used
+ * @param trainParams The {@link Parameters} to check for the trainer type.
+ * Note: The entry {@link Parameters#ALGORITHM_PARAM} is used
* to determine the type. If the type is not defined, the
* {@link GISTrainer#MAXENT_VALUE} will be used.
* @param reportMap A {@link Map} that shall be used during initialization of
@@ -196,14 +197,14 @@ public class TrainerFactory {
* @param config The {@link TrainingConfiguration} to be used.
* @return A valid {@link EventTrainer} for the configured {@code trainParams}.
*/
- public static EventTrainer getEventTrainer(
- TrainingParameters trainParams, Map<String, String> reportMap, TrainingConfiguration config) {
+ public static EventTrainer<TrainingParameters> getEventTrainer(
+ TrainingParameters trainParams, Map<String, String> reportMap, TrainingConfiguration config) {
// if the trainerType is not defined -- use the GISTrainer.
String trainerType = trainParams.getStringParameter(
- TrainingParameters.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE);
+ Parameters.ALGORITHM_PARAM, GISTrainer.MAXENT_VALUE);
- final EventTrainer trainer;
+ final EventTrainer<TrainingParameters> trainer;
if (BUILTIN_TRAINERS.containsKey(trainerType)) {
trainer = TrainerFactory.createBuiltinTrainer(BUILTIN_TRAINERS.get(trainerType));
} else {
@@ -214,13 +215,13 @@ public class TrainerFactory {
}
/**
- * @param trainParams The {@link TrainingParameters} to validate. Must not be {@code null}.
+ * @param trainParams The {@link Parameters} to validate. Must not be {@code null}.
* @return {@code true} if the {@code trainParams} could be validated, {@code false} otherwise.
*/
- public static boolean isValid(TrainingParameters trainParams) {
+ public static boolean isValid(Parameters trainParams) {
// TODO: Need to validate all parameters correctly ... error prone?!
- String algorithmName = trainParams.getStringParameter(TrainingParameters.ALGORITHM_PARAM,
+ String algorithmName = trainParams.getStringParameter(Parameters.ALGORITHM_PARAM,
null);
// If a trainer type can be determined, then the trainer is valid!
@@ -232,10 +233,10 @@ public class TrainerFactory {
try {
// require that the Cutoff and the number of iterations be an integer.
// if they are not set, the default values will be ok.
- trainParams.getIntParameter(TrainingParameters.CUTOFF_PARAM,
- TrainingParameters.CUTOFF_DEFAULT_VALUE);
- trainParams.getIntParameter(TrainingParameters.ITERATIONS_PARAM,
- TrainingParameters.ITERATIONS_DEFAULT_VALUE);
+ trainParams.getIntParameter(Parameters.CUTOFF_PARAM,
+ Parameters.CUTOFF_DEFAULT_VALUE);
+ trainParams.getIntParameter(Parameters.ITERATIONS_PARAM,
+ Parameters.ITERATIONS_DEFAULT_VALUE);
} catch (NumberFormatException e) {
return false;
}
@@ -248,11 +249,12 @@ public class TrainerFactory {
}
@SuppressWarnings("unchecked")
- private static <T extends Trainer> T createBuiltinTrainer(Class<? extends Trainer> trainerClass) {
- Trainer theTrainer = null;
+ private static <P extends Parameters, T extends Trainer<P>> T createBuiltinTrainer(
+ Class<? extends Trainer<P>> trainerClass) {
+ Trainer<P> theTrainer = null;
if (trainerClass != null) {
try {
- Constructor<? extends Trainer> c = trainerClass.getConstructor();
+ Constructor<? extends Trainer<P>> c = trainerClass.getConstructor();
theTrainer = c.newInstance();
} catch (Exception e) {
String msg = "Could not instantiate the " + trainerClass.getCanonicalName()
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/AllEnglishAffixes.txt b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/AllEnglishAffixes.txt
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/AllEnglishAffixes.txt
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/AllEnglishAffixes.txt
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/BasicContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/BasicContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/BasicContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/BasicContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/ContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/ContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/ContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/ContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/DataStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/DataStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/DataStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/DataStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISFormat b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/GISFormat
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISFormat
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/GISFormat
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/GISModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/GISModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java
index de2b4ddf..bfd30a96 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/GISTrainer.java
@@ -47,6 +47,7 @@ import opennlp.tools.monitoring.StopCriteria;
import opennlp.tools.monitoring.TrainingMeasure;
import opennlp.tools.monitoring.TrainingProgressMonitor;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingConfiguration;
import opennlp.tools.util.TrainingParameters;
@@ -70,7 +71,7 @@ import opennlp.tools.util.TrainingParameters;
* relative entropy between the distribution specified by the empirical constraints of the training
* data and the specified prior. By default, the uniform distribution is used as the prior.
*/
-public class GISTrainer extends AbstractEventTrainer {
+public class GISTrainer extends AbstractEventTrainer<TrainingParameters> {
private static final Logger logger = LoggerFactory.getLogger(GISTrainer.class);
@@ -217,10 +218,10 @@ public class GISTrainer extends AbstractEventTrainer {
* {@inheritDoc}
*/
@Override
- public MaxentModel doTrain(DataIndexer indexer) throws IOException {
+ public MaxentModel doTrain(DataIndexer<TrainingParameters> indexer) throws IOException {
int iterations = getIterations();
- int threads = trainingParameters.getIntParameter(TrainingParameters.THREADS_PARAM, 1);
+ int threads = trainingParameters.getIntParameter(Parameters.THREADS_PARAM, 1);
return trainModel(iterations, indexer, threads);
}
@@ -292,10 +293,10 @@ public class GISTrainer extends AbstractEventTrainer {
*/
public GISModel trainModel(ObjectStream<Event> eventStream, int iterations,
int cutoff) throws IOException {
- DataIndexer indexer = new OnePassDataIndexer();
+ DataIndexer<TrainingParameters> indexer = new OnePassDataIndexer();
TrainingParameters indexingParameters = new TrainingParameters();
- indexingParameters.put(TrainingParameters.CUTOFF_PARAM, cutoff);
- indexingParameters.put(TrainingParameters.ITERATIONS_PARAM, iterations);
+ indexingParameters.put(Parameters.CUTOFF_PARAM, cutoff);
+ indexingParameters.put(Parameters.ITERATIONS_PARAM, iterations);
Map<String, String> reportMap = new HashMap<>();
indexer.init(indexingParameters, reportMap);
indexer.index(eventStream);
@@ -312,7 +313,7 @@ public class GISTrainer extends AbstractEventTrainer {
* disk using an {@link opennlp.tools.ml.maxent.io.GISModelWriter}.
* @throws IllegalArgumentException Thrown if parameters were invalid.
*/
- public GISModel trainModel(int iterations, DataIndexer di) {
+ public GISModel trainModel(int iterations, DataIndexer<TrainingParameters> di) {
return trainModel(iterations, di, new UniformPrior(), 1);
}
@@ -327,7 +328,7 @@ public class GISTrainer extends AbstractEventTrainer {
* disk using an {@link opennlp.tools.ml.maxent.io.GISModelWriter}.
* @throws IllegalArgumentException Thrown if parameters were invalid.
*/
- public GISModel trainModel(int iterations, DataIndexer di, int threads) {
+ public GISModel trainModel(int iterations, DataIndexer<TrainingParameters> di, int threads) {
return trainModel(iterations, di, new UniformPrior(), threads);
}
@@ -342,7 +343,8 @@ public class GISTrainer extends AbstractEventTrainer {
* disk using an {@link opennlp.tools.ml.maxent.io.GISModelWriter}.
* @throws IllegalArgumentException Thrown if parameters were invalid.
*/
- public GISModel trainModel(int iterations, DataIndexer di, Prior modelPrior, int threads) {
+ public GISModel trainModel(int iterations, DataIndexer<TrainingParameters> di,
+ Prior modelPrior, int threads) {
if (threads <= 0) {
throw new IllegalArgumentException("threads must be at least one or greater but is " + threads + "!");
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/RealBasicEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/RealBasicEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/RealBasicEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/RealBasicEventStream.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/maxent/URLInputStreamFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/URLInputStreamFactory.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/ml/maxent/URLInputStreamFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/URLInputStreamFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryGISModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/BinaryQNModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/GISModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/GISModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/GISModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/GISModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/GISModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/GISModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/GISModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/GISModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/QNModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/QNModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/QNModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/QNModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/QNModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/QNModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/QNModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/QNModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/package.html b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/package.html
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/io/package.html
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/io/package.html
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/package.html b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/package.html
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/package.html
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/package.html
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/Function.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/Function.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/Function.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/Function.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/LineSearch.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/LineSearch.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/LineSearch.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/LineSearch.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihood.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihood.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihood.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihood.java
index ace8cb97..57e697f5 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihood.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/NegLogLikelihood.java
@@ -22,6 +22,7 @@ import java.util.Arrays;
import opennlp.tools.ml.ArrayMath;
import opennlp.tools.ml.model.DataIndexer;
import opennlp.tools.ml.model.OnePassRealValueDataIndexer;
+import opennlp.tools.util.TrainingParameters;
/**
* Evaluates negative log-likelihood and its gradient from {@link DataIndexer}.
@@ -50,7 +51,7 @@ public class NegLogLikelihood implements Function {
/**
* @param indexer The {@link DataIndexer} to use as input provider.
*/
- public NegLogLikelihood(DataIndexer indexer) {
+ public NegLogLikelihood(DataIndexer<TrainingParameters> indexer) {
// Get data from indexer.
if (indexer instanceof OnePassRealValueDataIndexer) {
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/ParallelNegLogLikelihood.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/ParallelNegLogLikelihood.java
similarity index 98%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/ParallelNegLogLikelihood.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/ParallelNegLogLikelihood.java
index c95a7634..8975ba89 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/ParallelNegLogLikelihood.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/ParallelNegLogLikelihood.java
@@ -31,6 +31,7 @@ import org.slf4j.LoggerFactory;
import opennlp.tools.ml.ArrayMath;
import opennlp.tools.ml.model.DataIndexer;
+import opennlp.tools.util.TrainingParameters;
/**
* Evaluates {@link NegLogLikelihood negative log-likelihood} and
@@ -57,7 +58,7 @@ public class ParallelNegLogLikelihood extends NegLogLikelihood {
* Must be greater than {@code 0}.
* @throws IllegalArgumentException Thrown if parameters were invalid.
*/
- public ParallelNegLogLikelihood(DataIndexer indexer, int threads) {
+ public ParallelNegLogLikelihood(DataIndexer<TrainingParameters> indexer, int threads) {
super(indexer);
if (threads <= 0)
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNMinimizer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNMinimizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNMinimizer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNMinimizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNTrainer.java
similarity index 96%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNTrainer.java
index 5a783558..24dfe9ac 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/QNTrainer.java
@@ -43,7 +43,7 @@ import opennlp.tools.util.TrainingParameters;
* @see QNModel
* @see Trainer
*/
-public class QNTrainer extends AbstractEventTrainer {
+public class QNTrainer extends AbstractEventTrainer<TrainingParameters> {
private static final Logger logger = LoggerFactory.getLogger(QNTrainer.class);
@@ -181,7 +181,7 @@ public class QNTrainer extends AbstractEventTrainer {
}
@Override
- public AbstractModel doTrain(DataIndexer indexer) throws IOException {
+ public AbstractModel doTrain(DataIndexer<TrainingParameters> indexer) throws IOException {
int iterations = getIterations();
return trainModel(iterations, indexer);
}
@@ -196,7 +196,7 @@ public class QNTrainer extends AbstractEventTrainer {
* disk using an {@link opennlp.tools.ml.maxent.io.QNModelWriter}.
* @throws IllegalArgumentException Thrown if parameters were invalid.
*/
- public QNModel trainModel(int iterations, DataIndexer indexer) {
+ public QNModel trainModel(int iterations, DataIndexer<TrainingParameters> indexer) {
// Train model's parameters
Function objectiveFunction;
@@ -242,7 +242,7 @@ public class QNTrainer extends AbstractEventTrainer {
*
* @param indexer A valid {@link DataIndexer} instance.
*/
- private record ModelEvaluator(DataIndexer indexer) implements Evaluator {
+ private record ModelEvaluator(DataIndexer<TrainingParameters> indexer) implements Evaluator {
/**
* Evaluate the current model on training data set
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/maxent/quasinewton/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/maxent/quasinewton/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java
similarity index 93%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java
index 16fa0243..a1de2ad5 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractDataIndexer.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
import opennlp.tools.util.InsufficientTrainingDataException;
import opennlp.tools.util.ObjectStream;
-import opennlp.tools.util.TrainingParameters;
+import opennlp.tools.util.Parameters;
/**
* Abstract {@link DataIndexer} implementation for collecting
@@ -40,21 +40,21 @@ import opennlp.tools.util.TrainingParameters;
*
* @see DataIndexer
*/
-public abstract class AbstractDataIndexer implements DataIndexer {
+public abstract class AbstractDataIndexer<P extends Parameters> implements DataIndexer<P> {
private static final Logger logger = LoggerFactory.getLogger(AbstractDataIndexer.class);
public static final String SORT_PARAM = "sort";
public static final boolean SORT_DEFAULT = true;
- protected TrainingParameters trainingParameters;
+ protected P trainingParameters;
protected Map<String,String> reportMap;
/**
* {@inheritDoc}
*/
@Override
- public void init(TrainingParameters indexingParameters, Map<String, String> reportMap) {
+ public void init(P indexingParameters, Map<String, String> reportMap) {
this.reportMap = reportMap;
if (this.reportMap == null) reportMap = new HashMap<>();
trainingParameters = indexingParameters;
@@ -136,7 +136,7 @@ public abstract class AbstractDataIndexer implements DataIndexer {
* <p>
* It does an in place sort, followed by an in place edit to remove duplicates.
*
- * @param eventsToCompare The {@link List<ComparableEvent>} events used as input.
+ * @param eventsToCompare The {@link List< ComparableEvent >} events used as input.
* @param sort Whether to use sorting, or not.
*
* @return The number of unique events in the specified list.
@@ -197,9 +197,9 @@ public abstract class AbstractDataIndexer implements DataIndexer {
* Performs the data indexing.
* <p>
* <b>Note:</b>
- * Make sure the {@link #init(TrainingParameters, Map)} method is called first.
+ * Make sure the {@link #init(Parameters, Map)} method is called first.
*
- * @param events A {@link ObjectStream<Event>} of events used as input.
+ * @param events A {@link ObjectStream< Event >} of events used as input.
* @param predicateIndex A {@link Map} providing the data of a predicate index.
*
* @throws IOException Thrown if IO errors occurred during indexing.
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/AbstractModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/AbstractModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/BinaryFileDataReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/BinaryFileDataReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/BinaryFileDataReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/BinaryFileDataReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/ChecksumEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ChecksumEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/ChecksumEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ChecksumEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/ComparableEvent.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ComparableEvent.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/ComparableEvent.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ComparableEvent.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/ComparablePredicate.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ComparablePredicate.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/ComparablePredicate.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ComparablePredicate.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java
similarity index 90%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java
index 1e491148..1300d028 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/DataIndexerFactory.java
@@ -21,6 +21,7 @@ import java.util.HashMap;
import java.util.Map;
import opennlp.tools.ml.AbstractEventTrainer;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingParameters;
import opennlp.tools.util.ext.ExtensionLoader;
import opennlp.tools.util.ext.ExtensionNotLoadedException;
@@ -43,7 +44,8 @@ public class DataIndexerFactory {
* the extension could not be loaded.
* @see ExtensionLoader
*/
- public static DataIndexer getDataIndexer(TrainingParameters parameters, Map<String, String> reportMap) {
+ public static <P extends Parameters> DataIndexer<P> getDataIndexer(
+ P parameters, Map<String, String> reportMap) {
// The default is currently a 2-Pass data index. Is this what we really want?
String indexerParam = parameters.getStringParameter(AbstractEventTrainer.DATA_INDEXER_PARAM,
AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE);
@@ -53,7 +55,8 @@ public class DataIndexerFactory {
reportMap = new HashMap<>();
}
- DataIndexer indexer = switch (indexerParam) {
+ @SuppressWarnings("unchecked")
+ DataIndexer<P> indexer = (DataIndexer<P>) switch (indexerParam) {
case AbstractEventTrainer.DATA_INDEXER_ONE_PASS_VALUE -> new OnePassDataIndexer();
case AbstractEventTrainer.DATA_INDEXER_TWO_PASS_VALUE -> new TwoPassDataIndexer();
case AbstractEventTrainer.DATA_INDEXER_ONE_PASS_REAL_VALUE -> new OnePassRealValueDataIndexer();
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/DynamicEvalParameters.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/DynamicEvalParameters.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/DynamicEvalParameters.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/DynamicEvalParameters.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/EvalParameters.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/EvalParameters.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/EvalParameters.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/EvalParameters.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/FileEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/FileEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/FileEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/FileEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/GenericModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/GenericModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/GenericModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/GenericModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/GenericModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/GenericModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/GenericModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/GenericModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/ModelParameterChunker.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ModelParameterChunker.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/ModelParameterChunker.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ModelParameterChunker.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/MutableContext.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/MutableContext.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/MutableContext.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/MutableContext.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/ObjectDataReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ObjectDataReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/ObjectDataReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/ObjectDataReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java
similarity index 94%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java
index 71d29199..a1b74fdf 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/OnePassDataIndexer.java
@@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
import opennlp.tools.util.ObjectStream;
import opennlp.tools.util.ObjectStreamUtils;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingParameters;
/**
@@ -38,7 +39,7 @@ import opennlp.tools.util.TrainingParameters;
* @see DataIndexer
* @see AbstractDataIndexer
*/
-public class OnePassDataIndexer extends AbstractDataIndexer {
+public class OnePassDataIndexer extends AbstractDataIndexer<TrainingParameters> {
private static final Logger logger = LoggerFactory.getLogger(OnePassDataIndexer.class);
@@ -49,8 +50,8 @@ public class OnePassDataIndexer extends AbstractDataIndexer {
*/
@Override
public void index(ObjectStream<Event> eventStream) throws IOException {
- int cutoff = trainingParameters.getIntParameter(TrainingParameters.CUTOFF_PARAM,
- TrainingParameters.CUTOFF_DEFAULT_VALUE);
+ int cutoff = trainingParameters.getIntParameter(Parameters.CUTOFF_PARAM,
+ Parameters.CUTOFF_DEFAULT_VALUE);
boolean sort = trainingParameters.getBooleanParameter(SORT_PARAM, SORT_DEFAULT);
long start = System.currentTimeMillis();
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassRealValueDataIndexer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/OnePassRealValueDataIndexer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/OnePassRealValueDataIndexer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/OnePassRealValueDataIndexer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/PlainTextFileDataReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/PlainTextFileDataReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/PlainTextFileDataReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/PlainTextFileDataReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/RealValueFileEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/RealValueFileEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/RealValueFileEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/RealValueFileEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/SequenceStreamEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/SequenceStreamEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/SequenceStreamEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/SequenceStreamEventStream.java
diff --git a/opennlp-tools/src/test/java/opennlp/tools/ml/model/SimpleEventStreamBuilder.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/SimpleEventStreamBuilder.java
similarity index 100%
rename from opennlp-tools/src/test/java/opennlp/tools/ml/model/SimpleEventStreamBuilder.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/SimpleEventStreamBuilder.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java
similarity index 96%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java
index 005d7663..66862e88 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/TwoPassDataIndexer.java
@@ -37,6 +37,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingParameters;
/**
@@ -51,7 +52,7 @@ import opennlp.tools.util.TrainingParameters;
* @see DataIndexer
* @see AbstractDataIndexer
*/
-public class TwoPassDataIndexer extends AbstractDataIndexer {
+public class TwoPassDataIndexer extends AbstractDataIndexer<TrainingParameters> {
private static final Logger logger = LoggerFactory.getLogger(TwoPassDataIndexer.class);
@@ -62,8 +63,8 @@ public class TwoPassDataIndexer extends AbstractDataIndexer {
*/
@Override
public void index(ObjectStream<Event> eventStream) throws IOException {
- int cutoff = trainingParameters.getIntParameter(TrainingParameters.CUTOFF_PARAM,
- TrainingParameters.CUTOFF_DEFAULT_VALUE);
+ int cutoff = trainingParameters.getIntParameter(Parameters.CUTOFF_PARAM,
+ Parameters.CUTOFF_DEFAULT_VALUE);
boolean sort = trainingParameters.getBooleanParameter(SORT_PARAM, SORT_DEFAULT);
logger.info("Indexing events with TwoPass using cutoff of {}", cutoff);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/UniformPrior.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/UniformPrior.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/UniformPrior.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/UniformPrior.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/model/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/model/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/model/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/BinaryNaiveBayesModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/LogProbabilities.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/LogProbabilities.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/LogProbabilities.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/LogProbabilities.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/LogProbability.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/LogProbability.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/LogProbability.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/LogProbability.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesEvalParameters.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesEvalParameters.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesEvalParameters.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesEvalParameters.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesTrainer.java
similarity index 96%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesTrainer.java
index f43f0d9a..0a28a1eb 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/NaiveBayesTrainer.java
@@ -41,7 +41,7 @@ import opennlp.tools.util.TrainingParameters;
* @see NaiveBayesModel
* @see AbstractEventTrainer
*/
-public class NaiveBayesTrainer extends AbstractEventTrainer {
+public class NaiveBayesTrainer extends AbstractEventTrainer<TrainingParameters> {
private static final Logger logger = LoggerFactory.getLogger(NaiveBayesTrainer.class);
@@ -122,7 +122,7 @@ public class NaiveBayesTrainer extends AbstractEventTrainer {
}
@Override
- public AbstractModel doTrain(DataIndexer indexer) throws IOException {
+ public AbstractModel doTrain(DataIndexer<TrainingParameters> indexer) throws IOException {
return this.trainModel(indexer);
}
@@ -135,7 +135,7 @@ public class NaiveBayesTrainer extends AbstractEventTrainer {
*
* @return A valid, trained {@link AbstractModel Naive Bayes model}.
*/
- public AbstractModel trainModel(DataIndexer di) {
+ public AbstractModel trainModel(DataIndexer<TrainingParameters> di) {
logger.info("Incorporating indexed data for training...");
contexts = di.getContexts();
values = di.getValues();
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/PlainTextNaiveBayesModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/Probabilities.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/Probabilities.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/Probabilities.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/Probabilities.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/Probability.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/Probability.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/Probability.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/Probability.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/naivebayes/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/naivebayes/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/BinaryPerceptronModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelReader.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelReader.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelReader.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelReader.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelWriter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelWriter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelWriter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronModelWriter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronTrainer.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronTrainer.java
index 3419b169..118689df 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/PerceptronTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/PerceptronTrainer.java
@@ -49,7 +49,7 @@ import opennlp.tools.util.TrainingParameters;
* @see PerceptronModel
* @see AbstractEventTrainer
*/
-public class PerceptronTrainer extends AbstractEventTrainer {
+public class PerceptronTrainer extends AbstractEventTrainer<TrainingParameters> {
private static final Logger logger = LoggerFactory.getLogger(PerceptronTrainer.class);
@@ -135,7 +135,7 @@ public class PerceptronTrainer extends AbstractEventTrainer {
}
@Override
- public AbstractModel doTrain(DataIndexer indexer) throws IOException {
+ public AbstractModel doTrain(DataIndexer<TrainingParameters> indexer) throws IOException {
int iterations = getIterations();
int cutoff = getCutoff();
@@ -226,7 +226,8 @@ public class PerceptronTrainer extends AbstractEventTrainer {
*
* @return A valid, trained {@link AbstractModel perceptron model}.
*/
- public AbstractModel trainModel(int iterations, DataIndexer di, int cutoff) {
+ public AbstractModel trainModel(int iterations, DataIndexer<TrainingParameters> di,
+ int cutoff) {
return trainModel(iterations,di,cutoff,true);
}
@@ -241,7 +242,8 @@ public class PerceptronTrainer extends AbstractEventTrainer {
*
* @return A valid, trained {@link AbstractModel perceptron model}.
*/
- public AbstractModel trainModel(int iterations, DataIndexer di, int cutoff, boolean useAverage) {
+ public AbstractModel trainModel(int iterations, DataIndexer<TrainingParameters> di,
+ int cutoff, boolean useAverage) {
logger.info("Incorporating indexed data for training... ");
contexts = di.getContexts();
values = di.getValues();
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java
similarity index 98%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java
index a58bdbde..377c1905 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/SimplePerceptronSequenceTrainer.java
@@ -36,6 +36,7 @@ import opennlp.tools.ml.model.OnePassDataIndexer;
import opennlp.tools.ml.model.Sequence;
import opennlp.tools.ml.model.SequenceStream;
import opennlp.tools.ml.model.SequenceStreamEventStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingParameters;
/**
@@ -54,7 +55,7 @@ import opennlp.tools.util.TrainingParameters;
* @see PerceptronModel
* @see AbstractEventModelSequenceTrainer
*/
-public class SimplePerceptronSequenceTrainer extends AbstractEventModelSequenceTrainer {
+public class SimplePerceptronSequenceTrainer extends AbstractEventModelSequenceTrainer<TrainingParameters> {
private static final Logger logger = LoggerFactory.getLogger(SimplePerceptronSequenceTrainer.class);
public static final String PERCEPTRON_SEQUENCE_VALUE = "PERCEPTRON_SEQUENCE";
@@ -155,9 +156,9 @@ public class SimplePerceptronSequenceTrainer extends AbstractEventModelSequenceT
this.iterations = iterations;
this.sequenceStream = sequenceStream;
- trainingParameters.put(TrainingParameters.CUTOFF_PARAM, cutoff);
+ trainingParameters.put(Parameters.CUTOFF_PARAM, cutoff);
trainingParameters.put(AbstractDataIndexer.SORT_PARAM, false);
- DataIndexer di = new OnePassDataIndexer();
+ DataIndexer<TrainingParameters> di = new OnePassDataIndexer();
di.init(trainingParameters, reportMap);
di.index(new SequenceStreamEventStream(sequenceStream));
numSequences = 0;
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ml/perceptron/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ml/perceptron/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/monitoring/DefaultTrainingProgressMonitor.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/DefaultTrainingProgressMonitor.java
similarity index 99%
rename from opennlp-tools/src/main/java/opennlp/tools/monitoring/DefaultTrainingProgressMonitor.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/DefaultTrainingProgressMonitor.java
index 3b1265bb..0e9de40d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/monitoring/DefaultTrainingProgressMonitor.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/DefaultTrainingProgressMonitor.java
@@ -17,7 +17,6 @@
package opennlp.tools.monitoring;
-
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
diff --git a/opennlp-tools/src/main/java/opennlp/tools/monitoring/IterDeltaAccuracyUnderTolerance.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/IterDeltaAccuracyUnderTolerance.java
similarity index 90%
rename from opennlp-tools/src/main/java/opennlp/tools/monitoring/IterDeltaAccuracyUnderTolerance.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/IterDeltaAccuracyUnderTolerance.java
index 958a27b3..d35c027d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/monitoring/IterDeltaAccuracyUnderTolerance.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/IterDeltaAccuracyUnderTolerance.java
@@ -18,7 +18,7 @@
package opennlp.tools.monitoring;
import opennlp.tools.ml.perceptron.PerceptronTrainer;
-import opennlp.tools.util.TrainingParameters;
+import opennlp.tools.util.Parameters;
/**
* A {@link StopCriteria} implementation to identify whether the absolute
@@ -27,9 +27,9 @@ import opennlp.tools.util.TrainingParameters;
public class IterDeltaAccuracyUnderTolerance implements StopCriteria<Double> {
public static final String STOP = "Stopping: change in training set accuracy less than {%s}";
- private final TrainingParameters trainingParameters;
+ private final Parameters trainingParameters;
- public IterDeltaAccuracyUnderTolerance(TrainingParameters trainingParameters) {
+ public IterDeltaAccuracyUnderTolerance(Parameters trainingParameters) {
this.trainingParameters = trainingParameters;
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/monitoring/LogLikelihoodThresholdBreached.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/LogLikelihoodThresholdBreached.java
similarity index 77%
rename from opennlp-tools/src/main/java/opennlp/tools/monitoring/LogLikelihoodThresholdBreached.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/LogLikelihoodThresholdBreached.java
index f6f34896..d6efde61 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/monitoring/LogLikelihoodThresholdBreached.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/monitoring/LogLikelihoodThresholdBreached.java
@@ -17,10 +17,8 @@
package opennlp.tools.monitoring;
-import opennlp.tools.util.TrainingParameters;
-
-import static opennlp.tools.ml.maxent.GISTrainer.LOG_LIKELIHOOD_THRESHOLD_DEFAULT;
-import static opennlp.tools.ml.maxent.GISTrainer.LOG_LIKELIHOOD_THRESHOLD_PARAM;
+import opennlp.tools.ml.maxent.GISTrainer;
+import opennlp.tools.util.Parameters;
/**
* A {@link StopCriteria} implementation to identify whether the
@@ -31,9 +29,9 @@ public class LogLikelihoodThresholdBreached implements StopCriteria<Double> {
public static String STOP = "Stopping: Difference between log likelihood of current" +
" and previous iteration is less than threshold %s .";
- private final TrainingParameters trainingParameters;
+ private final Parameters trainingParameters;
- public LogLikelihoodThresholdBreached(TrainingParameters trainingParameters) {
+ public LogLikelihoodThresholdBreached(Parameters trainingParameters) {
this.trainingParameters = trainingParameters;
}
@@ -49,8 +47,10 @@ public class LogLikelihoodThresholdBreached implements StopCriteria<Double> {
}
private double getThreshold() {
- return trainingParameters != null ? trainingParameters.getDoubleParameter(LOG_LIKELIHOOD_THRESHOLD_PARAM,
- LOG_LIKELIHOOD_THRESHOLD_DEFAULT) : LOG_LIKELIHOOD_THRESHOLD_DEFAULT;
+ return trainingParameters != null ? trainingParameters.getDoubleParameter(
+ GISTrainer.LOG_LIKELIHOOD_THRESHOLD_PARAM,
+ GISTrainer.LOG_LIKELIHOOD_THRESHOLD_DEFAULT) :
+ GISTrainer.LOG_LIKELIHOOD_THRESHOLD_DEFAULT;
}
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/BilouCodec.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/BilouCodec.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/BilouCodec.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/BilouCodec.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/BilouNameFinderSequenceValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/BilouNameFinderSequenceValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/BilouNameFinderSequenceValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/BilouNameFinderSequenceValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/BioCodec.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/BioCodec.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/BioCodec.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/BioCodec.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/DefaultNameContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/DefaultNameContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/DefaultNameContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/DefaultNameContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/DictionaryNameFinder.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/DictionaryNameFinder.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/DictionaryNameFinder.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/DictionaryNameFinder.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameFinderEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameFinderEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameFinderME.java
similarity index 94%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameFinderME.java
index 72182dab..e78f9a23 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameFinderME.java
@@ -38,6 +38,7 @@ import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.ml.model.SequenceClassificationModel;
import opennlp.tools.ml.perceptron.PerceptronTrainer;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.Sequence;
import opennlp.tools.util.SequenceCodec;
import opennlp.tools.util.SequenceValidator;
@@ -212,9 +213,9 @@ public class NameFinderME implements TokenNameFinder {
ObjectStream<NameSample> samples, TrainingParameters params,
TokenNameFinderFactory factory) throws IOException {
- params.putIfAbsent(TrainingParameters.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE);
- params.putIfAbsent(TrainingParameters.CUTOFF_PARAM, 0);
- params.putIfAbsent(TrainingParameters.ITERATIONS_PARAM, 300);
+ params.putIfAbsent(Parameters.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE);
+ params.putIfAbsent(Parameters.CUTOFF_PARAM, 0);
+ params.putIfAbsent(Parameters.ITERATIONS_PARAM, 300);
int beamSize = params.getIntParameter(BeamSearch.BEAM_SIZE_PARAMETER, NameFinderME.DEFAULT_BEAM_SIZE);
@@ -229,19 +230,20 @@ public class NameFinderME implements TokenNameFinder {
ObjectStream<Event> eventStream = new NameFinderEventStream(samples, type,
factory.createContextGenerator(), factory.createSequenceCodec());
- EventTrainer trainer = TrainerFactory.getEventTrainer(params, manifestInfoEntries);
+ EventTrainer<TrainingParameters> trainer =
+ TrainerFactory.getEventTrainer(params, manifestInfoEntries);
nameFinderModel = trainer.train(eventStream);
} // TODO: Maybe it is not a good idea, that these two don't use the context generator ?!
// These also don't use the sequence codec ?!
else if (TrainerType.EVENT_MODEL_SEQUENCE_TRAINER.equals(trainerType)) {
NameSampleSequenceStream ss = new NameSampleSequenceStream(samples, factory.createContextGenerator());
- EventModelSequenceTrainer<NameSample> trainer = TrainerFactory.getEventModelSequenceTrainer(
- params, manifestInfoEntries);
+ EventModelSequenceTrainer<NameSample, TrainingParameters> trainer =
+ TrainerFactory.getEventModelSequenceTrainer(params, manifestInfoEntries);
nameFinderModel = trainer.train(ss);
} else if (TrainerType.SEQUENCE_TRAINER.equals(trainerType)) {
- SequenceTrainer trainer = TrainerFactory.getSequenceModelTrainer(
- params, manifestInfoEntries);
+ SequenceTrainer<TrainingParameters> trainer =
+ TrainerFactory.getSequenceModelTrainer(params, manifestInfoEntries);
NameSampleSequenceStream ss =
new NameSampleSequenceStream(samples, factory.createContextGenerator(), false);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderSequenceValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameFinderSequenceValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameFinderSequenceValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameFinderSequenceValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleDataStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleDataStream.java
similarity index 93%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleDataStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleDataStream.java
index f7e53dab..53fd6ef8 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleDataStream.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleDataStream.java
@@ -33,10 +33,6 @@ import opennlp.tools.util.ObjectStream;
*/
public class NameSampleDataStream extends FilterObjectStream<String, NameSample> {
- public static final String START_TAG_PREFIX = "<START:";
- public static final String START_TAG = "<START>";
- public static final String END_TAG = "<END>";
-
/**
* Initializes a {@link NameSampleDataStream} with given {@code psi} samples.
*
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleSequenceStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleSequenceStream.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleSequenceStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleSequenceStream.java
index 0f86928c..5191cf08 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleSequenceStream.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleSequenceStream.java
@@ -20,8 +20,8 @@ package opennlp.tools.namefind;
import java.io.IOException;
import java.util.Collections;
-import opennlp.tools.ml.model.AbstractModel;
import opennlp.tools.ml.model.Event;
+import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.ml.model.Sequence;
import opennlp.tools.ml.model.SequenceStream;
import opennlp.tools.util.ObjectStream;
@@ -113,7 +113,7 @@ public class NameSampleSequenceStream implements SequenceStream<NameSample> {
}
@Override
- public Event[] updateContext(Sequence<NameSample> sequence, AbstractModel model) {
+ public Event[] updateContext(Sequence<NameSample> sequence, MaxentModel model) {
TokenNameFinder tagger = new NameFinderME(new TokenNameFinderModel(
"x-unspecified", model, Collections.emptyMap(), null));
String[] sentence = sequence.getSource().getSentence();
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleTypeFilter.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleTypeFilter.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/NameSampleTypeFilter.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/NameSampleTypeFilter.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinder.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/RegexNameFinder.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinder.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/RegexNameFinder.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinderFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/RegexNameFinderFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinderFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/RegexNameFinderFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/ThreadSafeNameFinderME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/ThreadSafeNameFinderME.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/ThreadSafeNameFinderME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/ThreadSafeNameFinderME.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderCrossValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderCrossValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderCrossValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderCrossValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/namefind/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/namefind/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/namefind/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramCharModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramCharModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ngram/NGramCharModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramCharModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ngram/NGramGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ngram/NGramModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramUtils.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramUtils.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ngram/NGramUtils.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/NGramUtils.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/ngram/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/ngram/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/ngram/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/package-info.java
similarity index 91%
rename from opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/package-info.java
index e64bbee3..7204600d 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/languagemodel/package-info.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/package-info.java
@@ -16,6 +16,6 @@
*/
/**
- * Package related to language models
+ * Contains packages which solve common NLP tasks.
*/
-package opennlp.tools.languagemodel;
+package opennlp.tools;
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java
similarity index 97%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java
index bf4a5d6e..34c13d9b 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/AbstractBottomUpParser.java
@@ -34,6 +34,7 @@ import opennlp.tools.ngram.NGramModel;
import opennlp.tools.parser.chunking.ParserEventStream;
import opennlp.tools.postag.POSTagger;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.Sequence;
import opennlp.tools.util.Span;
import opennlp.tools.util.StringList;
@@ -106,21 +107,6 @@ public abstract class AbstractBottomUpParser implements Parser {
*/
protected Set<String> punctSet;
- /**
- * The label for the top node.
- */
- public static final String TOP_NODE = "TOP";
-
- /**
- * The label for the top if an incomplete node.
- */
- public static final String INC_NODE = "INC";
-
- /**
- * The label for a token node.
- */
- public static final String TOK_NODE = "TK";
-
/**
* Prefix for outcomes starting a constituent.
*/
@@ -527,7 +513,7 @@ public abstract class AbstractBottomUpParser implements Parser {
public static Dictionary buildDictionary(ObjectStream<Parse> data, HeadRules rules,
TrainingParameters params) throws IOException {
- int cutoff = params.getIntParameter("dict", TrainingParameters.CUTOFF_PARAM, 5);
+ int cutoff = params.getIntParameter("dict", Parameters.CUTOFF_PARAM, 5);
NGramModel mdict = new NGramModel();
Parse p;
@@ -611,7 +597,7 @@ public abstract class AbstractBottomUpParser implements Parser {
throws IOException {
TrainingParameters params = new TrainingParameters();
- params.put("dict", TrainingParameters.CUTOFF_PARAM, cutoff);
+ params.put("dict", Parameters.CUTOFF_PARAM, cutoff);
return buildDictionary(data, rules, params);
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/AbstractContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/AbstractContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/AbstractContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/AbstractParserEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/AbstractParserEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/AbstractParserEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/AbstractParserEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ChunkContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ChunkContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ChunkContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ChunkContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ChunkSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ChunkSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ChunkSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ChunkSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/Cons.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/Cons.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/Cons.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/Cons.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParseSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParseSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParseSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParseSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserChunkerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserChunkerFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserChunkerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserChunkerFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserChunkerSequenceValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserChunkerSequenceValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserChunkerSequenceValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserChunkerSequenceValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/ParserModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/PosSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/PosSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/PosSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/PosSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/BuildContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/BuildContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/chunking/BuildContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/BuildContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/CheckContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/CheckContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/chunking/CheckContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/CheckContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/Parser.java
similarity index 99%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/Parser.java
index d8017d44..c9f79fa6 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/Parser.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/Parser.java
@@ -349,7 +349,7 @@ public class Parser extends AbstractBottomUpParser {
logger.info("Training builder");
ObjectStream<Event> bes = new ParserEventStream(parseSamples, rules, ParserEventTypeEnum.BUILD, mdict);
Map<String, String> buildReportMap = new HashMap<>();
- EventTrainer buildTrainer =
+ EventTrainer<TrainingParameters> buildTrainer =
TrainerFactory.getEventTrainer(mlParams.getParameters("build"), buildReportMap);
MaxentModel buildModel = buildTrainer.train(bes);
mergeReportIntoManifest(manifestInfoEntries, buildReportMap, "build");
@@ -376,7 +376,7 @@ public class Parser extends AbstractBottomUpParser {
logger.info("Training checker");
ObjectStream<Event> kes = new ParserEventStream(parseSamples, rules, ParserEventTypeEnum.CHECK);
Map<String, String> checkReportMap = new HashMap<>();
- EventTrainer checkTrainer =
+ EventTrainer<TrainingParameters> checkTrainer =
TrainerFactory.getEventTrainer(mlParams.getParameters("check"), checkReportMap);
MaxentModel checkModel = checkTrainer.train(kes);
mergeReportIntoManifest(manifestInfoEntries, checkReportMap, "check");
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/ParserEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/ParserEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/chunking/ParserEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/ParserEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/chunking/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/chunking/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/chunking/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/lang/en/HeadRules.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRules.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/AttachContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/AttachContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/AttachContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/AttachContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/BuildContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/BuildContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/BuildContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/BuildContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/CheckContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/CheckContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/CheckContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/CheckContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/Parser.java
similarity index 96%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/Parser.java
index 8f6518a0..f4f28c6a 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/Parser.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/Parser.java
@@ -50,6 +50,7 @@ import opennlp.tools.postag.POSTagger;
import opennlp.tools.postag.POSTaggerFactory;
import opennlp.tools.postag.POSTaggerME;
import opennlp.tools.util.ObjectStream;
+import opennlp.tools.util.Parameters;
import opennlp.tools.util.TrainingParameters;
/**
@@ -533,7 +534,7 @@ public class Parser extends AbstractBottomUpParser {
ParserEventTypeEnum.BUILD, mdict);
Map<String, String> buildReportMap = new HashMap<>();
- EventTrainer buildTrainer = TrainerFactory.getEventTrainer(
+ EventTrainer<TrainingParameters> buildTrainer = TrainerFactory.getEventTrainer(
mlParams.getParameters("build"), buildReportMap);
MaxentModel buildModel = buildTrainer.train(bes);
opennlp.tools.parser.chunking.Parser.mergeReportIntoManifest(
@@ -547,7 +548,7 @@ public class Parser extends AbstractBottomUpParser {
ParserEventTypeEnum.CHECK);
Map<String, String> checkReportMap = new HashMap<>();
- EventTrainer checkTrainer = TrainerFactory.getEventTrainer(
+ EventTrainer<TrainingParameters> checkTrainer = TrainerFactory.getEventTrainer(
mlParams.getParameters("check"), checkReportMap);
MaxentModel checkModel = checkTrainer.train(kes);
opennlp.tools.parser.chunking.Parser.mergeReportIntoManifest(
@@ -560,7 +561,7 @@ public class Parser extends AbstractBottomUpParser {
ObjectStream<Event> attachEvents = new ParserEventStream(parseSamples, rules,
ParserEventTypeEnum.ATTACH);
Map<String, String> attachReportMap = new HashMap<>();
- EventTrainer attachTrainer = TrainerFactory.getEventTrainer(
+ EventTrainer<TrainingParameters> attachTrainer = TrainerFactory.getEventTrainer(
mlParams.getParameters("attach"), attachReportMap);
MaxentModel attachModel = attachTrainer.train(attachEvents);
opennlp.tools.parser.chunking.Parser.mergeReportIntoManifest(
@@ -585,15 +586,15 @@ public class Parser extends AbstractBottomUpParser {
HeadRules rules, int iterations, int cutoff) throws IOException {
TrainingParameters params = new TrainingParameters();
- params.put("dict", TrainingParameters.CUTOFF_PARAM, cutoff);
- params.put("tagger", TrainingParameters.CUTOFF_PARAM, cutoff);
- params.put("tagger", TrainingParameters.ITERATIONS_PARAM, iterations);
- params.put("chunker", TrainingParameters.CUTOFF_PARAM, cutoff);
- params.put("chunker", TrainingParameters.ITERATIONS_PARAM, iterations);
- params.put("check", TrainingParameters.CUTOFF_PARAM, cutoff);
- params.put("check", TrainingParameters.ITERATIONS_PARAM, iterations);
- params.put("build", TrainingParameters.CUTOFF_PARAM, cutoff);
- params.put("build", TrainingParameters.ITERATIONS_PARAM, iterations);
+ params.put("dict", Parameters.CUTOFF_PARAM, cutoff);
+ params.put("tagger", Parameters.CUTOFF_PARAM, cutoff);
+ params.put("tagger", Parameters.ITERATIONS_PARAM, iterations);
+ params.put("chunker", Parameters.CUTOFF_PARAM, cutoff);
+ params.put("chunker", Parameters.ITERATIONS_PARAM, iterations);
+ params.put("check", Parameters.CUTOFF_PARAM, cutoff);
+ params.put("check", Parameters.ITERATIONS_PARAM, iterations);
+ params.put("build", Parameters.CUTOFF_PARAM, cutoff);
+ params.put("build", Parameters.ITERATIONS_PARAM, iterations);
return train(languageCode, parseSamples, rules, params);
}
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/ParserEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/ParserEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/ParserEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/ParserEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/parser/treeinsert/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/parser/treeinsert/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/ConfigurablePOSContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/ConfigurablePOSContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/ConfigurablePOSContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/ConfigurablePOSContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/DefaultPOSContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/DefaultPOSContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/DefaultPOSContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/DefaultPOSContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/DefaultPOSSequenceValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/DefaultPOSSequenceValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/DefaultPOSSequenceValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/DefaultPOSSequenceValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSDictionary.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSDictionary.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSDictionary.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSDictionary.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSSampleEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSSampleEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSSampleEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSSampleEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSSampleSequenceStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSSampleSequenceStream.java
similarity index 96%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSSampleSequenceStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSSampleSequenceStream.java
index 7b36eacb..312e1790 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/postag/POSSampleSequenceStream.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSSampleSequenceStream.java
@@ -19,8 +19,8 @@ package opennlp.tools.postag;
import java.io.IOException;
-import opennlp.tools.ml.model.AbstractModel;
import opennlp.tools.ml.model.Event;
+import opennlp.tools.ml.model.MaxentModel;
import opennlp.tools.ml.model.Sequence;
import opennlp.tools.ml.model.SequenceStream;
import opennlp.tools.util.ObjectStream;
@@ -56,7 +56,7 @@ public class POSSampleSequenceStream implements SequenceStream<POSSample> {
}
@Override
- public Event[] updateContext(Sequence<POSSample> pss, AbstractModel model) {
+ public Event[] updateContext(Sequence<POSSample> pss, MaxentModel model) {
POSTagger tagger = new POSTaggerME(new POSModel("x-unspecified", model, null, new POSTaggerFactory()));
String[] sentence = pss.getSource().getSentence();
Object[] ac = pss.getSource().getAdditionalContext();
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTagFormat.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTagFormat.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSTagFormat.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTagFormat.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTagFormatMapper.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTagFormatMapper.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSTagFormatMapper.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTagFormatMapper.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerCrossValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTaggerCrossValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerCrossValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTaggerCrossValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTaggerFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTaggerFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTaggerME.java
similarity index 98%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTaggerME.java
index c3c03a12..fbe097da 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/POSTaggerME.java
@@ -312,15 +312,16 @@ public class POSTaggerME implements POSTagger {
if (TrainerType.EVENT_MODEL_TRAINER.equals(trainerType)) {
ObjectStream<Event> es = new POSSampleEventStream(samples, contextGenerator);
- EventTrainer trainer = TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
+ EventTrainer<TrainingParameters> trainer =
+ TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
posModel = trainer.train(es);
} else if (TrainerType.EVENT_MODEL_SEQUENCE_TRAINER.equals(trainerType)) {
POSSampleSequenceStream ss = new POSSampleSequenceStream(samples, contextGenerator);
- EventModelSequenceTrainer<POSSample> trainer =
+ EventModelSequenceTrainer<POSSample, TrainingParameters> trainer =
TrainerFactory.getEventModelSequenceTrainer(mlParams, manifestInfoEntries);
posModel = trainer.train(ss);
} else if (TrainerType.SEQUENCE_TRAINER.equals(trainerType)) {
- SequenceTrainer trainer = TrainerFactory.getSequenceModelTrainer(
+ SequenceTrainer<TrainingParameters> trainer = TrainerFactory.getSequenceModelTrainer(
mlParams, manifestInfoEntries);
// TODO: This will probably cause issue, since the feature generator uses the outcomes array
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/ThreadSafePOSTaggerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/ThreadSafePOSTaggerME.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/ThreadSafePOSTaggerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/ThreadSafePOSTaggerME.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/WordTagSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/WordTagSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/WordTagSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/WordTagSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/postag/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/postag/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/postag/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/DefaultEndOfSentenceScanner.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/DefaultEndOfSentenceScanner.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/DefaultEndOfSentenceScanner.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/DefaultEndOfSentenceScanner.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/DefaultSDContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/DefaultSDContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/DefaultSDContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/DefaultSDContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/EmptyLinePreprocessorStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/EmptyLinePreprocessorStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/EmptyLinePreprocessorStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/EmptyLinePreprocessorStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/NewlineSentenceDetector.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/NewlineSentenceDetector.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/NewlineSentenceDetector.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/NewlineSentenceDetector.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SDCrossValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SDCrossValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SDCrossValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SDCrossValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SDEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SDEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SDEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SDEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceDetectorEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java
similarity index 99%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java
index 5fbf9de6..bb48c7b2 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceDetectorME.java
@@ -356,7 +356,7 @@ public class SentenceDetectorME implements SentenceDetector {
ObjectStream<Event> eventStream = new SDEventStream(samples,
sdFactory.getSDContextGenerator(), sdFactory.getEndOfSentenceScanner());
- EventTrainer trainer = TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
+ EventTrainer<TrainingParameters> trainer = TrainerFactory.getEventTrainer(mlParams, manifestInfoEntries);
MaxentModel sentModel = trainer.train(eventStream);
return new SentenceModel(languageCode, sentModel, manifestInfoEntries, sdFactory);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/SentenceSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/ThreadSafeSentenceDetectorME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/ThreadSafeSentenceDetectorME.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/ThreadSafeSentenceDetectorME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/ThreadSafeSentenceDetectorME.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/lang/Factory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/lang/Factory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/lang/Factory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/lang/Factory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/lang/th/SentenceContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/lang/th/SentenceContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/lang/th/SentenceContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/lang/th/SentenceContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/lang/th/package.html b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/lang/th/package.html
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/lang/th/package.html
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/lang/th/package.html
diff --git a/opennlp-tools/src/main/java/opennlp/tools/sentdetect/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/sentdetect/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/sentdetect/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/PorterStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/PorterStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/AbstractSnowballStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/AbstractSnowballStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/AbstractSnowballStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/AbstractSnowballStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/Among.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/Among.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/Among.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/Among.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/SnowballProgram.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballProgram.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/SnowballProgram.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballProgram.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/arabicStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/arabicStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/arabicStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/arabicStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/catalanStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/catalanStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/catalanStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/catalanStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/danishStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/danishStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/danishStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/danishStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/dutchStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/dutchStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/dutchStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/dutchStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/englishStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/englishStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/englishStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/englishStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/finnishStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/finnishStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/finnishStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/finnishStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/frenchStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/frenchStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/frenchStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/frenchStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/germanStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/germanStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/germanStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/germanStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/greekStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/greekStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/greekStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/greekStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/hungarianStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/hungarianStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/hungarianStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/hungarianStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/indonesianStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/indonesianStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/indonesianStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/indonesianStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/irishStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/irishStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/irishStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/irishStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/italianStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/italianStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/italianStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/italianStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/norwegianStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/norwegianStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/norwegianStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/norwegianStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/porterStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/porterStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/porterStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/porterStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/portugueseStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/portugueseStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/portugueseStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/portugueseStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/romanianStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/romanianStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/romanianStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/romanianStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/russianStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/russianStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/russianStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/russianStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/spanishStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/spanishStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/spanishStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/spanishStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/swedishStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/swedishStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/swedishStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/swedishStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/turkishStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/turkishStemmer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/stemmer/snowball/turkishStemmer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/turkishStemmer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/DefaultTokenContextGenerator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/DefaultTokenContextGenerator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/DefaultTokenContextGenerator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/DefaultTokenContextGenerator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/SimpleTokenizer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/SimpleTokenizer.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/SimpleTokenizer.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/SimpleTokenizer.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/ThreadSafeTokenizerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/ThreadSafeTokenizerME.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/ThreadSafeTokenizerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/ThreadSafeTokenizerME.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokSpanEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokSpanEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokSpanEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokSpanEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerCrossValidator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerCrossValidator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerCrossValidator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerCrossValidator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerEvaluator.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerEvaluator.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerEvaluator.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerEvaluator.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerME.java
similarity index 99%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerME.java
index 3fcb6a0d..9655dbb1 100644
--- a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerME.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerME.java
@@ -240,7 +240,7 @@ public class TokenizerME extends AbstractTokenizer {
factory.isUseAlphaNumericOptimization(),
factory.getAlphaNumericPattern(), factory.getContextGenerator());
- EventTrainer trainer = TrainerFactory.getEventTrainer(
+ EventTrainer<TrainingParameters> trainer = TrainerFactory.getEventTrainer(
mlParams, manifestInfoEntries);
MaxentModel maxentModel = trainer.train(eventStream);
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerModel.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerModel.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerModel.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerModel.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/TokenizerStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/WhitespaceTokenStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/WhitespaceTokenStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/WhitespaceTokenStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/WhitespaceTokenStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/Factory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/lang/Factory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/Factory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/lang/Factory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/lang/en/TokenSampleStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/tokenize/package-info.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/package-info.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/tokenize/package-info.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/tokenize/package-info.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/AbstractEventStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/AbstractEventStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/AbstractEventStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/AbstractEventStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/AbstractObjectStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/AbstractObjectStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/AbstractObjectStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/AbstractObjectStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/BaseToolFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/BaseToolFactory.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/BaseToolFactory.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/BaseToolFactory.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/Cache.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/Cache.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/Cache.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/Cache.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/CollectionObjectStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/CollectionObjectStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/CollectionObjectStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/CollectionObjectStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/DownloadUtil.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/DownloadUtil.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/DownloadUtil.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/DownloadUtil.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/FilterObjectStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/FilterObjectStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/FilterObjectStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/FilterObjectStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/MutableInt.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/MutableInt.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/MutableInt.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/MutableInt.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/ObjectStreamUtils.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/ObjectStreamUtils.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/ObjectStreamUtils.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/ObjectStreamUtils.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/PlainTextByLineStream.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/PlainTextByLineStream.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/PlainTextByLineStream.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/PlainTextByLineStream.java
diff --git a/opennlp-tools/src/main/java/opennlp/tools/util/StringList.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/StringList.java
similarity index 100%
rename from opennlp-tools/src/main/java/opennlp/tools/util/StringList.java
rename to opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/StringList.java
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/TrainingParameters.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/TrainingParameters.java
new file mode 100644
index 00000000..6af97efe
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/TrainingParameters.java
@@ -0,0 +1,400 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.TreeMap;
+
+import opennlp.tools.ml.EventTrainer;
+
+/**
+ * Declares and handles default parameters used for or during training models.
+ */
+public class TrainingParameters implements Parameters {
+
+ private final Map<String, Object> parameters = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+
+ /**
+ * No-arg constructor to create a default {@link TrainingParameters} instance.
+ */
+ public TrainingParameters() {
+ }
+
+ /**
+ * Copy constructor to hand over the config of existing {@link TrainingParameters}.
+ */
+ public TrainingParameters(TrainingParameters trainingParameters) {
+ this.parameters.putAll(trainingParameters.parameters);
+ }
+
+ /**
+ * Key-value based constructor to apply a {@link Map} based configuration initialization.
+ */
+ public TrainingParameters(Map<String,Object> map) {
+ parameters.putAll(map);
+ }
+
+ /**
+ * {@link InputStream} based constructor that reads in {@link TrainingParameters}.
+ *
+ * @throws IOException Thrown if IO errors occurred.
+ */
+ public TrainingParameters(InputStream in) throws IOException {
+
+ Properties properties = new Properties();
+ properties.load(in);
+
+ for (Map.Entry<Object, Object> entry : properties.entrySet()) {
+ parameters.put((String) entry.getKey(), entry.getValue());
+ }
+ }
+
+ @Override
+ public String algorithm(String namespace) {
+ return (String)parameters.get(Parameters.getKey(namespace, Parameters.ALGORITHM_PARAM));
+ }
+
+ @Override
+ public String algorithm() {
+ return (String)parameters.get(Parameters.ALGORITHM_PARAM);
+ }
+
+ @Override
+ public Map<String, Object> getObjectSettings(String namespace) {
+
+ Map<String, Object> trainingParams = new HashMap<>();
+ String prefix = namespace + ".";
+
+ for (Map.Entry<String, Object> entry : parameters.entrySet()) {
+ String key = entry.getKey();
+
+ if (namespace != null) {
+ if (key.startsWith(prefix)) {
+ trainingParams.put(key.substring(prefix.length()), entry.getValue());
+ }
+ }
+ else {
+ if (!key.contains(".")) {
+ trainingParams.put(key, entry.getValue());
+ }
+ }
+ }
+
+ return Collections.unmodifiableMap(trainingParams);
+ }
+
+ @Override
+ public Map<String, Object> getObjectSettings() {
+ return getObjectSettings(null);
+ }
+
+ /**
+ * @param namespace The name space to filter or narrow the search space. May be {@code null}.
+ *
+ * @return Retrieves {@link TrainingParameters} which can be passed to the train and validate methods.
+ */
+ public TrainingParameters getParameters(String namespace) {
+
+ TrainingParameters params = new TrainingParameters();
+ Map<String, Object> settings = getObjectSettings(namespace);
+
+ for (Entry<String, Object> entry: settings.entrySet()) {
+ String key = entry.getKey();
+ Object value = entry.getValue();
+ if (value instanceof Integer) {
+ params.put(key, (Integer)value);
+ }
+ else if (value instanceof Double) {
+ params.put(key, (Double)value);
+ }
+ else if (value instanceof Boolean) {
+ params.put(key, (Boolean)value);
+ }
+ else {
+ params.put(key, (String)value);
+ }
+ }
+
+ return params;
+ }
+
+ @Override
+ public void putIfAbsent(String namespace, String key, String value) {
+ parameters.putIfAbsent(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void putIfAbsent(String key, String value) {
+ putIfAbsent(null, key, value);
+ }
+
+ @Override
+ public void putIfAbsent(String namespace, String key, int value) {
+ parameters.putIfAbsent(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void putIfAbsent(String key, int value) {
+ putIfAbsent(null, key, value);
+ }
+
+ @Override
+ public void putIfAbsent(String namespace, String key, double value) {
+ parameters.putIfAbsent(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void putIfAbsent(String key, double value) {
+ putIfAbsent(null, key, value);
+ }
+
+ @Override
+ public void putIfAbsent(String namespace, String key, boolean value) {
+ parameters.putIfAbsent(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void putIfAbsent(String key, boolean value) {
+ putIfAbsent(null, key, value);
+ }
+
+ @Override
+ public void put(String namespace, String key, String value) {
+ parameters.put(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void put(String key, String value) {
+ put(null, key, value);
+ }
+
+ @Override
+ public void put(String namespace, String key, int value) {
+ parameters.put(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void put(String key, int value) {
+ put(null, key, value);
+ }
+
+ @Override
+ public void put(String namespace, String key, double value) {
+ parameters.put(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void put(String key, double value) {
+ put(null, key, value);
+ }
+
+ @Override
+ public void put(String namespace, String key, boolean value) {
+ parameters.put(Parameters.getKey(namespace, key), value);
+ }
+
+ @Override
+ public void put(String key, boolean value) {
+ put(null, key, value);
+ }
+
+ @Override
+ public void serialize(OutputStream out) throws IOException {
+ Properties properties = new Properties();
+ properties.putAll(parameters);
+ properties.store(out, null);
+ }
+
+ @Override
+ public String getStringParameter(String key, String defaultValue) {
+ return getStringParameter(null, key, defaultValue);
+ }
+
+ @Override
+ public String getStringParameter(String namespace, String key, String defaultValue) {
+ Object value = parameters.get(Parameters.getKey(namespace, key));
+ if (value == null) {
+ return defaultValue;
+ }
+ else {
+ return (String)value;
+ }
+ }
+
+ @Override
+ public int getIntParameter(String key, int defaultValue) {
+ return getIntParameter(null, key, defaultValue);
+ }
+
+ @Override
+ public int getIntParameter(String namespace, String key, int defaultValue) {
+ Object value = parameters.get(Parameters.getKey(namespace, key));
+ if (value == null) {
+ return defaultValue;
+ }
+ else {
+ try {
+ return (Integer) value;
+ }
+ catch (ClassCastException e) {
+ return Integer.parseInt((String)value);
+ }
+ }
+ }
+
+ @Override
+ public double getDoubleParameter(String key, double defaultValue) {
+ return getDoubleParameter(null, key, defaultValue);
+ }
+
+ @Override
+ public double getDoubleParameter(String namespace, String key, double defaultValue) {
+ Object value = parameters.get(Parameters.getKey(namespace, key));
+ if (value == null) {
+ return defaultValue;
+ }
+ else {
+ try {
+ return (Double) value;
+ }
+ catch (ClassCastException e) {
+ return Double.parseDouble((String)value);
+ }
+ }
+ }
+
+ @Override
+ public boolean getBooleanParameter(String key, boolean defaultValue) {
+ return getBooleanParameter(null, key, defaultValue);
+ }
+
+ @Override
+ public boolean getBooleanParameter(String namespace, String key, boolean defaultValue) {
+ Object value = parameters.get(Parameters.getKey(namespace, key));
+ if (value == null) {
+ return defaultValue;
+ }
+ else {
+ try {
+ return (Boolean) value;
+ }
+ catch (ClassCastException e) {
+ return Boolean.parseBoolean((String)value);
+ }
+ }
+ }
+
+ /**
+ * @return Retrieves a new {@link TrainingParameters instance} initialized with default values.
+ */
+ public static TrainingParameters defaultParams() {
+ TrainingParameters mlParams = new TrainingParameters();
+ mlParams.put(Parameters.ALGORITHM_PARAM, "MAXENT");
+ mlParams.put(Parameters.TRAINER_TYPE_PARAM, EventTrainer.EVENT_VALUE);
+ mlParams.put(Parameters.ITERATIONS_PARAM, Parameters.ITERATIONS_DEFAULT_VALUE);
+ mlParams.put(Parameters.CUTOFF_PARAM, Parameters.CUTOFF_DEFAULT_VALUE);
+
+ return mlParams;
+ }
+
+ /**
+ * @param params The parameters to additionally apply into the new {@link TrainingParameters instance}.
+ *
+ * @return Retrieves a new {@link TrainingParameters instance} initialized with given parameter values.
+ */
+ public static TrainingParameters setParams(String[] params) {
+ TrainingParameters mlParams = new TrainingParameters();
+ mlParams.put(Parameters.ALGORITHM_PARAM , "MAXENT");
+ mlParams.put(Parameters.TRAINER_TYPE_PARAM , EventTrainer.EVENT_VALUE);
+ mlParams.put(Parameters.ITERATIONS_PARAM ,
+ null != getIntParameter("-" + Parameters.ITERATIONS_PARAM.toLowerCase() , params) ?
+ getIntParameter("-" + Parameters.ITERATIONS_PARAM.toLowerCase() , params) :
+ Parameters.ITERATIONS_DEFAULT_VALUE);
+ mlParams.put(Parameters.CUTOFF_PARAM ,
+ null != getIntParameter("-" + Parameters.CUTOFF_PARAM.toLowerCase() , params) ?
+ getIntParameter("-" + Parameters.CUTOFF_PARAM.toLowerCase() , params) :
+ Parameters.CUTOFF_DEFAULT_VALUE);
+
+ return mlParams;
+ }
+
+ /**
+ * Retrieves the specified parameter from the specified arguments.
+ *
+ * @param param parameter name
+ * @param args arguments
+ * @return parameter value
+ */
+ private static Integer getIntParameter(String param, String[] args) {
+ String value = getParameter(param, args);
+
+ try {
+ if (value != null)
+ return Integer.parseInt(value);
+ }
+ catch (NumberFormatException ignored) {
+ // in this case return null
+ }
+
+ return null;
+ }
+
+ /**
+ * Retrieves the specified parameter from the given arguments.
+ *
+ * @param param parameter name
+ * @param args arguments
+ * @return parameter value
+ */
+ private static String getParameter(String param, String[] args) {
+ int i = getParameterIndex(param, args);
+ if (-1 < i) {
+ i++;
+ if (i < args.length) {
+ return args[i];
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Returns the index of the parameter in the arguments, or {@code -1} if the parameter is not found.
+ *
+ * @param param parameter name
+ * @param args arguments
+ * @return the index of the parameter in the arguments, or {@code -1} if the parameter is not found
+ */
+ private static int getParameterIndex(String param, String[] args) {
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].startsWith("-") && args[i].equals(param)) {
+ return i;
+ }
... 7116 lines suppressed ...