Mercurial > hg > IndexMetaContextualizer
view src/main/java/de/mpiwg/indexmeta/web/servlet/methods/JSONGetCtxFromDB.java @ 7:bc57f2660b0f
implementation of web service
author | Jorge Urzua <jurzua@mpiwg-berlin.mpg.de> |
---|---|
date | Fri, 12 Apr 2013 17:48:42 +0200 |
parents | |
children |
line wrap: on
line source
package de.mpiwg.indexmeta.web.servlet.methods; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import de.mpiwg.indexmeta.bo.Contextualization; import de.mpiwg.indexmeta.services.DataProvider; import de.mpiwg.indexmeta.web.utils.JSONUtils; public class JSONGetCtxFromDB extends AbstractServletMethod { public static void execute(DataProvider dp, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, JSONException { JSONObject json = new JSONObject(); long startExecution = System.currentTimeMillis(); String indexMetaId = getString(request, p_indexMetaId); String type = getString(request, p_type); String elementId = getString(request, p_elementId); String remoteId = getString(request, p_remoteId); List<Contextualization> rs = null; if (StringUtils.isNotEmpty(indexMetaId)) { rs = dp.getCtxByIndexMetaId(indexMetaId); rs = filterByType(rs, type); rs = filterByElementId(rs, elementId); rs = filterByRemoteId(rs, remoteId); } else if (StringUtils.isNotEmpty(type)) { rs = dp.getCtxByType(type); rs = filterByElementId(rs, elementId); rs = filterByRemoteId(rs, remoteId); } else { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Parameters 'indexMetaId' and 'type' are null. " + "At least one of them must be not null."); return; } JSONArray rsArray = new JSONArray(); for (Contextualization ctx : rs) { rsArray.put(JSONUtils.ctx2JSON(ctx)); } json.put("rs", rsArray); json.put(RUNTIME, (System.currentTimeMillis() - startExecution)); PrintWriter out = response.getWriter(); out.print(json.toString()); } }