annotate src/main/java/de/mpiwg/monographs/servlet/AbstractMonographServlet.java @ 0:fcb8807fbd84

Fist commit!
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Tue, 10 Mar 2015 15:15:30 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
1 package de.mpiwg.monographs.servlet;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
2
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
3 import java.util.logging.Level;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
4 import java.util.logging.Logger;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
5
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
6 import javax.naming.Context;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
7 import javax.naming.InitialContext;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
8 import javax.naming.NamingException;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
9 import javax.servlet.http.HttpServlet;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
10
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
11 import org.codehaus.jettison.json.JSONArray;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
12 import org.codehaus.jettison.json.JSONException;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
13 import org.codehaus.jettison.json.JSONObject;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
14 import org.swordapp.server.SwordServerException;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
15
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
16 import edu.harvard.iq.dvn.core.study.EditStudyService;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
17 import edu.harvard.iq.dvn.core.study.FileMetadata;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
18 import edu.harvard.iq.dvn.core.study.Study;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
19 import edu.harvard.iq.dvn.core.study.StudyVersion;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
20
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
21 public class AbstractMonographServlet extends HttpServlet {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
22
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
23 private static final Logger logger = Logger.getLogger("monographs.AbstractMonographServlet");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
24
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
25 private Context ctx = null;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
26
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
27 protected JSONObject jsonStudyVersion(String studyGlobalId) throws SwordServerException{
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
28
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
29 Study study0 = getStudy(studyGlobalId);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
30 StudyVersion study = study0.getLatestVersion();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
31
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
32 return MonographUtils.jsonStudyVersion(study);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
33 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
34
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
35 protected Study getStudy(String studyGlobalId) throws SwordServerException{
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
36
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
37 EditStudyService editStudyService;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
38
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
39 try {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
40 editStudyService = (EditStudyService) getCtx().lookup("java:comp/env/editStudy");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
41 } catch (NamingException ex) {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
42 logger.info("problem looking up editStudyService");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
43 throw new SwordServerException("problem looking up editStudyService");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
44 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
45
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
46 Study study = editStudyService.getStudyByGlobalId(studyGlobalId);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
47 return study;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
48 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
49
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
50 protected Context getCtx() throws NamingException{
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
51 if(ctx == null)
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
52 ctx = new InitialContext();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
53 return ctx;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
54 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
55
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
56 protected void error(JSONObject jsonResponse, Exception e){
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
57 logger.log(Level.SEVERE, e.getMessage());
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
58 try {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
59 jsonResponse.put("status", "error");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
60 jsonResponse.put("error", e.getMessage());
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
61 } catch (JSONException e1) {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
62 e1.printStackTrace();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
63 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
64 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
65
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
66 }