OPENNLP-864 Rename name finder annotator classes
diff --git a/opennlp-brat-annotator/src/main/java/opennlp/bratannotator/BratAnnService.java b/opennlp-brat-annotator/src/main/java/opennlp/bratann/NameFinderAnnService.java
similarity index 60%
rename from opennlp-brat-annotator/src/main/java/opennlp/bratannotator/BratAnnService.java
rename to opennlp-brat-annotator/src/main/java/opennlp/bratann/NameFinderAnnService.java
index 6bfbb5c..926730f 100644
--- a/opennlp-brat-annotator/src/main/java/opennlp/bratannotator/BratAnnService.java
+++ b/opennlp-brat-annotator/src/main/java/opennlp/bratann/NameFinderAnnService.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package opennlp.bratannotator;
+package opennlp.bratann;
import java.io.File;
-import java.net.URI;
-import java.net.URL;
+import java.util.Arrays;
+import java.util.List;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
@@ -38,54 +38,53 @@
import opennlp.tools.tokenize.TokenizerModel;
import opennlp.tools.tokenize.WhitespaceTokenizer;
-public class BratAnnService {
-
- public static SentenceDetector sentenceDetector;
- public static Tokenizer tokenizer;
+public class NameFinderAnnService {
+
+ public static SentenceDetector sentenceDetector = new NewlineSentenceDetector();;
+ public static Tokenizer tokenizer = WhitespaceTokenizer.INSTANCE;
public static TokenNameFinder nameFinders[];
-
+
public static void main(String[] args) throws Exception {
-
- if (args.length < 3) {
- System.out.println("sentenceDetectorURI tokenizerURI namefinderURI_1 ... nameFinderURI_n");
+
+ if (args.length == 0) {
+ System.out.println(
+ "[-tokenizerModel file] [-ruleBasedTokenizer whitespace|simple] [-sentenceDetectorModel file] "
+ + "namefinderFile|nameFinderURI");
return;
}
- URI sentenceDetectorUri = URI.create(args[0]);
- if ("sentenceDetector".equals(sentenceDetectorUri.getScheme())) {
-
- if ("newline".equals(sentenceDetectorUri.getSchemeSpecificPart())) {
- sentenceDetector = new NewlineSentenceDetector();
- }
- else {
- System.out.println("unkown sentence detector");
- return;
- }
- }
- else {
- sentenceDetector = new SentenceDetectorME(new SentenceModel(new File(args[0])));
- }
-
- URI tokenizerUri = URI.create(args[1]);
- if ("tokenizer".equals(tokenizerUri.getScheme())) {
- if ("whitespace".equals(tokenizerUri.getSchemeSpecificPart())) {
- tokenizer = WhitespaceTokenizer.INSTANCE;
- }
- else if ("simple".equals(tokenizerUri.getSchemeSpecificPart())) {
- tokenizer = SimpleTokenizer.INSTANCE;
- }
- else {
- System.out.println("unkown tokenizer");
- return;
- }
+ List<String> argList = Arrays.asList(args);
+ int sentenceModelIndex = argList.indexOf("-sentenceDetectorModel")
+ + 1;
+ if (sentenceModelIndex > 0 && sentenceModelIndex < args.length) {
+ sentenceDetector = new SentenceDetectorME(
+ new SentenceModel(new File(args[sentenceModelIndex])));
}
- else {
- tokenizer = new TokenizerME(new TokenizerModel(new File(args[1])));
+
+ int ruleBasedTokenizerIndex = argList.indexOf("-ruleBasedTokenizer") + 1;
+
+ if (ruleBasedTokenizerIndex > 0 && ruleBasedTokenizerIndex < args.length) {
+ if ("whitespace".equals(args[ruleBasedTokenizerIndex])) {
+ tokenizer = WhitespaceTokenizer.INSTANCE;
+ } else if ("simple".equals(args[ruleBasedTokenizerIndex])) {
+ tokenizer = SimpleTokenizer.INSTANCE;
+ } else {
+ System.out
+ .println("unkown tokenizer: " + args[ruleBasedTokenizerIndex]);
+ return;
+ }
}
-
- nameFinders = new TokenNameFinder[] {new NameFinderME(new TokenNameFinderModel(new URL(args[2])))};
-
+
+ int tokenizerModelIndex = argList.indexOf("-tokenizerModel") + 1;
+ if (tokenizerModelIndex > 0 && tokenizerModelIndex < args.length) {
+ tokenizer = new TokenizerME(
+ new TokenizerModel(new File(args[tokenizerModelIndex])));
+ }
+
+ nameFinders = new TokenNameFinder[] { new NameFinderME(
+ new TokenNameFinderModel(new File(args[args.length - 1]))) };
+
ServletContextHandler context = new ServletContextHandler(
ServletContextHandler.SESSIONS);
context.setContextPath("/");
@@ -95,12 +94,13 @@
ServletHolder jerseyServlet = context
.addServlet(com.sun.jersey.spi.container.servlet.ServletContainer.class, "/*");
- jerseyServlet.setInitParameter("com.sun.jersey.config.property.packages", "opennlp.bratannotator");
+ jerseyServlet.setInitParameter("com.sun.jersey.config.property.packages",
+ "opennlp.bratann");
jerseyServlet.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
jerseyServlet.setInitOrder(0);
jerseyServlet.setInitParameter("jersey.config.server.provider.classnames",
- BratNameFinderResource.class.getCanonicalName());
+ NameFinderResource.class.getCanonicalName());
try {
jettyServer.start();
diff --git a/opennlp-brat-annotator/src/main/java/opennlp/bratannotator/BratNameFinderResource.java b/opennlp-brat-annotator/src/main/java/opennlp/bratann/NameFinderResource.java
similarity index 93%
rename from opennlp-brat-annotator/src/main/java/opennlp/bratannotator/BratNameFinderResource.java
rename to opennlp-brat-annotator/src/main/java/opennlp/bratann/NameFinderResource.java
index 88dacc6..39cec0e 100644
--- a/opennlp-brat-annotator/src/main/java/opennlp/bratannotator/BratNameFinderResource.java
+++ b/opennlp-brat-annotator/src/main/java/opennlp/bratann/NameFinderResource.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package opennlp.bratannotator;
+package opennlp.bratann;
import java.util.ArrayList;
import java.util.HashMap;
@@ -35,7 +35,7 @@
import opennlp.tools.util.Span;
@Path("/ner")
-public class BratNameFinderResource {
+public class NameFinderResource {
public static class NameAnn {
public int[][] offsets;
@@ -43,9 +43,9 @@
public String type;
}
- private SentenceDetector sentDetect = BratAnnService.sentenceDetector;
- private Tokenizer tokenizer = BratAnnService.tokenizer;
- private TokenNameFinder nameFinders[] = BratAnnService.nameFinders;
+ private SentenceDetector sentDetect = NameFinderAnnService.sentenceDetector;
+ private Tokenizer tokenizer = NameFinderAnnService.tokenizer;
+ private TokenNameFinder nameFinders[] = NameFinderAnnService.nameFinders;
private static int findNextNonWhitespaceChar(CharSequence s, int beginOffset,
int endOffset) {