package net.sourceforge.solexatools.util; import java.util.HashSet; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import net.sourceforge.seqware.common.model.Processing; import net.sourceforge.seqware.common.model.WorkflowRun; /** * <p> * ControllerUtil class. * </p> * * @author boconnor * @version $Id: $Id */ public class ControllerUtil { /** * <p> * getRequestedTypeList. * </p> * * @param request * a {@link javax.servlet.http.HttpServletRequest} object. * @return a {@link java.lang.String} object. */ public static String getRequestedTypeList(HttpServletRequest request) { String typeList = (String) request.getParameter("typeList"); if (typeList == null) { typeList = ""; } return typeList; } /** * <p> * saveAscInSession. * </p> * * @param request * a {@link javax.servlet.http.HttpServletRequest} object. * @param attrNameInSession * a {@link java.lang.String} object. * @return a {@link java.lang.Boolean} object. */ public static Boolean saveAscInSession(HttpServletRequest request, String attrNameInSession) { Boolean isAsc = getRequestedAsc(request); if (isAsc != null) { request.getSession(false).setAttribute(attrNameInSession, isAsc); } return isAsc(request, attrNameInSession); } private static Boolean getRequestedAsc(HttpServletRequest request) { Boolean isAsc = null; String strAsc = request.getParameter("asc"); if (null != strAsc) switch (strAsc) { case "true": isAsc = true; break; case "false": isAsc = false; break; } return isAsc; } private static Boolean isAsc(HttpServletRequest request, String attrNameInSession) { Boolean isAsc = (Boolean) request.getSession(false).getAttribute(attrNameInSession); if (isAsc == null) { isAsc = true; } return isAsc; } /** * <p> * fillWorkflowProcessingMap. * </p> * * @param proc * a {@link net.sourceforge.seqware.common.model.Processing} object. * @param wfrProc * a {@link java.util.Map} object. */ public static void fillWorkflowProcessingMap(Processing proc, Map<WorkflowRun, Set<Processing>> wfrProc) { for (Processing child : proc.getChildren()) { Set<Processing> processings = wfrProc.get(child.getWorkflowRun()); if (processings == null) { processings = new HashSet<>(); } processings.add(child); if (child.getWorkflowRun() != null) { wfrProc.put(child.getWorkflowRun(), processings); } } } }