Mercurial > hg > LGServer
view src/main/java/de/mpiwg/gazetteer/rest/Servlet.java @ 0:7682c04c63a8
First commit of the source code!
author | "jurzua <jurzua@mpiwg-berlin.mpg.de>" |
---|---|
date | Tue, 10 Mar 2015 14:50:41 +0100 |
parents | |
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 Servlet extends HttpServlet { private static final long serialVersionUID = -8809504256505388787L; private final static Logger LOGGER = Logger.getLogger(Servlet.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{ 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 String getLastPathComponent(HttpServletRequest request){ String uri = request.getRequestURI(); String[] array = uri.split("/"); return array[array.length-1]; } }