package org.tgdb.webapp.action.gene; import org.tgdb.frame.Navigator; import org.tgdb.TgDbCaller; import org.tgdb.exceptions.ApplicationException; import org.tgdb.webapp.action.TgDbAction; import java.util.Collection; 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 GetGenesAction extends TgDbAction { public String getName() { return "GetGenesAction"; } public boolean performAction(HttpServletRequest request, ServletContext context) throws ApplicationException { try { HttpSession se = request.getSession(); TgDbCaller _caller = (TgDbCaller)se.getAttribute("caller"); // Navigator nav = (Navigator)se.getAttribute("navigator"); FormDataManager fdm = getFormDataManager(TgDbFormDataManagerFactory.GENES, TgDbFormDataManagerFactory.WEB_FORM, request); Navigator nav = (Navigator)se.getAttribute("navigator"); nav.getPageManager().setMax(modelManager.getStrainAllelesByFDM(fdm, _caller).size()); nav.getPageManager().setDelta(new Integer(fdm.getValue("delta")).intValue()); if(!exists_without_value(request.getParameter("next")) && !exists_without_value(request.getParameter("last")) && !exists_without_value(request.getParameter("prev")) && !exists_without_value(request.getParameter("first"))) { nav.getPageManager().setCurrentPage(new Integer(fdm.getValue("page")).intValue()); } // request.setAttribute("fdm_genes", fdm); nav.getPageManager().setMax(modelManager.getGenes(_caller.getPid(), _caller)); Collection genes = modelManager.getGenesByPGM(nav.getPageManager()); request.setAttribute("genes", genes); return true; } catch (ApplicationException e) { throw e; } catch (Exception e) { throw new ApplicationException("Failed to perform action", e); } } }