Mercurial > hg > LGServices
view src/main/java/de/mpiwg/gazetteer/rest/TextServlet.java @ 79:9fbdc98f81c6
Bug fix : comment out testing code for front end error handling.
author | Calvin Yeh <cyeh@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 03 May 2017 19:54:48 +0200 |
parents | b8ad346e39a0 |
children |
line wrap: on
line source
package de.mpiwg.gazetteer.rest; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.json.JSONObject; @WebServlet("/rest/text/*") @MultipartConfig public class TextServlet extends HttpServlet { private static final long serialVersionUID = -8809504256505388787L; private final static Logger LOGGER = Logger.getLogger(TextServlet.class.getCanonicalName()); @Override public void init() throws ServletException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { processRequest(request, response); } catch (Exception e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { processRequest(request, response); } catch (Exception e) { e.printStackTrace(); } } protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { String method = getLastPathComponent(request); request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); if(StringUtils.equals(SaveNewText.name, method)){ SaveNewText.execute(request, response); }else if(StringUtils.equals(SaveText.name, method)){ SaveText.execute(request, response); }else if(StringUtils.equals(GetFileText.name, method)){ GetFileText.execute(request, response); }else if(StringUtils.equals(GetUser.name, method)){ GetUser.execute(request, response); }else if(StringUtils.equals(GetSectionText.name, method)){ GetSectionText.execute(request, response); }else if(StringUtils.equals(GetSectionMetadata.name, method)){ GetSectionMetadata.execute(request, response); }else if(StringUtils.equals(GetTable4File.name, method)){ GetTable4File.execute(request, response); }else if(StringUtils.equals(GetTabDelimited4File.name, method)){ GetTabDelimited4File.execute(request, response); }else if(StringUtils.equals(GetFullTextSearchHtmlFile.name, method)){ GetFullTextSearchHtmlFile.execute(request, response); // for download }else if (StringUtils.equals(DownloadFileText.name, method)) { DownloadFileText.execute(request, response); }else if (StringUtils.equals(DownloadTabDelimited4File.name, method)) { DownloadTabDelimited4File.execute(request, response); }else if (StringUtils.equals(DownloadFullTextSearchCsvFile.name, method)) { DownloadFullTextSearchCsvFile.execute(request, response); }else{ writeError(response, "Content-type wrong. It should be: multipart/form-data"); } } private static void writeError(HttpServletResponse response, String message){ try { JSONObject json = new JSONObject(); json.put("status", "error"); json.put("message", message); PrintWriter out = response.getWriter(); out.print(json.toString()); out.flush(); } catch (Exception e) { LOGGER.error(e); } } public static String getLastPathComponent(HttpServletRequest request){ String uri = request.getRequestURI(); String[] array = uri.split("/"); return array[array.length-1]; } }