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;
   }
 }