package org.tgdb.webapp.action.model; import org.tgdb.TgDbCaller; 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; import org.tgdb.TgDbFormDataManagerFactory; import org.tgdb.form.FormDataManager; public class SaveStrainAction extends TgDbAction { public SaveStrainAction() {} public String getName() { return "SaveStrainAction"; } public boolean performAction(HttpServletRequest req, ServletContext context) throws ApplicationException { try { HttpSession se = req.getSession(); TgDbCaller _caller = (TgDbCaller)se.getAttribute("caller"); if(isSubmit(req, "create")) { String designation = req.getParameter("designation"); modelManager.createStrain(designation, _caller); } else if(isSubmit(req, "save")) { FormDataManager fdm = getFormDataManager(TgDbFormDataManagerFactory.STRAIN, TgDbFormDataManagerFactory.WEB_FORM, req); String designation = req.getParameter("designation"); modelManager.updateStrain(Integer.parseInt(fdm.getValue("strain_id")), designation, _caller); } else if(isSubmit(req, "assign")) { int strain = Integer.parseInt(req.getParameter("strain")); FormDataManager fdm = getFormDataManager(TgDbFormDataManagerFactory.EXPMODEL, TgDbFormDataManagerFactory.WEB_FORM, req); int eid = Integer.parseInt(fdm.getValue("eid")); modelManager.assignStrainToModel(eid, strain, _caller); } return true; } catch (ApplicationException e) { throw e; } catch (Exception e) { e.printStackTrace(); throw new ApplicationException("Could not add strains and types.", e); } } }