Mercurial > hg > IndexMetaContextualizer
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 |
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 } |