Mercurial > hg > LGServer
comparison 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 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:7682c04c63a8 |
|---|---|
| 1 package de.mpiwg.gazetteer.rest; | |
| 2 | |
| 3 import java.io.IOException; | |
| 4 import java.io.PrintWriter; | |
| 5 | |
| 6 import javax.servlet.ServletException; | |
| 7 import javax.servlet.annotation.MultipartConfig; | |
| 8 import javax.servlet.annotation.WebServlet; | |
| 9 import javax.servlet.http.HttpServlet; | |
| 10 import javax.servlet.http.HttpServletRequest; | |
| 11 import javax.servlet.http.HttpServletResponse; | |
| 12 | |
| 13 import org.apache.commons.lang.StringUtils; | |
| 14 import org.apache.log4j.Logger; | |
| 15 import org.json.JSONObject; | |
| 16 | |
| 17 @WebServlet("/rest/text/*") | |
| 18 @MultipartConfig | |
| 19 public class Servlet extends HttpServlet { | |
| 20 | |
| 21 private static final long serialVersionUID = -8809504256505388787L; | |
| 22 | |
| 23 private final static Logger LOGGER = Logger.getLogger(Servlet.class.getCanonicalName()); | |
| 24 | |
| 25 @Override | |
| 26 public void init() throws ServletException { | |
| 27 | |
| 28 } | |
| 29 | |
| 30 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { | |
| 31 try { | |
| 32 processRequest(request, response); | |
| 33 } catch (Exception e) { | |
| 34 e.printStackTrace(); | |
| 35 } | |
| 36 } | |
| 37 | |
| 38 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { | |
| 39 try { | |
| 40 processRequest(request, response); | |
| 41 } catch (Exception e) { | |
| 42 e.printStackTrace(); | |
| 43 } | |
| 44 } | |
| 45 | |
| 46 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 47 | |
| 48 String method = getLastPathComponent(request); | |
| 49 request.setCharacterEncoding("UTF-8"); | |
| 50 response.setCharacterEncoding("UTF-8"); | |
| 51 | |
| 52 if(StringUtils.equals(SaveNewText.name, method)){ | |
| 53 SaveNewText.execute(request, response); | |
| 54 }else if(StringUtils.equals(SaveText.name, method)){ | |
| 55 SaveText.execute(request, response); | |
| 56 }else if(StringUtils.equals(GetFileText.name, method)){ | |
| 57 GetFileText.execute(request, response); | |
| 58 }else if(StringUtils.equals(GetUser.name, method)){ | |
| 59 GetUser.execute(request, response); | |
| 60 }else if(StringUtils.equals(GetSectionText.name, method)){ | |
| 61 GetSectionText.execute(request, response); | |
| 62 }else if(StringUtils.equals(GetSectionMetadata.name, method)){ | |
| 63 GetSectionMetadata.execute(request, response); | |
| 64 }else{ | |
| 65 writeError(response, "Content-type wrong. It should be: multipart/form-data"); | |
| 66 } | |
| 67 } | |
| 68 | |
| 69 private static void writeError(HttpServletResponse response, String message){ | |
| 70 try { | |
| 71 JSONObject json = new JSONObject(); | |
| 72 json.put("status", "error"); | |
| 73 json.put("message", message); | |
| 74 | |
| 75 PrintWriter out = response.getWriter(); | |
| 76 out.print(json.toString()); | |
| 77 out.flush(); | |
| 78 } catch (Exception e) { | |
| 79 LOGGER.error(e); | |
| 80 } | |
| 81 } | |
| 82 | |
| 83 public String getLastPathComponent(HttpServletRequest request){ | |
| 84 String uri = request.getRequestURI(); | |
| 85 String[] array = uri.split("/"); | |
| 86 return array[array.length-1]; | |
| 87 } | |
| 88 } |
