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 SaveLinkReferenceAction extends TgDbAction { public SaveLinkReferenceAction() {} public String getName() { return "SaveLinkReferenceAction"; } public boolean performAction(HttpServletRequest request, ServletContext context) throws ApplicationException { try { HttpSession session = request.getSession(); TgDbCaller _caller = (TgDbCaller)session.getAttribute("caller"); FormDataManager formDataManager = getFormDataManager( TgDbFormDataManagerFactory.EXPMODEL, TgDbFormDataManagerFactory.WEB_FORM, request); String eid = formDataManager.getValue("eid"); String name = request.getParameter("name"); String pubmed = request.getParameter("pubmed"); boolean primary = false; if(request.getParameter("primary").equalsIgnoreCase("true")) primary = true; String comm = request.getParameter("comm"); String url = request.getParameter("url"); if (isSubmit(request, "create")) { modelManager.addLinkReference(Integer.parseInt(eid), name, pubmed, primary, comm, url, _caller); } else if (isSubmit(request, "save")) { int refid = Integer.parseInt(request.getParameter("refid")); modelManager.updateReference(refid, name, comm, pubmed, primary, _caller); resourceManager.updateLink(Integer.parseInt(formDataManager.getValue("linkid")), name, url, comm, _caller); } return true; } catch (Exception e) { if(e instanceof ApplicationException) throw new ApplicationException(e.getMessage()); else e.printStackTrace(); } return false; } }