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 }