package org.tgdb.webapp.action.model; import org.tgdb.form.FormDataManager; import org.tgdb.TgDbCaller; import org.tgdb.TgDbFormDataManagerFactory; import org.tgdb.exceptions.ApplicationException; import org.tgdb.webapp.action.TgDbAction; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; public class SaveFileReferenceAction extends TgDbAction { public SaveFileReferenceAction() {} public String getName() { return "SaveFileReferenceAction"; } public boolean performAction(HttpServletRequest req, ServletContext context) throws ApplicationException { try { HttpSession session = req.getSession(); TgDbCaller _caller = (TgDbCaller)session.getAttribute("caller"); FormDataManager formDataManager = getFormDataManager( TgDbFormDataManagerFactory.EXPMODEL, TgDbFormDataManagerFactory.WEB_FORM, req); String eid = formDataManager.getValue("eid"); if (isSubmit(req, "save")) { String name = req.getParameter("name"); String comm = req.getParameter("comm"); resourceManager.updateFile(Integer.parseInt(formDataManager.getValue("fileid")), name, comm, _caller); int refid = Integer.parseInt(req.getParameter("refid")); String pubmed = req.getParameter("pubmed"); boolean primary = false; if(req.getParameter("primary").equalsIgnoreCase("true")) primary = true; modelManager.updateReference(refid, name, comm, pubmed, primary, _caller); } else if(isSubmit(req, "remove")) { resourceManager.removeFile(Integer.parseInt(formDataManager.getValue("fileid")), _caller); } return true; } catch (Exception e) { if(e instanceof ApplicationException) throw new ApplicationException(e.getMessage()); else e.printStackTrace(); } return false; } }