package org.tgdb.webapp.action.gene; import org.tgdb.frame.advanced.Workflow; import org.tgdb.TgDbCaller; import org.tgdb.exceptions.ApplicationException; import org.tgdb.webapp.action.TgDbAction; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; public class SaveGeneAction extends TgDbAction { public String getName() { return "SaveGeneAction"; } public boolean performAction(HttpServletRequest request, ServletContext context) throws ApplicationException { try { TgDbCaller _caller = (TgDbCaller)request.getSession().getAttribute("caller"); String name = request.getParameter("name"); String genesymbol = request.getParameter("genesymbol"); int cromosome = Integer.parseInt(request.getParameter("chromosome")); String mgiid = request.getParameter("mgiid"); if (isSubmit(request,"save") && exists(request.getParameter("gaid"))) { int gaid = new Integer(request.getParameter("gaid")).intValue(); String comm = request.getParameter("comm"); String geneexpress = request.getParameter("geneexpress"); String idgene = request.getParameter("idgene"); String idensembl = request.getParameter("idensembl"); String molecular_note = request.getParameter("molecular_note"); String molecular_note_url = request.getParameter("molecular_note_url"); modelManager.updateGene(gaid, name, comm, mgiid, genesymbol, geneexpress, idgene, idensembl, cromosome, molecular_note, molecular_note_url, _caller); } else if(isSubmit(request,"create_transgene")) { String comm = request.getParameter("comm"); String geneexpress = request.getParameter("geneexpress"); String idgene = request.getParameter("idgene"); String idensembl = request.getParameter("idensembl"); String molecular_note = request.getParameter("molecular_note"); String molecular_note_url = request.getParameter("molecular_note_url"); int gaid = modelManager.createTransgene(name, comm, mgiid, genesymbol, geneexpress, idgene, idensembl, cromosome, molecular_note, molecular_note_url, _caller); Workflow wf = (Workflow)request.getAttribute("workflow"); wf.setAttribute("gaid", new Integer(gaid).toString()); request.setAttribute("gaid", new Integer(gaid).toString()); } else if(isSubmit(request, "create_promoter")) { String driver_note = request.getParameter("driver_note"); String common_name = request.getParameter("common_name"); modelManager.createPromoter(name, genesymbol, cromosome, mgiid, driver_note, common_name, _caller); } else if(isSubmit(request, "create_expressed_gene")) { String comm = request.getParameter("comm"); modelManager.createExpressedGene(name, genesymbol, cromosome, mgiid, comm, _caller); } else if(isSubmit(request, "save_promoter")) { int gaid = new Integer(request.getParameter("gaid")).intValue(); String driver_note = request.getParameter("driver_note"); String common_name = request.getParameter("common_name"); modelManager.updatePromoter(gaid, name, genesymbol, mgiid, cromosome, driver_note, common_name, _caller); } else if(isSubmit(request, "save_expressed_gene")) { int gaid = new Integer(request.getParameter("gaid")).intValue(); String comm = request.getParameter("comm"); modelManager.updateExpressedGene(gaid, name, genesymbol, mgiid, cromosome, comm, _caller); } return true; } catch (ApplicationException e) { throw e; } catch (Exception e) { throw new ApplicationException("SaveGeneAction Failed to perform action", e); } } }