# HG changeset patch # User casties # Date 1449853777 18000 # Node ID aa8a0578fbc6999997d54e7bf8a1643cafbe3dc3 # Parent b530266402a336fd5f5a69cd661346746ecd9fc0# Parent 34d0f1187b0f3a315c1d83bb0ec9c1b70c83df39 Merge with 34d0f1187b0f3a315c1d83bb0ec9c1b70c83df39 diff -r b530266402a3 -r aa8a0578fbc6 .hgignore --- 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$ diff -r b530266402a3 -r aa8a0578fbc6 src/main/java/de/mpiwg/itgroup/ismi/servlets/JSONInterface.java --- 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 +".\"}"); diff -r b530266402a3 -r aa8a0578fbc6 src/main/java/de/mpiwg/itgroup/ismi/servlets/jsonmethods/JSONNormString.java --- /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