changeset 65:c4829c26d776 norm_json

first version of translit normalization service using the JSON interface.
author casties
date Wed, 09 Dec 2015 17:33:23 -0500
parents e8d7932e57f7
children a241cef14561
files .hgignore src/main/java/de/mpiwg/itgroup/ismi/servlets/JSONInterface.java src/main/java/de/mpiwg/itgroup/ismi/servlets/jsonmethods/JSONNormString.java
diffstat 3 files changed, 49 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Wed Dec 09 14:13:13 2015 -0500
+++ b/.hgignore	Wed Dec 09 17:33:23 2015 -0500
@@ -6,6 +6,8 @@
 syntax: regexp
 ^target$
 syntax: regexp
+^\.metadata$
+syntax: regexp
 ^\.settings$
 syntax: regexp
 ^\.externalToolBuilders$
--- a/src/main/java/de/mpiwg/itgroup/ismi/servlets/JSONInterface.java	Wed Dec 09 14:13:13 2015 -0500
+++ b/src/main/java/de/mpiwg/itgroup/ismi/servlets/JSONInterface.java	Wed Dec 09 17:33:23 2015 -0500
@@ -25,15 +25,15 @@
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetEnts;
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetEntsSize;
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetPublicCodices;
-import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetTitleDetails;
-import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetWitnessDetails;
-import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetWitnesses4Codex;
-import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONSearch;
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetRels;
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetSrcRels;
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetSrcs4TarRel;
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetTarRels;
 import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetTars4SrcRel;
+import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetTitleDetails;
+import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONGetWitnesses4Codex;
+import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONNormString;
+import de.mpiwg.itgroup.ismi.servlets.jsonmethods.JSONSearch;
 
 public class JSONInterface extends AbstractServlet implements Servlet{
 	private static final long serialVersionUID = 1L;
@@ -110,8 +110,8 @@
 					JSONGetWitnesses4Codex.execute(getWrapper(), request, response);
 				}else if(method.equals("get_title_details")){
 					JSONGetTitleDetails.execute(getWrapper(), request, response);
-				}else if(method.equals("get_witness_details")){
-					JSONGetWitnessDetails.execute(getWrapper(), request, response);
+				}else if(method.equals("normalize_string")){
+					JSONNormString.execute(getWrapper(), request, response);
 				}else{
 					PrintWriter out = response.getWriter();
 					out.print("{\"responseInfo\": \"Method no valid "+ method +".\"}");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/itgroup/ismi/servlets/jsonmethods/JSONNormString.java	Wed Dec 09 17:33:23 2015 -0500
@@ -0,0 +1,41 @@
+package de.mpiwg.itgroup.ismi.servlets.jsonmethods;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.json.JSONObject;
+import org.mpi.openmind.cache.WrapperService;
+import org.mpi.openmind.repository.utils.ArabicTranslitNormalizer;
+
+public class JSONNormString extends AbstractServletJSONMethod {
+
+    public static void execute(WrapperService ws, HttpServletRequest request, HttpServletResponse response)
+            throws ServletException, IOException {
+        JSONObject json = new JSONObject();
+        long startExecution = System.currentTimeMillis();
+
+        try {
+            String text = request.getParameter("text");
+
+            if (text != null) {
+                String normText = ArabicTranslitNormalizer.normalize(text);
+                json.put("text", text);
+                json.put("normalized", normText);
+            }
+
+        } catch (Exception e) {
+            PrintWriter out = response.getWriter();
+            out.print(json.toString());
+            response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
+        } finally {
+            json = finallyExecution(json, parametersToString(request.getParameterMap()), startExecution);
+        }
+        PrintWriter out = response.getWriter();
+        out.print(json.toString());
+
+    }
+}
\ No newline at end of file