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 <[email protected]> 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>
