Mercurial > hg > LGDataverses
view src/main/java/de/mpiwg/monographs/servlet/RemoveFileMetadata.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.io.IOException; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; import org.swordapp.server.AuthCredentials; import org.swordapp.server.SwordServerException; import edu.harvard.iq.dvn.api.datadeposit.SwordAuth; import edu.harvard.iq.dvn.core.admin.VDCUser; import edu.harvard.iq.dvn.core.study.EditStudyFilesService; import edu.harvard.iq.dvn.core.study.EditStudyService; import edu.harvard.iq.dvn.core.study.Study; import edu.harvard.iq.dvn.core.study.StudyFileEditBean; public class RemoveFileMetadata extends AbstractMonographServlet { private static final Logger logger = Logger.getLogger("monographs.RemoveFileMetadata"); private EditStudyFilesService editStudyFilesService; private Context ctx = null; @Inject private SwordAuth swordAuth; public void init() throws ServletException {} public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { JSONObject jsonResponse = new JSONObject(); String studyGlobalId = request.getParameter("studyId"); String user = request.getParameter("user"); String password = request.getParameter("password"); Long fileMetadataId = null; try{ fileMetadataId = Long.parseLong(request.getParameter("fileMetadataId")); }catch(Exception e){ e.printStackTrace(); } try { editStudyFilesService = (EditStudyFilesService) getCtx().lookup("java:comp/env/editStudyFiles"); } catch (NamingException e) { e.printStackTrace(); FacesContext context = FacesContext.getCurrentInstance(); FacesMessage errMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), null); context.addMessage(null, errMessage); } Study study = null; try { study = getStudy(studyGlobalId); editStudyFilesService.setStudyVersion(study.getId());//ok } catch (Exception e) { logger.log(Level.WARNING, "Study no found. " + studyGlobalId); error(jsonResponse, e); } try { for(Object obj : editStudyFilesService.getCurrentFiles()){ StudyFileEditBean file = (StudyFileEditBean)obj; if(file.getFileMetadata().getId().equals(fileMetadataId)){ file.setDeleteFlag(true); } } AuthCredentials authCredentials = new AuthCredentials(user, password, null); VDCUser vdcUser = swordAuth.auth(authCredentials); editStudyFilesService.save(vdcUser.getId(), vdcUser.getId()); jsonResponse.put("status", "ok"); } catch (Exception e) { logger.log(Level.SEVERE, e.getMessage()); error(jsonResponse, e); } java.io.PrintWriter out = response.getWriter(); out.print(jsonResponse); out.flush(); } }
