OPENNLP-585 Added a Brat NER tagging service.
diff --git a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java
index 16832f4..a4e6340 100644
--- a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java
+++ b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/ServiceUtil.java
@@ -20,6 +20,7 @@
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
public class ServiceUtil {
@@ -27,6 +28,33 @@
private ServiceUtil() {
}
+
+
+
+ public static ServiceReference getModelServiceReference(
+ Class<?> serviceClazz, String modelName) {
+
+ String filter = "(&(objectClass=" + serviceClazz.getName() + ")(MODEL_NAME=" + modelName + "))";
+
+ Bundle bundle = FrameworkUtil.getBundle(ServiceUtil.class);
+ BundleContext context = bundle.getBundleContext();
+
+ ServiceReference[] serviceReferences;
+ try {
+ serviceReferences = context.getServiceReferences(
+ null, filter);
+ } catch (InvalidSyntaxException e) {
+ throw new IllegalArgumentException("modelName can't be used as value in filter!", e);
+ }
+
+ if (serviceReferences != null && serviceReferences.length > 0) {
+ return serviceReferences[0];
+ }
+ else {
+ return null;
+ }
+ }
+
public static ServiceReference getServiceReference(Class<?> serviceClazz) {
Bundle bundle = FrameworkUtil.getBundle(ServiceUtil.class);
BundleContext context = bundle.getBundleContext();
diff --git a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java
index bdd7668..7de2984 100644
--- a/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java
+++ b/tagging-server/src/main/java/org/apache/opennlp/tagging_server/TaggingServerApplication.java
@@ -22,6 +22,7 @@
import javax.ws.rs.core.Application;
+import org.apache.opennlp.tagging_server.namefind.BratNameFinderResource;
import org.apache.opennlp.tagging_server.namefind.NameFinderResource;
import org.apache.opennlp.tagging_server.postag.POSTaggerResource;
@@ -32,6 +33,7 @@
Set<Class<?>> result = new HashSet<Class<?>>();
result.add(POSTaggerResource.class);
result.add(NameFinderResource.class);
+ result.add(BratNameFinderResource.class);
return result;
}
}