Mercurial > hg > LGDataverses
view 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 |
line wrap: on
line source
package de.mpiwg.monographs.servlet; import java.util.logging.Level; import java.util.logging.Logger; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.http.HttpServlet; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; import org.swordapp.server.SwordServerException; import edu.harvard.iq.dvn.core.study.EditStudyService; import edu.harvard.iq.dvn.core.study.FileMetadata; import edu.harvard.iq.dvn.core.study.Study; import edu.harvard.iq.dvn.core.study.StudyVersion; public class AbstractMonographServlet extends HttpServlet { private static final Logger logger = Logger.getLogger("monographs.AbstractMonographServlet"); private Context ctx = null; protected JSONObject jsonStudyVersion(String studyGlobalId) throws SwordServerException{ Study study0 = getStudy(studyGlobalId); StudyVersion study = study0.getLatestVersion(); return MonographUtils.jsonStudyVersion(study); } protected Study getStudy(String studyGlobalId) throws SwordServerException{ EditStudyService editStudyService; try { editStudyService = (EditStudyService) getCtx().lookup("java:comp/env/editStudy"); } catch (NamingException ex) { logger.info("problem looking up editStudyService"); throw new SwordServerException("problem looking up editStudyService"); } Study study = editStudyService.getStudyByGlobalId(studyGlobalId); return study; } protected Context getCtx() throws NamingException{ if(ctx == null) ctx = new InitialContext(); return ctx; } protected void error(JSONObject jsonResponse, Exception e){ logger.log(Level.SEVERE, e.getMessage()); try { jsonResponse.put("status", "error"); jsonResponse.put("error", e.getMessage()); } catch (JSONException e1) { e1.printStackTrace(); } } }
