annotate src/main/java/de/mpiwg/gazetteer/rest/AbstractServletMethod.java @ 10:5610250d021a default tip

SectionsIndex, we added a method to print the setting of the VM
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Thu, 19 Mar 2015 11:46:33 +0100
parents 7682c04c63a8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
1 package de.mpiwg.gazetteer.rest;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
2
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
3 import java.io.ByteArrayOutputStream;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
4 import java.io.FileNotFoundException;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
5 import java.io.IOException;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
6 import java.io.InputStream;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
7 import java.io.OutputStream;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
8 import java.io.PrintWriter;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
9
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
10 import javax.servlet.ServletException;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
11 import javax.servlet.http.HttpServletRequest;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
12 import javax.servlet.http.HttpServletResponse;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
13 import javax.servlet.http.Part;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
14
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
15 import org.apache.commons.lang.StringUtils;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
16 import org.apache.log4j.Logger;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
17 import org.json.JSONObject;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
18
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
19 import de.mpiwg.web.SessionBean;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
20
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
21 public abstract class AbstractServletMethod {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
22
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
23 private static Logger LOGGER = Logger.getLogger(AbstractServletMethod.class);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
24
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
25
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
26
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
27 protected static void writeError(HttpServletResponse response, String message){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
28 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
29 JSONObject json = new JSONObject();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
30 json.put("status", "error");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
31 json.put("message", message);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
32
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
33 PrintWriter out = response.getWriter();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
34 out.print(json.toString());
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
35 out.flush();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
36 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
37 e.printStackTrace();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
38 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
39 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
40
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
41 protected static Long getQueryLongParam(HttpServletRequest request, String paraName) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
42 String value = request.getParameter(paraName);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
43 if (StringUtils.isNotEmpty(value)) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
44 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
45 return Long.parseLong(value);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
46 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
47 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
48 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
49 return null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
50 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
51
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
52 protected static Long getRequestLongPart(HttpServletRequest request, String partName) throws IOException,
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
53 IllegalStateException, ServletException {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
54
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
55 String value = getRequestPart(request, partName);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
56
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
57 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
58 Long v = Long.parseLong(value);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
59 return v;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
60 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
61 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
62
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
63 return null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
64
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
65 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
66
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
67 protected static String getRequestPart(HttpServletRequest request, String partName) throws IOException,
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
68 IllegalStateException, ServletException {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
69
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
70 String partText = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
71 final Part filePart = request.getPart(partName);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
72
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
73 if (filePart != null) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
74 OutputStream out = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
75 InputStream filecontent = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
76
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
77 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
78 out = new ByteArrayOutputStream();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
79 filecontent = filePart.getInputStream();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
80
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
81 int read = 0;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
82 final byte[] bytes = new byte[1024];
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
83
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
84 while ((read = filecontent.read(bytes)) != -1) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
85 out.write(bytes, 0, read);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
86 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
87
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
88 partText = out.toString();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
89
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
90 } catch (FileNotFoundException fne) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
91 LOGGER.info("Problems during file upload. Error: " + fne.getMessage());
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
92 } finally {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
93 if (out != null) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
94 out.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
95 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
96 if (filecontent != null) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
97 filecontent.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
98 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
99 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
100 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
101
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
102 return partText;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
103 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
104
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
105 }