changeset 68:aa8a0578fbc6

Merge with 34d0f1187b0f3a315c1d83bb0ec9c1b70c83df39
author casties
date Fri, 11 Dec 2015 12:09:37 -0500
parents b530266402a3 (current diff) 34d0f1187b0f (diff)
children 608f5303cb46
files
diffstat 3 files changed, 70 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Wed Dec 09 14:08:40 2015 -0500
+++ b/.hgignore	Fri Dec 11 12:09:37 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:08:40 2015 -0500
+++ b/src/main/java/de/mpiwg/itgroup/ismi/servlets/JSONInterface.java	Fri Dec 11 12:09:37 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	Fri Dec 11 12:09:37 2015 -0500
@@ -0,0 +1,62 @@
+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.apache.commons.lang.StringUtils;
+import org.json.JSONObject;
+import org.mpi.openmind.cache.WrapperService;
+import org.mpi.openmind.repository.utils.ArabicNormalizerUtils;
+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");
+            String type = request.getParameter("type");
+            if (StringUtils.isEmpty(type)) {
+                json.put(RESPONSE, EXCEPTION);
+                json.put(RESPONSE_INFO, "Normalization type parameter missing.");                
+                PrintWriter out = response.getWriter();
+                out.print(json.toString());
+                response.sendError(HttpServletResponse.SC_BAD_REQUEST, 
+                        "Normalization type parameter missing.");
+                return;
+            }
+            if (type.equalsIgnoreCase("arabic_translit")) {
+                if (text != null) {
+                    String normText = ArabicTranslitNormalizer.normalize(text);
+                    json.put("text", text);
+                    json.put("normalization_type", "arabic_translit");
+                    json.put("normalized_text", normText);
+                }
+            } else if (type.equalsIgnoreCase("arabic")) {
+                if (text != null) {
+                    String normText = ArabicNormalizerUtils.normalize(text);
+                    json.put("text", text);
+                    json.put("normalization_type", type);
+                    json.put("normalized_text", 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