annotate src/main/java/de/mpiwg/indexmeta/web/servlet/methods/JSONSaveCtx.java @ 9:2bc783262919 default tip

Implementation of Servlet
author Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
date Wed, 24 Apr 2013 10:34:46 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 package de.mpiwg.indexmeta.web.servlet.methods;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 import java.io.PrintWriter;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
4
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 import javax.servlet.http.HttpServletRequest;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
6 import javax.servlet.http.HttpServletResponse;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
7
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 import org.apache.commons.lang.StringUtils;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 import org.json.JSONObject;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
10
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 import de.mpiwg.indexmeta.bo.Contextualization;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 import de.mpiwg.indexmeta.services.DataProvider;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
13
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 public class JSONSaveCtx extends AbstractServletMethod {
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
15
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 public static void execute(DataProvider dp,
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 HttpServletRequest request, HttpServletResponse response)
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 throws Exception {
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
19
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 JSONObject json = new JSONObject();
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
21
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 long startExecution = System.currentTimeMillis();
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
23
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 String indexMetaId = getString(request, p_indexMetaId);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 String elementId = getString(request, p_elementId);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
26
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 String comment = getString(request, p_comment);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 String content = getString(request, p_content);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 String remoteId = getString(request, p_remoteId);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 String state = getString(request, p_state);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 String type = getString(request, p_type);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
32
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 if(StringUtils.isEmpty(indexMetaId) ||
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 StringUtils.isEmpty(elementId) ||
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 StringUtils.isEmpty(type)){
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
36
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 response.sendError(HttpServletResponse.SC_BAD_REQUEST,
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
38 "Parameters 'indexMetaId', 'elementId' and 'type' are null. "
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 + "At least one of them must be not null.");
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 return;
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 }
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
42
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 Contextualization ctx = dp.getCtx(indexMetaId, elementId);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
44
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 if(ctx == null){
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 ctx = new Contextualization();
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 ctx.setIndexMetaId(indexMetaId);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 ctx.setElementId(elementId);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 }
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
50
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 ctx.setComment(comment);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
52 ctx.setContent(content);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
53 ctx.setRemoteId(remoteId);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 ctx.setState(state);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 ctx.setType(type);
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
56
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 json.put(RUNTIME, (System.currentTimeMillis() - startExecution));
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
58
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 PrintWriter out = response.getWriter();
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
60 out.print(json.toString());
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
61
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
62 }
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
63
2bc783262919 Implementation of Servlet
Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 }