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 2023/01/26 13:54:25 UTC
[opennlp-sandbox] 01/01: introduce-common-maven-module-structure-for-corpus-server-components
This is an automated email from the ASF dual-hosted git repository.
mawiesne pushed a commit to branch introduce-common-maven-module-structure-for-corpus-server-components
in repository https://gitbox.apache.org/repos/asf/opennlp-sandbox.git
commit ee554a4607963712e13de3665073cb705ca33aeb
Author: Martin Wiesner <ma...@hs-heilbronn.de>
AuthorDate: Thu Jan 26 14:50:26 2023 +0100
introduce-common-maven-module-structure-for-corpus-server-components
- adjusts parent project (org.apache.apache) to version 18
- adjusts Java language level to 11
- introduces parent pom module `corpus-server` and reorganizes children: -core, -impl, -connector, -tools
- updates several dependencies to more up-to-date versions to mitigate several CVEs
- adjusts some array declarations to comply with Java, not C style
- fixes existing, commented JUnit tests in `-connector`, yet they won't fully work -> Ignored for this PR
---
.../corpus_server/connector/CSCasConsumerTest.java | 59 -----
.../connector/CSCollectionReaderTest.java | 77 ------
corpus-server-impl/pom.xml | 155 ------------
.../corpus-server-connector}/desc/CSCasWriter.xml | 120 +++++-----
.../desc/CSQueueCollectionReader.xml | 216 ++++++++---------
.../desc/EngPersonNameFinderTrainerCPE.xml | 0
.../desc/EngTokenizerAndSentdetectCPE.xml | 0
.../desc/PersonNameFinderTrainer.xml | 0
.../desc/SentenceDetector.xml | 0
.../corpus-server-connector}/desc/Tokenizer.xml | 0
.../desc/TokenizerAndSentdetectAAE.xml | 0
.../corpus-server-connector}/pom.xml | 67 +++---
.../corpus_server/connector/CSCasWriter.java | 5 +-
.../connector/CSQueueCollectionReader.java | 2 +-
.../opennlp/corpus_server/connector/UimaUtil.java | 3 +-
.../corpus_server/connector/CSCasWriterTest.java | 78 +++++++
.../connector/CSCollectionReaderTest.java | 106 +++++++++
.../corpus_server/connector}/TestCorpusServer.java | 4 +-
.../test/resources/CSCasConsumerTestDescriptor.xml | 2 +-
.../resources/CSCollectionReaderTestDescriptor.xml | 2 +-
.../src/test/resources}/TypeSystem.xml | 0
corpus-server/{ => corpus-server-core}/feature.xml | 4 +-
corpus-server/corpus-server-core/pom.xml | 120 ++++++++++
.../opennlp/corpus_server/CorporaResource.java | 10 +-
.../opennlp/corpus_server/CorpusResource.java | 0
.../apache/opennlp/corpus_server/CorpusServer.java | 6 +-
.../corpus_server/CorpusServerApplication.java | 0
.../opennlp/corpus_server/CorpusServerBundle.java | 0
.../opennlp/corpus_server/TaskQueueResource.java | 0
.../opennlp/corpus_server/TaskQueuesResource.java | 0
.../corpus_server/search/SearchService.java | 0
.../corpus_server/store/AbstractCorporaStore.java | 0
.../corpus_server/store/CorporaChangeListener.java | 0
.../opennlp/corpus_server/store/CorporaStore.java | 3 +-
.../opennlp/corpus_server/store/CorpusStore.java | 0
.../corpus_server/store/MemoryCorporaStore.java | 0
.../corpus_server/store/MemoryCorpusStore.java | 0
.../corpus_server/taskqueue/MemoryTaskQueue.java | 0
.../taskqueue/MemoryTaskQueueService.java | 0
.../opennlp/corpus_server/taskqueue/TaskQueue.java | 0
.../corpus_server/taskqueue/TaskQueueService.java | 0
.../corpus_server/search}/IndexWriter.properties | 0
.../opennlp/corpus_server/search/LuceneIndexer.xml | 0
.../opennlp/corpus_server/search/TypeSystem.xml | 0
.../src/main/webapp/WEB-INF/web.xml | 0
.../corpus_server/util/TestCorpusServer.java | 0
.../corpus-server-impl}/feature.xml | 4 +-
corpus-server/corpus-server-impl/pom.xml | 144 ++++++++++++
.../opennlp/corpus_server/impl/Activator.java | 2 +-
.../corpus_server/impl/CorpusServerImpl.java | 5 +-
.../corpus_server/impl/DerbyCorporaStore.java | 4 +-
.../corpus_server/impl/DerbyCorpusStore.java | 13 +-
.../opennlp/corpus_server/impl/LuceneIndexer.java | 0
.../corpus_server/impl/LuceneSearchService.java | 6 +-
.../opennlp/corpus_server/impl/UimaUtil.java | 0
.../corpus_server/impl}/IndexWriter.properties | 0
.../opennlp/corpus_server/impl/LuceneIndexer.xml | 0
.../opennlp/corpus_server/impl/TypeSystem.xml | 0
.../corpus-server-tools}/bin/cs-tools | 0
.../corpus-server-tools}/pom.xml | 44 ++--
.../opennlp/corpus_server/tools/CASImporter.java | 0
.../opennlp/corpus_server/tools/CorpusBackup.java | 0
.../opennlp/corpus_server/tools/CreateCorpus.java | 0
.../corpus_server/tools/CreateTaskQueue.java | 0
.../opennlp/corpus_server/tools/DropCorpus.java | 0
.../opennlp/corpus_server/tools/FileUtil.java | 0
.../opennlp/corpus_server/tools/RemoveCAS.java | 0
.../corpus_server/tools/ReplaceTypeSystem.java | 0
.../opennlp/corpus_server/tools/SearchCorpus.java | 0
corpus-server/pom.xml | 260 +++++++++------------
70 files changed, 801 insertions(+), 720 deletions(-)
diff --git a/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCasConsumerTest.java b/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCasConsumerTest.java
deleted file mode 100644
index 7f2896e..0000000
--- a/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCasConsumerTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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 org.apache.opennlp.corpus_server.connector;
-
-
-public class CSCasConsumerTest {
-
-// private static final String CCPATH = "src/test/resources/org/apache/opennlp/corpus_server/CSCasConsumerTestDescriptor.xml";
-//
-// @Before
-// public void setUp() throws Exception {
-// InputStream in = CorpusServer.class
-// .getResourceAsStream("/org/apache/opennlp/corpus_server/search/TypeSystem.xml");
-// TypeSystemDescription tsd = UimaUtil.createTypeSystemDescription(in);
-// ByteArrayOutputStream os = new ByteArrayOutputStream();
-// tsd.toXML(os);
-// CorporaStore corporaStore = new DerbyCorporaStore();
-// try {
-// corporaStore.initialize();
-// corporaStore.createCorpus("wikinews", os.toByteArray());
-// } catch (Exception e) {
-// // do nothing
-// }
-// new TestCorpusServer();
-// }
-//
-// @Test
-// public void testCasWrite() {
-// try {
-// XMLInputSource s = new XMLInputSource(new File(CCPATH));
-// ResourceSpecifier rs = UIMAFramework.getXMLParser().parseCasConsumerDescription(s);
-// CasConsumer casConsumer = UIMAFramework.produceCasConsumer(rs);
-// InputStream in = CorpusServer.class
-// .getResourceAsStream("/org/apache/opennlp/corpus_server/WikinewsTypeSystem.xml");
-// TypeSystemDescription tsd = UimaUtil.createTypeSystemDescription(in);
-// CAS cas = UimaUtil.createEmptyCAS(tsd);
-// cas.setDocumentText("this cas needs to be stored");
-// casConsumer.processCas(cas);
-// } catch (Exception e) {
-// e.printStackTrace();
-// fail(e.getLocalizedMessage());
-// }
-// }
-}
diff --git a/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCollectionReaderTest.java b/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCollectionReaderTest.java
deleted file mode 100644
index 3bd90cd..0000000
--- a/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCollectionReaderTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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 org.apache.opennlp.corpus_server.connector;
-
-
-public class CSCollectionReaderTest {
-
- private static final String CRDPATH = "src/test/resources/org/apache/opennlp/corpus_server/CSCollectionReaderTestDescriptor.xml";
-
-// @BeforeClass
-// public static void setUp() throws Exception {
-// InputStream in = CorpusServer.class
-// .getResourceAsStream("/org/apache/opennlp/corpus_server/search/TypeSystem.xml");
-// TypeSystemDescription tsd = UimaUtil.createTypeSystemDescription(in);
-// ByteArrayOutputStream os = new ByteArrayOutputStream();
-// tsd.toXML(os);
-// CorporaStore corporaStore = new DerbyCorporaStore();
-// try {
-// corporaStore.initialize();
-// corporaStore.createCorpus("wikinews", os.toByteArray());
-// } catch (Exception e) {
-// // do nothing
-// }
-// os.reset();
-// CAS cas = UimaUtil.createEmptyCAS(tsd);
-// cas.setDocumentText("this is a test text");
-// Annotation a = new Annotation(cas.getJCas());
-// a.setBegin(0);
-// a.setEnd(4);
-// a.addToIndexes();
-// XmiCasSerializer.serialize(cas, os);
-// try {
-// corporaStore.getCorpus("wikinews").addCAS("111", os.toByteArray());
-// corporaStore.getCorpus("wikinews").addCAS("222", os.toByteArray());
-// } catch (Exception e) {
-// // do nothing
-// }
-// new TestCorpusServer();
-// }
-//
-// @Test
-// public void explicitCRTest() {
-// try {
-// XMLInputSource s = new XMLInputSource(new File(CRDPATH));
-// ResourceSpecifier rs = UIMAFramework.getXMLParser().parseCollectionReaderDescription(s);
-// CollectionReader cr = UIMAFramework.produceCollectionReader(rs);
-// CAS cas = CasCreationUtils.createCas(new ArrayList<MetaDataObject>(0));
-// assertTrue(cr.hasNext());
-// cr.getNext(cas);
-// assertNotNull(cas);
-// AnnotationIndex<AnnotationFS> annotationIndex = cas.getAnnotationIndex();
-// assertTrue(annotationIndex.size() == 2);
-// assertTrue(cr.hasNext());
-// cr.getNext(cas);
-// assertFalse(cr.hasNext());
-// } catch (Exception e) {
-// e.printStackTrace();
-// fail(e.getLocalizedMessage());
-// }
-// }
-
-}
diff --git a/corpus-server-impl/pom.xml b/corpus-server-impl/pom.xml
deleted file mode 100644
index d28808c..0000000
--- a/corpus-server-impl/pom.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>9</version>
- <relativePath />
- </parent>
-
- <groupId>org.apache.opennlp</groupId>
- <artifactId>corpus-server-impl</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>bundle</packaging>
-
- <name>Apache OpenNLP Corpus Server Implementation</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>4.2.0</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <version>4.2.0</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.opennlp</groupId>
- <artifactId>corpus-server</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <version>10.8.1.2</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- UIMA and Lucas must be embedded to work properly! -->
- <dependency>
- <groupId>org.apache.uima</groupId>
- <artifactId>uimaj-core</artifactId>
- <version>2.3.1</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.uima</groupId>
- <artifactId>Lucas</artifactId>
- <version>2.3.1</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <compilerArgument>-Xlint</compilerArgument>
- </configuration>
- </plugin>
-
- <!-- to generate the MANIFEST-FILE required by the bundle -->
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.3.7</version>
- <extensions>true</extensions>
- <executions>
- <execution>
- <id>bundle-manifest</id>
- <phase>process-classes</phase>
- <goals>
- <goal>manifest</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <instructions>
- <Embed-Dependency>*;scope=compile;inline=false</Embed-Dependency>
- <Embed-Transitive>true</Embed-Transitive>
- <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
- <Import-Package>
- !com.sun.jdmk.comm,
- !javax.persistence.*,
- !javax.servlet.annotation,
- !javax.servlet.jsp.*,
- !javax.microedition.*,
- !javax.mail.*,
- !javax.transaction.xa,
- !javax.jms,
- !javax.interceptor,!javax.inject,
- !javax.enterprise.*,
- !javax.annotation.security,
- !javax.ejb,
- !com.sun.xml.fastinfoset.*,
- !org.jvnet.*,
- !org.apache.derby.impl.drda,
- !com.ibm.jvm,
- !com.sun.net.httpserver,
- !sun.misc,
- *,
- org.apache.opennlp.corpus_server,
- org.apache.derby.jdbc
- </Import-Package>
- <!-- Import-Package>!com.ibm.jvm,!com.sun.jdmk.comm,!com.sun.net.httpserver,*,com.sun.jersey.api.core,com.sun.jersey.spi.container.servlet</Import-Package-->
- <Export-Package>org.apache.opennlp.corpus_server.impl</Export-Package>
- <Bundle-Activator>org.apache.opennlp.corpus_server.impl.Activator</Bundle-Activator>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
diff --git a/corpus-server-connector/desc/CSCasWriter.xml b/corpus-server/corpus-server-connector/desc/CSCasWriter.xml
similarity index 97%
rename from corpus-server-connector/desc/CSCasWriter.xml
rename to corpus-server/corpus-server-connector/desc/CSCasWriter.xml
index fcb1696..ec39576 100644
--- a/corpus-server-connector/desc/CSCasWriter.xml
+++ b/corpus-server/corpus-server-connector/desc/CSCasWriter.xml
@@ -1,60 +1,60 @@
-<?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. *************************************************************** -->
-
-<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
- <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
- <primitive>true</primitive>
- <annotatorImplementationName>org.apache.opennlp.corpus_server.connector.CSCasWriter
- </annotatorImplementationName>
- <analysisEngineMetaData>
- <name>Corpus Server Cas Writer</name>
- <description>Writes a CAS (back) to the Corpus Server.</description>
- <configurationParameters>
- <configurationParameter>
- <name>ServerAddress</name>
- <description>The location of the server.</description>
- <type>String</type>
- <multiValued>false</multiValued>
- <mandatory>true</mandatory>
- </configurationParameter>
- <configurationParameter>
- <name>CorpusName</name>
- <description>The id of the corpus which should be processed.
- </description>
- <type>String</type>
- <multiValued>false</multiValued>
- <mandatory>true</mandatory>
- </configurationParameter>
- </configurationParameters>
-
- <typeSystemDescription>
- <imports>
- <import name="org.apache.uima.examples.SourceDocumentInformation" />
- </imports>
- </typeSystemDescription>
- <capabilities>
- <capability>
- <inputs />
- <outputs />
- <languagesSupported />
- </capability>
- </capabilities>
- <operationalProperties>
- <modifiesCas>true</modifiesCas>
- <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
- <outputsNewCASes>false</outputsNewCASes>
- </operationalProperties>
- </analysisEngineMetaData>
-</analysisEngineDescription>
+<?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. *************************************************************** -->
+
+<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
+ <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
+ <primitive>true</primitive>
+ <annotatorImplementationName>org.apache.opennlp.corpus_server.connector.CSCasWriter
+ </annotatorImplementationName>
+ <analysisEngineMetaData>
+ <name>Corpus Server Cas Writer</name>
+ <description>Writes a CAS (back) to the Corpus Server.</description>
+ <configurationParameters>
+ <configurationParameter>
+ <name>ServerAddress</name>
+ <description>The location of the server.</description>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>true</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>CorpusName</name>
+ <description>The id of the corpus which should be processed.
+ </description>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>true</mandatory>
+ </configurationParameter>
+ </configurationParameters>
+
+ <typeSystemDescription>
+ <imports>
+ <import name="org.apache.uima.examples.SourceDocumentInformation" />
+ </imports>
+ </typeSystemDescription>
+ <capabilities>
+ <capability>
+ <inputs />
+ <outputs />
+ <languagesSupported />
+ </capability>
+ </capabilities>
+ <operationalProperties>
+ <modifiesCas>true</modifiesCas>
+ <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
+ <outputsNewCASes>false</outputsNewCASes>
+ </operationalProperties>
+ </analysisEngineMetaData>
+</analysisEngineDescription>
diff --git a/corpus-server-connector/desc/CSQueueCollectionReader.xml b/corpus-server/corpus-server-connector/desc/CSQueueCollectionReader.xml
similarity index 97%
rename from corpus-server-connector/desc/CSQueueCollectionReader.xml
rename to corpus-server/corpus-server-connector/desc/CSQueueCollectionReader.xml
index eaa52c6..a32c65f 100644
--- a/corpus-server-connector/desc/CSQueueCollectionReader.xml
+++ b/corpus-server/corpus-server-connector/desc/CSQueueCollectionReader.xml
@@ -1,108 +1,108 @@
-<?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.
- ***************************************************************
- -->
-
-<collectionReaderDescription xmlns="http://uima.apache.org/resourceSpecifier">
- <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
- <implementationName>org.apache.opennlp.corpus_server.connector.CSQueueCollectionReader</implementationName>
- <processingResourceMetaData>
- <name>Corpus Server Collection Reader</name>
- <description>Reads CASes from a Corpus Server Queue.</description>
- <version>1.0</version>
- <vendor>The Apache Software Foundation</vendor>
- <configurationParameters>
- <configurationParameter>
- <name>ServerAddress</name>
- <description>The location of the server.</description>
- <type>String</type>
- <multiValued>false</multiValued>
- <mandatory>true</mandatory>
- </configurationParameter>
- <configurationParameter>
- <name>CorpusName</name>
- <description>The id of the corpus which should be processed.</description>
- <type>String</type>
- <multiValued>false</multiValued>
- <mandatory>true</mandatory>
- </configurationParameter>
- <configurationParameter>
- <name>SearchQuery</name>
- <description>The query to populate the queue.</description>
- <type>String</type>
- <multiValued>false</multiValued>
- <mandatory>true</mandatory>
- </configurationParameter>
- <configurationParameter>
- <name>QueueName</name>
- <description>Name of the queue to create with the search query.</description>
- <type>String</type>
- <multiValued>false</multiValued>
- <mandatory>true</mandatory>
- </configurationParameter>
- </configurationParameters>
- <configurationParameterSettings>
- <nameValuePair>
- <name>ServerAddress</name>
- <value>
- <string>http://localhost:8080/rest</string>
- </value>
- </nameValuePair>
- <nameValuePair>
- <name>CorpusName</name>
- <value>
- <string>enwikinews</string>
- </value>
- </nameValuePair>
- <nameValuePair>
- <name>SearchQuery</name>
- <value>
- <string>status-token:true</string>
- </value>
- </nameValuePair>
- <nameValuePair>
- <name>QueueName</name>
- <value>
- <string>EnglishTokenizerTraining</string>
- </value>
- </nameValuePair>
- </configurationParameterSettings>
-
- <!-- Type System must be compatible with the one used for the corpus. -->
- <typeSystemDescription>
- <imports>
- <import location="TypeSystem.xml"/>
- </imports>
- </typeSystemDescription>
-
- <capabilities>
- <capability>
- <inputs/>
- <outputs/>
- </capability>
- </capabilities>
- <operationalProperties>
- <modifiesCas>true</modifiesCas>
- <multipleDeploymentAllowed>false</multipleDeploymentAllowed>
- <outputsNewCASes>true</outputsNewCASes>
- </operationalProperties>
- </processingResourceMetaData>
-</collectionReaderDescription>
+<?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.
+ ***************************************************************
+ -->
+
+<collectionReaderDescription xmlns="http://uima.apache.org/resourceSpecifier">
+ <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
+ <implementationName>org.apache.opennlp.corpus_server.connector.CSQueueCollectionReader</implementationName>
+ <processingResourceMetaData>
+ <name>Corpus Server Collection Reader</name>
+ <description>Reads CASes from a Corpus Server Queue.</description>
+ <version>1.0</version>
+ <vendor>The Apache Software Foundation</vendor>
+ <configurationParameters>
+ <configurationParameter>
+ <name>ServerAddress</name>
+ <description>The location of the server.</description>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>true</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>CorpusName</name>
+ <description>The id of the corpus which should be processed.</description>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>true</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>SearchQuery</name>
+ <description>The query to populate the queue.</description>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>true</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>QueueName</name>
+ <description>Name of the queue to create with the search query.</description>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>true</mandatory>
+ </configurationParameter>
+ </configurationParameters>
+ <configurationParameterSettings>
+ <nameValuePair>
+ <name>ServerAddress</name>
+ <value>
+ <string>http://localhost:8080/rest</string>
+ </value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>CorpusName</name>
+ <value>
+ <string>enwikinews</string>
+ </value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>SearchQuery</name>
+ <value>
+ <string>status-token:true</string>
+ </value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>QueueName</name>
+ <value>
+ <string>EnglishTokenizerTraining</string>
+ </value>
+ </nameValuePair>
+ </configurationParameterSettings>
+
+ <!-- Type System must be compatible with the one used for the corpus. -->
+ <typeSystemDescription>
+ <imports>
+ <import location="TypeSystem.xml"/>
+ </imports>
+ </typeSystemDescription>
+
+ <capabilities>
+ <capability>
+ <inputs/>
+ <outputs/>
+ </capability>
+ </capabilities>
+ <operationalProperties>
+ <modifiesCas>true</modifiesCas>
+ <multipleDeploymentAllowed>false</multipleDeploymentAllowed>
+ <outputsNewCASes>true</outputsNewCASes>
+ </operationalProperties>
+ </processingResourceMetaData>
+</collectionReaderDescription>
diff --git a/corpus-server-connector/desc/EngPersonNameFinderTrainerCPE.xml b/corpus-server/corpus-server-connector/desc/EngPersonNameFinderTrainerCPE.xml
similarity index 100%
rename from corpus-server-connector/desc/EngPersonNameFinderTrainerCPE.xml
rename to corpus-server/corpus-server-connector/desc/EngPersonNameFinderTrainerCPE.xml
diff --git a/corpus-server-connector/desc/EngTokenizerAndSentdetectCPE.xml b/corpus-server/corpus-server-connector/desc/EngTokenizerAndSentdetectCPE.xml
similarity index 100%
rename from corpus-server-connector/desc/EngTokenizerAndSentdetectCPE.xml
rename to corpus-server/corpus-server-connector/desc/EngTokenizerAndSentdetectCPE.xml
diff --git a/corpus-server-connector/desc/PersonNameFinderTrainer.xml b/corpus-server/corpus-server-connector/desc/PersonNameFinderTrainer.xml
similarity index 100%
rename from corpus-server-connector/desc/PersonNameFinderTrainer.xml
rename to corpus-server/corpus-server-connector/desc/PersonNameFinderTrainer.xml
diff --git a/corpus-server-connector/desc/SentenceDetector.xml b/corpus-server/corpus-server-connector/desc/SentenceDetector.xml
similarity index 100%
rename from corpus-server-connector/desc/SentenceDetector.xml
rename to corpus-server/corpus-server-connector/desc/SentenceDetector.xml
diff --git a/corpus-server-connector/desc/Tokenizer.xml b/corpus-server/corpus-server-connector/desc/Tokenizer.xml
similarity index 100%
rename from corpus-server-connector/desc/Tokenizer.xml
rename to corpus-server/corpus-server-connector/desc/Tokenizer.xml
diff --git a/corpus-server-connector/desc/TokenizerAndSentdetectAAE.xml b/corpus-server/corpus-server-connector/desc/TokenizerAndSentdetectAAE.xml
similarity index 100%
rename from corpus-server-connector/desc/TokenizerAndSentdetectAAE.xml
rename to corpus-server/corpus-server-connector/desc/TokenizerAndSentdetectAAE.xml
diff --git a/corpus-server-connector/pom.xml b/corpus-server/corpus-server-connector/pom.xml
similarity index 63%
rename from corpus-server-connector/pom.xml
rename to corpus-server/corpus-server-connector/pom.xml
index 0b181d7..3dec8ed 100644
--- a/corpus-server-connector/pom.xml
+++ b/corpus-server/corpus-server-connector/pom.xml
@@ -21,58 +21,58 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
-
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>9</version>
- <relativePath />
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>corpus-server</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
</parent>
- <groupId>org.apache.opennlp</groupId>
<artifactId>corpus-server-connector</artifactId>
- <version>0.0.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>OpenNLP Corpus Server UIMA Connector</name>
-
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
+ <name>Apache OpenNLP Corpus Server UIMA Connector</name>
- <repositories>
- <repository>
- <id>maven2-repository.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </repository>
- </repositories>
-
<dependencies>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-json</artifactId>
- <version>1.8</version>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>corpus-server-core</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>corpus-server-impl</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
</dependency>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-client</artifactId>
- <version>1.8</version>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-client</artifactId>
</dependency>
-
+
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-core</artifactId>
- <version>2.3.1</version>
+ <version>${uimaj.version}</version>
<scope>compile</scope>
</dependency>
-
+
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.8.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>${derby.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -82,11 +82,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <compilerArgument>-Xlint</compilerArgument>
- </configuration>
</plugin>
</plugins>
</build>
diff --git a/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSCasWriter.java b/corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSCasWriter.java
similarity index 96%
rename from corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSCasWriter.java
rename to corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSCasWriter.java
index 138e492..5399c46 100644
--- a/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSCasWriter.java
+++ b/corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSCasWriter.java
@@ -50,7 +50,7 @@ public class CSCasWriter extends CasAnnotator_ImplBase {
private String corpusName;
// TODO: Make it configurable
- private String action = "update";
+ private final String action = "update";
private Type idType;
private Feature idFeature;
@@ -93,9 +93,8 @@ public class CSCasWriter extends CasAnnotator_ImplBase {
cas.removeFsFromIndexes(idFs);
ByteArrayOutputStream xmiBytes = new ByteArrayOutputStream();
- XmiCasSerializer serializer = new XmiCasSerializer(cas.getTypeSystem());
try {
- serializer.serialize(cas, xmiBytes);
+ XmiCasSerializer.serialize(cas, xmiBytes);
} catch (SAXException e) {
throw new AnalysisEngineProcessException();
}
diff --git a/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSQueueCollectionReader.java b/corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSQueueCollectionReader.java
similarity index 99%
rename from corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSQueueCollectionReader.java
rename to corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSQueueCollectionReader.java
index fb06d79..1529333 100644
--- a/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSQueueCollectionReader.java
+++ b/corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/CSQueueCollectionReader.java
@@ -43,7 +43,7 @@ import com.sun.jersey.api.client.WebResource;
/**
* a {@link org.apache.uima.collection.CollectionReader} which reads {@link CAS}s from a corpus
- * in the {@link CorpusServer}
+ * in the {@link org.apache.opennlp.corpus_server.CorpusServer}
*/
public class CSQueueCollectionReader extends CollectionReader_ImplBase {
diff --git a/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/UimaUtil.java b/corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/UimaUtil.java
similarity index 97%
rename from corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/UimaUtil.java
rename to corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/UimaUtil.java
index 37616cb..6db5573 100644
--- a/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/UimaUtil.java
+++ b/corpus-server/corpus-server-connector/src/main/java/org/apache/opennlp/corpus_server/connector/UimaUtil.java
@@ -55,8 +55,7 @@ public class UimaUtil {
TypeSystemDescription typeSystemDesciptor;
try {
- typeSystemDesciptor = (TypeSystemDescription) xmlParser
- .parse(xmlTypeSystemSource);
+ typeSystemDesciptor = (TypeSystemDescription) xmlParser.parse(xmlTypeSystemSource);
typeSystemDesciptor.resolveImports();
} catch (InvalidXMLException e) {
diff --git a/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCasWriterTest.java b/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCasWriterTest.java
new file mode 100644
index 0000000..6f7424f
--- /dev/null
+++ b/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCasWriterTest.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 org.apache.opennlp.corpus_server.connector;
+
+
+import org.apache.opennlp.corpus_server.impl.DerbyCorporaStore;
+import org.apache.opennlp.corpus_server.store.CorporaStore;
+import org.apache.uima.UIMAFramework;
+import org.apache.uima.cas.CAS;
+import org.apache.uima.collection.CasConsumer;
+import org.apache.uima.resource.ResourceSpecifier;
+import org.apache.uima.resource.metadata.TypeSystemDescription;
+import org.apache.uima.util.XMLInputSource;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+
+import static org.junit.Assert.fail;
+
+public class CSCasWriterTest {
+
+ private static final String CCPATH = "/CSCasConsumerTestDescriptor.xml";
+
+ @Before
+ public void setUp() throws Exception {
+ try (InputStream in = CSCasWriterTest.class.getResourceAsStream("/TypeSystem.xml");
+ ByteArrayOutputStream os = new ByteArrayOutputStream()) {
+ TypeSystemDescription tsd = UimaUtil.createTypeSystemDescription(in);
+ tsd.toXML(os);
+ CorporaStore corporaStore = new DerbyCorporaStore();
+ corporaStore.initialize();
+ byte[] indexMapping = new byte[]{};
+ corporaStore.createCorpus("wikinews", os.toByteArray(), indexMapping);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail(e.getLocalizedMessage());
+ }
+ new TestCorpusServer();
+ }
+
+ @Test
+ @Ignore
+ // TODO Investigate why this test fails with:
+ // A CasConsumer descriptor specified implementation class "org.apache.opennlp.corpus_server.connector.CSCasWriter",
+ // but this class does not implement the CasConsumer interface.
+ public void testCasWrite() {
+ try (InputStream in = CSCasWriterTest.class.getResourceAsStream("/TypeSystem.xml")) {
+ XMLInputSource s = new XMLInputSource(CSCasWriterTest.class.getResource(CCPATH));
+ ResourceSpecifier rs = UIMAFramework.getXMLParser().parseCasConsumerDescription(s);
+ CasConsumer casConsumer = UIMAFramework.produceCasConsumer(rs);
+ TypeSystemDescription tsd = UimaUtil.createTypeSystemDescription(in);
+ CAS cas = UimaUtil.createEmptyCAS(tsd);
+ cas.setDocumentText("this cas needs to be stored");
+ casConsumer.processCas(cas);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail(e.getLocalizedMessage());
+ }
+ }
+}
diff --git a/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCollectionReaderTest.java b/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCollectionReaderTest.java
new file mode 100644
index 0000000..99dca6f
--- /dev/null
+++ b/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/CSCollectionReaderTest.java
@@ -0,0 +1,106 @@
+/*
+ * 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 org.apache.opennlp.corpus_server.connector;
+
+
+import org.apache.opennlp.corpus_server.CorpusServer;
+import org.apache.opennlp.corpus_server.impl.DerbyCorporaStore;
+import org.apache.opennlp.corpus_server.store.CorporaStore;
+import org.apache.uima.UIMAFramework;
+import org.apache.uima.cas.CAS;
+import org.apache.uima.cas.impl.XmiCasSerializer;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.cas.text.AnnotationIndex;
+import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.jcas.tcas.Annotation;
+import org.apache.uima.resource.ResourceSpecifier;
+import org.apache.uima.resource.metadata.TypeSystemDescription;
+import org.apache.uima.util.CasCreationUtils;
+import org.apache.uima.util.XMLInputSource;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+public class CSCollectionReaderTest {
+
+ private static final String CRDPATH = "/CSCollectionReaderTestDescriptor.xml";
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ try (InputStream in = CSCollectionReaderTest.class.getResourceAsStream("/TypeSystem.xml");
+ ByteArrayOutputStream os = new ByteArrayOutputStream()) {
+ TypeSystemDescription tsd = UimaUtil.createTypeSystemDescription(in);
+ tsd.toXML(os);
+ CorporaStore corporaStore = new DerbyCorporaStore();
+ corporaStore.initialize();
+ byte[] indexMapping = new byte[]{};
+ corporaStore.createCorpus("wikinews", os.toByteArray(), indexMapping);
+
+ os.reset();
+ CAS cas = UimaUtil.createEmptyCAS(tsd);
+ cas.setDocumentText("this is a test text");
+ Annotation a = new Annotation(cas.getJCas());
+ a.setBegin(0);
+ a.setEnd(4);
+ a.addToIndexes();
+ XmiCasSerializer.serialize(cas, os);
+
+ corporaStore.getCorpus("wikinews").addCAS("111", os.toByteArray());
+ corporaStore.getCorpus("wikinews").addCAS("222", os.toByteArray());
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail(e.getLocalizedMessage());
+ }
+ new TestCorpusServer();
+ }
+
+ @Test
+ @Ignore
+ // TODO Investigate why this test fails with:
+ // No value has been assigned to the mandatory configuration parameter corpusName.
+ public void explicitCRTest() {
+ try {
+ XMLInputSource s = new XMLInputSource(CSCollectionReaderTest.class.getResource(CRDPATH));
+ ResourceSpecifier rs = UIMAFramework.getXMLParser().parseCollectionReaderDescription(s);
+ CollectionReader cr = UIMAFramework.produceCollectionReader(rs);
+ CAS cas = CasCreationUtils.createCas(new ArrayList<>(0));
+ assertTrue(cr.hasNext());
+ cr.getNext(cas);
+ assertNotNull(cas);
+ AnnotationIndex<AnnotationFS> annotationIndex = cas.getAnnotationIndex();
+ assertEquals(2, annotationIndex.size());
+ assertTrue(cr.hasNext());
+ cr.getNext(cas);
+ assertFalse(cr.hasNext());
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail(e.getLocalizedMessage());
+ }
+ }
+
+}
diff --git a/corpus-server/src/test/java/org/apache/opennlp/corpus_server/util/TestCorpusServer.java b/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/TestCorpusServer.java
similarity index 90%
copy from corpus-server/src/test/java/org/apache/opennlp/corpus_server/util/TestCorpusServer.java
copy to corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/TestCorpusServer.java
index da2fdf8..05485fd 100644
--- a/corpus-server/src/test/java/org/apache/opennlp/corpus_server/util/TestCorpusServer.java
+++ b/corpus-server/corpus-server-connector/src/test/java/org/apache/opennlp/corpus_server/connector/TestCorpusServer.java
@@ -15,9 +15,7 @@
* limitations under the License.
*/
-package org.apache.opennlp.corpus_server.util;
-
-import org.apache.opennlp.corpus_server.CorpusServer;
+package org.apache.opennlp.corpus_server.connector;
/**
* Utility CorpusServer extension class that can be used for test purposes.
diff --git a/corpus-server-connector/src/test/resources/org/apache/opennlp/corpus_server/connector/CSCasConsumerDescriptor.xml b/corpus-server/corpus-server-connector/src/test/resources/CSCasConsumerTestDescriptor.xml
similarity index 99%
rename from corpus-server-connector/src/test/resources/org/apache/opennlp/corpus_server/connector/CSCasConsumerDescriptor.xml
rename to corpus-server/corpus-server-connector/src/test/resources/CSCasConsumerTestDescriptor.xml
index 122348f..d88c77f 100644
--- a/corpus-server-connector/src/test/resources/org/apache/opennlp/corpus_server/connector/CSCasConsumerDescriptor.xml
+++ b/corpus-server/corpus-server-connector/src/test/resources/CSCasConsumerTestDescriptor.xml
@@ -20,7 +20,7 @@
<casConsumerDescription xmlns="http://uima.apache.org/resourceSpecifier">
<frameworkImplementation>org.apache.uima.java
</frameworkImplementation>
- <implementationName>org.apache.opennlp.corpus_server.connector.CSCasConsumer
+ <implementationName>org.apache.opennlp.corpus_server.connector.CSCasWriter
</implementationName>
<processingResourceMetaData>
<name>CSCasConsumerDescriptor</name>
diff --git a/corpus-server-connector/src/test/resources/org/apache/opennlp/corpus_server/connector/CSCollectionReaderDescriptor.xml b/corpus-server/corpus-server-connector/src/test/resources/CSCollectionReaderTestDescriptor.xml
similarity index 97%
rename from corpus-server-connector/src/test/resources/org/apache/opennlp/corpus_server/connector/CSCollectionReaderDescriptor.xml
rename to corpus-server/corpus-server-connector/src/test/resources/CSCollectionReaderTestDescriptor.xml
index fdcd605..5caba80 100644
--- a/corpus-server-connector/src/test/resources/org/apache/opennlp/corpus_server/connector/CSCollectionReaderDescriptor.xml
+++ b/corpus-server/corpus-server-connector/src/test/resources/CSCollectionReaderTestDescriptor.xml
@@ -19,7 +19,7 @@
-->
<collectionReaderDescription xmlns="http://uima.apache.org/resourceSpecifier">
<frameworkImplementation>org.apache.uima.java</frameworkImplementation>
- <implementationName>org.apache.opennlp.corpus_server.connector.CSCollectionReader</implementationName>
+ <implementationName>org.apache.opennlp.corpus_server.connector.CSQueueCollectionReader</implementationName>
<processingResourceMetaData>
<name>CSCollectionReaderDescriptor</name>
<description></description>
diff --git a/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/TypeSystem.xml b/corpus-server/corpus-server-connector/src/test/resources/TypeSystem.xml
similarity index 100%
copy from corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/TypeSystem.xml
copy to corpus-server/corpus-server-connector/src/test/resources/TypeSystem.xml
diff --git a/corpus-server/feature.xml b/corpus-server/corpus-server-core/feature.xml
similarity index 94%
rename from corpus-server/feature.xml
rename to corpus-server/corpus-server-core/feature.xml
index ab05e8a..a7804ab 100644
--- a/corpus-server/feature.xml
+++ b/corpus-server/corpus-server-core/feature.xml
@@ -21,7 +21,7 @@
<features>
<!-- This feature.xml should be automatically be generated, all dependencies are duplicated here! -->
- <feature name="opennlp-corpus-server" version="0.0.1.SNAPSHOT">
+ <feature name="opennlp-corpus-server" version="2.1.1.SNAPSHOT">
<bundle>http://repo1.maven.org/maven2/org/ops4j/pax/web/pax-web-jetty-bundle/0.7.1/pax-web-jetty-bundle-0.7.1.jar</bundle>
<bundle>http://repo2.maven.org/maven2/org/ops4j/pax/web/pax-web-extender-war/0.7.1/pax-web-extender-war-0.7.1.jar</bundle>
<bundle>https://maven.java.net/service/local/artifact/maven/redirect?r=releases&g=com.sun.jersey&a=jersey-core&v=1.12&e=jar</bundle>
@@ -33,6 +33,6 @@
<bundle>http://repo1.maven.org/maven2/org/codehaus/jackson/jackson-xc/1.9.2/jackson-xc-1.9.2.jar</bundle>
<bundle>http://repo1.maven.org/maven2/org/codehaus/jackson/jackson-mapper-asl/1.9.2/jackson-mapper-asl-1.9.2.jar</bundle>
<bundle>http://repo1.maven.org/maven2/org/codehaus/jettison/jettison/1.3.1/jettison-1.3.1.jar</bundle>
- <bundle>mvn:org.apache.opennlp/corpus-server/0.0.1-SNAPSHOT</bundle>
+ <bundle>mvn:org.apache.opennlp/corpus-server/2.1.1-SNAPSHOT</bundle>
</feature>
</features>
\ No newline at end of file
diff --git a/corpus-server/corpus-server-core/pom.xml b/corpus-server/corpus-server-core/pom.xml
new file mode 100644
index 0000000..d54f879
--- /dev/null
+++ b/corpus-server/corpus-server-core/pom.xml
@@ -0,0 +1,120 @@
+<?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>corpus-server</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>corpus-server-core</artifactId>
+ <name>Apache OpenNLP Corpus Server Core</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-servlet</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-client</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+
+ <!-- to generate the MANIFEST-FILE required by the bundle -->
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>5.1.8</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
+ <instructions>
+ <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+ <Import-Package>
+ !javax.persistence.*,
+ !javax.servlet.annotation,
+ !javax.servlet.jsp.*,
+ !javax.microedition.*,
+ !javax.mail.*,
+ !javax.transaction.xa,
+ !javax.jms,
+ !javax.interceptor,!javax.inject,
+ !javax.enterprise.*,
+ !javax.annotation.security,
+ !javax.ejb,
+ !com.sun.xml.fastinfoset.*,
+ !org.jvnet.*,
+ !org.apache.derby.impl.drda,
+ !com.ibm.jvm,
+ !com.sun.jdmk.comm,
+ !com.sun.net.httpserver,
+ !sun.misc,
+ javax.servlet,
+ *,
+ com.sun.jersey.json.impl.provider.entity.*,
+ com.sun.jersey.json.*,
+ org.codehaus.jackson.*,
+ org.codehaus.jackson.xc,
+ org.apache.opennlp.corpus_server,
+ com.sun.jersey.api.core,
+ com.sun.jersey.spi.container.servlet</Import-Package>
+ <!-- Import-Package>org.apache.derby.jdbc, !com.ibm.jvm,!com.sun.jdmk.comm,!com.sun.net.httpserver,*,com.sun.jersey.api.core,com.sun.jersey.spi.container.servlet</Import-Package-->
+ <Export-Package>org.apache.opennlp.corpus_server.*, org.apache.opennlp.corpus_server.search</Export-Package>
+ <Webapp-Context>rest</Webapp-Context>
+ <Web-ContextPath>rest</Web-ContextPath>
+ <Bundle-Activator>org.apache.opennlp.corpus_server.CorpusServerBundle</Bundle-Activator>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorporaResource.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorporaResource.java
similarity index 92%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorporaResource.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorporaResource.java
index 72d4620..1e87855 100644
--- a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorporaResource.java
+++ b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorporaResource.java
@@ -37,14 +37,13 @@ public class CorporaResource {
* <br>
* Note: Type system references are not supported currently!
*
- * @param casId
- * @param typeSystemBytes
+ * @param corpusName
+ * @param resources
*/
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("_createCorpus")
- public void createCorpus(@QueryParam("corpusName") String corpusName,
- byte[][] resources) throws IOException {
+ public void createCorpus(@QueryParam("corpusName") String corpusName, byte[][] resources) throws IOException {
if (resources.length != 2) {
// TODO: throw exception
@@ -58,8 +57,7 @@ public class CorporaResource {
}
@Path("{corpus}")
- public CorpusResource getCorpus(
- @PathParam("corpus") String corpusId) throws IOException {
+ public CorpusResource getCorpus(@PathParam("corpus") String corpusId) throws IOException {
CorpusServer corpusServer = CorpusServerBundle.getInstance().getCorpusServer();
CorporaStore store = corpusServer.getStore();
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusResource.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusResource.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusResource.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusResource.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusServer.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusServer.java
similarity index 89%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusServer.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusServer.java
index b7dea02..549e1d9 100644
--- a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusServer.java
+++ b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusServer.java
@@ -23,9 +23,9 @@ import org.apache.opennlp.corpus_server.taskqueue.TaskQueueService;
public interface CorpusServer {
- public CorporaStore getStore();
+ CorporaStore getStore();
- public SearchService getSearchService();
+ SearchService getSearchService();
- public TaskQueueService getTaskQueueService();
+ TaskQueueService getTaskQueueService();
}
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusServerApplication.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusServerApplication.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusServerApplication.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusServerApplication.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusServerBundle.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusServerBundle.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/CorpusServerBundle.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/CorpusServerBundle.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/TaskQueueResource.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/TaskQueueResource.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/TaskQueueResource.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/TaskQueueResource.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/TaskQueuesResource.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/TaskQueuesResource.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/TaskQueuesResource.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/TaskQueuesResource.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/search/SearchService.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/search/SearchService.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/search/SearchService.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/search/SearchService.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/AbstractCorporaStore.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/AbstractCorporaStore.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/AbstractCorporaStore.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/AbstractCorporaStore.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/CorporaChangeListener.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/CorporaChangeListener.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/CorporaChangeListener.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/CorporaChangeListener.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/CorporaStore.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/CorporaStore.java
similarity index 95%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/CorporaStore.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/CorporaStore.java
index 98c9c70..d3bf9e0 100644
--- a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/CorporaStore.java
+++ b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/CorporaStore.java
@@ -45,8 +45,7 @@ public interface CorporaStore {
* @param typeSystemBytes
* @param indexMapping
*/
- void createCorpus(String corpusName, byte typeSystemBytes[],
- byte indexMapping[]) throws IOException;
+ void createCorpus(String corpusName, byte[] typeSystemBytes, byte[] indexMapping) throws IOException;
Set<String> getCorpusIds() throws IOException;
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/CorpusStore.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/CorpusStore.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/CorpusStore.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/CorpusStore.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorporaStore.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorporaStore.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorporaStore.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorporaStore.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorpusStore.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorpusStore.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorpusStore.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/store/MemoryCorpusStore.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueue.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueue.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueue.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueue.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueueService.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueueService.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueueService.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/MemoryTaskQueueService.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueue.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueue.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueue.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueue.java
diff --git a/corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueueService.java b/corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueueService.java
similarity index 100%
rename from corpus-server/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueueService.java
rename to corpus-server/corpus-server-core/src/main/java/org/apache/opennlp/corpus_server/taskqueue/TaskQueueService.java
diff --git a/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/IndexWriter.properties b/corpus-server/corpus-server-core/src/main/resources/org/apache/opennlp/corpus_server/search/IndexWriter.properties
similarity index 100%
rename from corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/IndexWriter.properties
rename to corpus-server/corpus-server-core/src/main/resources/org/apache/opennlp/corpus_server/search/IndexWriter.properties
diff --git a/corpus-server/src/main/resources/org/apache/opennlp/corpus_server/search/LuceneIndexer.xml b/corpus-server/corpus-server-core/src/main/resources/org/apache/opennlp/corpus_server/search/LuceneIndexer.xml
similarity index 100%
rename from corpus-server/src/main/resources/org/apache/opennlp/corpus_server/search/LuceneIndexer.xml
rename to corpus-server/corpus-server-core/src/main/resources/org/apache/opennlp/corpus_server/search/LuceneIndexer.xml
diff --git a/corpus-server/src/main/resources/org/apache/opennlp/corpus_server/search/TypeSystem.xml b/corpus-server/corpus-server-core/src/main/resources/org/apache/opennlp/corpus_server/search/TypeSystem.xml
similarity index 100%
rename from corpus-server/src/main/resources/org/apache/opennlp/corpus_server/search/TypeSystem.xml
rename to corpus-server/corpus-server-core/src/main/resources/org/apache/opennlp/corpus_server/search/TypeSystem.xml
diff --git a/corpus-server/src/main/webapp/WEB-INF/web.xml b/corpus-server/corpus-server-core/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from corpus-server/src/main/webapp/WEB-INF/web.xml
rename to corpus-server/corpus-server-core/src/main/webapp/WEB-INF/web.xml
diff --git a/corpus-server/src/test/java/org/apache/opennlp/corpus_server/util/TestCorpusServer.java b/corpus-server/corpus-server-core/src/test/java/org/apache/opennlp/corpus_server/util/TestCorpusServer.java
similarity index 100%
rename from corpus-server/src/test/java/org/apache/opennlp/corpus_server/util/TestCorpusServer.java
rename to corpus-server/corpus-server-core/src/test/java/org/apache/opennlp/corpus_server/util/TestCorpusServer.java
diff --git a/corpus-server-impl/feature.xml b/corpus-server/corpus-server-impl/feature.xml
similarity index 88%
rename from corpus-server-impl/feature.xml
rename to corpus-server/corpus-server-impl/feature.xml
index eac4a04..d0b89b7 100644
--- a/corpus-server-impl/feature.xml
+++ b/corpus-server/corpus-server-impl/feature.xml
@@ -22,7 +22,7 @@
<features>
<!-- This feature.xml should be automatically be generated, all dependencies are duplicated here! -->
<feature name="opennlp-corpus-server-impl" version="0.0.1.SNAPSHOT">
- <bundle>mvn:org.apache.derby/derby/10.8.1.2</bundle>
- <bundle>mvn:org.apache.opennlp/corpus-server-impl/0.0.1-SNAPSHOT</bundle>
+ <bundle>mvn:org.apache.derby/derby/10.14.2.0</bundle>
+ <bundle>mvn:org.apache.opennlp/corpus-server-impl/2.1.1-SNAPSHOT</bundle>
</feature>
</features>
\ No newline at end of file
diff --git a/corpus-server/corpus-server-impl/pom.xml b/corpus-server/corpus-server-impl/pom.xml
new file mode 100644
index 0000000..316c56e
--- /dev/null
+++ b/corpus-server/corpus-server-impl/pom.xml
@@ -0,0 +1,144 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>corpus-server</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>corpus-server-impl</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <name>Apache OpenNLP Corpus Server Implementation</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>corpus-server-core</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>4.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>4.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.14.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- UIMA and Lucas must be embedded to work properly! -->
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>uimaj-core</artifactId>
+ <version>${uimaj.version}</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>Lucas</artifactId>
+ <version>2.3.1</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+
+ <!-- to generate the MANIFEST-FILE required by the bundle -->
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>5.1.8</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <instructions>
+ <Embed-Dependency>*;scope=compile;inline=false</Embed-Dependency>
+ <Embed-Transitive>true</Embed-Transitive>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Import-Package>
+ !com.sun.jdmk.comm,
+ !javax.persistence.*,
+ !javax.servlet.annotation,
+ !javax.servlet.jsp.*,
+ !javax.microedition.*,
+ !javax.mail.*,
+ !javax.transaction.xa,
+ !javax.jms,
+ !javax.interceptor,!javax.inject,
+ !javax.enterprise.*,
+ !javax.annotation.security,
+ !javax.ejb,
+ !com.sun.xml.fastinfoset.*,
+ !org.jvnet.*,
+ !org.apache.derby.impl.drda,
+ !com.ibm.jvm,
+ !com.sun.net.httpserver,
+ !sun.misc,
+ *,
+ org.apache.opennlp.corpus_server,
+ org.apache.derby.jdbc
+ </Import-Package>
+ <!-- Import-Package>!com.ibm.jvm,!com.sun.jdmk.comm,!com.sun.net.httpserver,*,com.sun.jersey.api.core,com.sun.jersey.spi.container.servlet</Import-Package-->
+ <Export-Package>org.apache.opennlp.corpus_server.impl</Export-Package>
+ <Bundle-Activator>org.apache.opennlp.corpus_server.impl.Activator</Bundle-Activator>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/Activator.java b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/Activator.java
similarity index 98%
rename from corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/Activator.java
rename to corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/Activator.java
index b7b778f..712f5fe 100644
--- a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/Activator.java
+++ b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/Activator.java
@@ -33,7 +33,7 @@ public class Activator implements BundleActivator {
corpusServer.start();
- context.registerService(CorpusServer.class.getName(), corpusServer, new Hashtable());
+ context.registerService(CorpusServer.class.getName(), corpusServer, new Hashtable<>());
}
@Override
diff --git a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/CorpusServerImpl.java b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/CorpusServerImpl.java
similarity index 99%
rename from corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/CorpusServerImpl.java
rename to corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/CorpusServerImpl.java
index 734d848..0330596 100644
--- a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/CorpusServerImpl.java
+++ b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/CorpusServerImpl.java
@@ -154,15 +154,18 @@ public class CorpusServerImpl implements CorpusServer {
}
}
-
+
+ @Override
public CorporaStore getStore() {
return store;
}
+ @Override
public SearchService getSearchService() {
return searchService;
}
+ @Override
public TaskQueueService getTaskQueueService() {
return taskQueueService;
}
diff --git a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorporaStore.java b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorporaStore.java
similarity index 98%
rename from corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorporaStore.java
rename to corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorporaStore.java
index 5f1e634..d42e9ce 100644
--- a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorporaStore.java
+++ b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorporaStore.java
@@ -57,7 +57,7 @@ public class DerbyCorporaStore extends AbstractCorporaStore {
}
@Override
- public void createCorpus(String corpusName, byte[] typeSystemBytes, byte indexMapping[])
+ public void createCorpus(String corpusName, byte[] typeSystemBytes, byte[] indexMapping)
throws IOException {
try {
@@ -118,7 +118,7 @@ public class DerbyCorporaStore extends AbstractCorporaStore {
public Set<String> getCorpusIds() throws IOException {
- Set<String> corpusIds = new HashSet<String>();
+ Set<String> corpusIds = new HashSet<>();
try {
Connection conn = dataSource.getConnection();
diff --git a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorpusStore.java b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorpusStore.java
similarity index 96%
rename from corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorpusStore.java
rename to corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorpusStore.java
index 6bc3241..5e48821 100644
--- a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorpusStore.java
+++ b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/DerbyCorpusStore.java
@@ -34,11 +34,10 @@ import org.apache.opennlp.corpus_server.store.CorpusStore;
public class DerbyCorpusStore implements CorpusStore {
- private final static Logger LOGGER = Logger.getLogger(
- DerbyCorpusStore.class .getName());
+ private final static Logger LOGGER = Logger.getLogger(DerbyCorpusStore.class .getName());
- private DataSource dataSource;
- private DerbyCorporaStore store;
+ private final DataSource dataSource;
+ private final DerbyCorporaStore store;
private final String corpusName;
DerbyCorpusStore(DataSource dataSource, DerbyCorporaStore store, String corpusName) {
@@ -55,7 +54,7 @@ public class DerbyCorpusStore implements CorpusStore {
@Override
public byte[] getCAS(String casId) throws IOException {
- byte casBytes[] = null;
+ byte[] casBytes = null;
try {
Connection conn = dataSource.getConnection();
@@ -220,7 +219,7 @@ public class DerbyCorpusStore implements CorpusStore {
@Override
public byte[] getTypeSystem() throws IOException {
- byte tsBytes[];
+ byte[] tsBytes;
try {
Connection conn = dataSource.getConnection();
@@ -252,7 +251,7 @@ public class DerbyCorpusStore implements CorpusStore {
@Override
public byte[] getIndexMapping() throws IOException {
- byte indexMappingBytes[] = null;
+ byte[] indexMappingBytes = null;
try {
Connection conn = dataSource.getConnection();
diff --git a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneIndexer.java b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneIndexer.java
similarity index 100%
rename from corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneIndexer.java
rename to corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneIndexer.java
diff --git a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneSearchService.java b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneSearchService.java
similarity index 98%
rename from corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneSearchService.java
rename to corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneSearchService.java
index 5f830e2..44611ae 100644
--- a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneSearchService.java
+++ b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/LuceneSearchService.java
@@ -76,13 +76,13 @@ public class LuceneSearchService implements SearchService {
/**
* Maps the corpus id to the Lucas Indexer Analysis Engine.
*/
- private Map<String, AnalysisEngine> corpusIndexerMap = new HashMap<String, AnalysisEngine>();
+ private final Map<String, AnalysisEngine> corpusIndexerMap = new HashMap<>();
/**
* Maps the corpus id to the Index Server instance, if one exists, otherwise
* it will be created on first access.
*/
- private Map<String, IndexSearcher> corpusSearcherMap = new HashMap<String, IndexSearcher>();
+ private final Map<String, IndexSearcher> corpusSearcherMap = new HashMap<>();
private static File getIndexDirectory(String corpusId) {
return new File("index" + File.separator + corpusId);
@@ -188,7 +188,7 @@ public class LuceneSearchService implements SearchService {
}
FileResourceSpecifier indexWriterFileSpecifier = new FileResourceSpecifier_impl();
- indexWriterFileSpecifier.setFileUrl(indexWriterTmpFile.toURL().toString());
+ indexWriterFileSpecifier.setFileUrl(indexWriterTmpFile.toURI().toString());
// TODO: This will fail ...
specifier.getResourceManagerConfiguration().getExternalResources()[0].setResourceSpecifier(indexWriterFileSpecifier);
diff --git a/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/UimaUtil.java b/corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/UimaUtil.java
similarity index 100%
rename from corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/UimaUtil.java
rename to corpus-server/corpus-server-impl/src/main/java/org/apache/opennlp/corpus_server/impl/UimaUtil.java
diff --git a/corpus-server/src/main/resources/org/apache/opennlp/corpus_server/search/IndexWriter.properties b/corpus-server/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/IndexWriter.properties
similarity index 100%
rename from corpus-server/src/main/resources/org/apache/opennlp/corpus_server/search/IndexWriter.properties
rename to corpus-server/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/IndexWriter.properties
diff --git a/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/LuceneIndexer.xml b/corpus-server/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/LuceneIndexer.xml
similarity index 100%
rename from corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/LuceneIndexer.xml
rename to corpus-server/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/LuceneIndexer.xml
diff --git a/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/TypeSystem.xml b/corpus-server/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/TypeSystem.xml
similarity index 100%
rename from corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/TypeSystem.xml
rename to corpus-server/corpus-server-impl/src/main/resources/org/apache/opennlp/corpus_server/impl/TypeSystem.xml
diff --git a/corpus-server-tools/bin/cs-tools b/corpus-server/corpus-server-tools/bin/cs-tools
similarity index 100%
rename from corpus-server-tools/bin/cs-tools
rename to corpus-server/corpus-server-tools/bin/cs-tools
diff --git a/corpus-server-tools/pom.xml b/corpus-server/corpus-server-tools/pom.xml
similarity index 69%
rename from corpus-server-tools/pom.xml
rename to corpus-server/corpus-server-tools/pom.xml
index a490d58..843d3eb 100644
--- a/corpus-server-tools/pom.xml
+++ b/corpus-server/corpus-server-tools/pom.xml
@@ -21,59 +21,46 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
-
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>9</version>
- <relativePath />
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>corpus-server</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
</parent>
- <groupId>org.apache.opennlp</groupId>
<artifactId>corpus-server-tools</artifactId>
- <version>0.0.1-incubating-SNAPSHOT</version>
+ <version>2.1.1-incubating-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>OpenNLP Corpus Server Shell</name>
-
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
+ <name>Apache OpenNLP Corpus Server Shell</name>
- <repositories>
- <repository>
- <id>maven2-repository.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </repository>
- </repositories>
-
<dependencies>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>corpus-server-core</artifactId>
+ <version>2.1.1-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
- <version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
- <version>1.8</version>
</dependency>
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-core</artifactId>
- <version>2.3.1</version>
+ <version>${uimaj.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
</dependency>
</dependencies>
@@ -82,11 +69,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <compilerArgument>-Xlint</compilerArgument>
- </configuration>
</plugin>
</plugins>
</build>
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CASImporter.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CASImporter.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CASImporter.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CASImporter.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CorpusBackup.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CorpusBackup.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CorpusBackup.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CorpusBackup.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateTaskQueue.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateTaskQueue.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateTaskQueue.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateTaskQueue.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/DropCorpus.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/DropCorpus.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/DropCorpus.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/DropCorpus.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/FileUtil.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/FileUtil.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/FileUtil.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/FileUtil.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/RemoveCAS.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/RemoveCAS.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/RemoveCAS.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/RemoveCAS.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java
diff --git a/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/SearchCorpus.java b/corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/SearchCorpus.java
similarity index 100%
rename from corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/SearchCorpus.java
rename to corpus-server/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/SearchCorpus.java
diff --git a/corpus-server/pom.xml b/corpus-server/pom.xml
index 3b210c1..6d0b918 100644
--- a/corpus-server/pom.xml
+++ b/corpus-server/pom.xml
@@ -21,170 +21,122 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
-
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>9</version>
- <relativePath />
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <!-- TODO OPENNLP-1452 once this is resolved, move to 29 as well. -->
+ <version>18</version>
+ <relativePath />
</parent>
<groupId>org.apache.opennlp</groupId>
<artifactId>corpus-server</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>bundle</packaging>
-
- <name>OpenNLP Corpus Server</name>
-
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
-
- <repositories>
- <repository>
- <id>maven2-repository.java.net</id>
- <name>Java.net Repository for Maven</name>
- <url>http://download.java.net/maven/2/</url>
- <layout>default</layout>
- </repository>
- </repositories>
-
- <dependencies>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>4.2.0</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <version>4.2.0</version>
+ <version>2.1.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Apache OpenNLP Corpus Server</name>
+
+ <modules>
+ <module>corpus-server-core</module>
+ <module>corpus-server-impl</module>
+ <module>corpus-server-tools</module>
+ <module>corpus-server-connector</module>
+ </modules>
+
+ <properties>
+ <maven.compiler.source>11</maven.compiler.source>
+ <maven.compiler.target>11</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ <derby.version>10.14.2.0</derby.version>
+ <uimaj.version>3.3.1</uimaj.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-servlet</artifactId>
- <version>1.12</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-json</artifactId>
- <version>1.12</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-client</artifactId>
- <version>1.12</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>4.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>4.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-servlet</artifactId>
+ <version>1.12</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ <version>1.12</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-client</artifactId>
+ <version>1.12</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.13.2</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <compilerArgument>-Xlint</compilerArgument>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <compilerArgument>-Xlint</compilerArgument>
- </configuration>
- </plugin>
-
- <!-- to generate the MANIFEST-FILE required by the bundle -->
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.3.7</version>
- <extensions>true</extensions>
- <executions>
- <execution>
- <id>bundle-manifest</id>
- <phase>process-classes</phase>
- <goals>
- <goal>manifest</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
- <instructions>
- <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
- <Import-Package>
- !javax.persistence.*,
- !javax.servlet.annotation,
- !javax.servlet.jsp.*,
- !javax.microedition.*,
- !javax.mail.*,
- !javax.transaction.xa,
- !javax.jms,
- !javax.interceptor,!javax.inject,
- !javax.enterprise.*,
- !javax.annotation.security,
- !javax.ejb,
- !com.sun.xml.fastinfoset.*,
- !org.jvnet.*,
- !org.apache.derby.impl.drda,
- !com.ibm.jvm,
- !com.sun.jdmk.comm,
- !com.sun.net.httpserver,
- !sun.misc,
- javax.servlet,
- *,
- com.sun.jersey.json.impl.provider.entity.*,
- com.sun.jersey.json.*,
- org.codehaus.jackson.*,
- org.codehaus.jackson.xc,
- org.apache.opennlp.corpus_server,
- com.sun.jersey.api.core,
- com.sun.jersey.spi.container.servlet</Import-Package>
- <!-- Import-Package>org.apache.derby.jdbc, !com.ibm.jvm,!com.sun.jdmk.comm,!com.sun.net.httpserver,*,com.sun.jersey.api.core,com.sun.jersey.spi.container.servlet</Import-Package-->
- <Export-Package>org.apache.opennlp.corpus_server.*, org.apache.opennlp.corpus_server.search</Export-Package>
- <Webapp-Context>rest</Webapp-Context>
- <Web-ContextPath>rest</Web-ContextPath>
- <Bundle-Activator>org.apache.opennlp.corpus_server.CorpusServerBundle</Bundle-Activator>
- </instructions>
- </configuration>
- </plugin>
-
- <!-- plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>features-maven-plugin</artifactId>
- <version>2.2.4</version>
- <executions>
- <execution>
- <id>generate-features-file</id>
- <goals>
- <goal>generate-features-file</goal>
- </goals>
- <configuration>
- <karafVersion>2.2.4</karafVersion>
- </configuration>
- </execution>
- </executions>
- </plugin -->
+
+ <!-- plugin>
+ <groupId>org.apache.karaf.tooling</groupId>
+ <artifactId>features-maven-plugin</artifactId>
+ <version>2.2.4</version>
+ <executions>
+ <execution>
+ <id>generate-features-file</id>
+ <goals>
+ <goal>generate-features-file</goal>
+ </goals>
+ <configuration>
+ <karafVersion>2.2.4</karafVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin -->
</plugins>
</build>