package net.sourceforge.solexatools.webapp.controller; import java.util.HashMap; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sourceforge.seqware.common.business.WorkflowService; import net.sourceforge.seqware.common.model.Registration; import net.sourceforge.seqware.common.model.Workflow; import net.sourceforge.solexatools.Security; import net.sourceforge.solexatools.util.LaunchWorkflowUtil; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.BaseCommandController; /** * <p> * LaunchWorkflowSetupController class. * </p> * * @author boconnor * @version $Id: $Id */ public class LaunchWorkflowSetupController extends BaseCommandController { private WorkflowService workflowService; /** * <p> * Constructor for LaunchWorkflowSetupController. * </p> */ public LaunchWorkflowSetupController() { super(); setSupportedMethods(new String[] { METHOD_GET }); } /** * {@inheritDoc} * * @return * @throws java.lang.Exception */ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { Registration registration = Security.getRegistration(request); if (registration == null) return new ModelAndView("redirect:/login.htm"); ModelAndView modelAndView = null; HashMap<String, Object> model = new HashMap<>(); List<Workflow> list = getWorkflowService().list(); model.put("workflows", list); request.setAttribute(getCommandName(), new Workflow()); // set this attribute for view Select Inputs bar request.setAttribute("isHasSelectedInputMenu", true); // remove selected items LaunchWorkflowUtil.removeSelectedItemsLaunchWorkflow(request); // request.getSession(false).removeAttribute("selectedWorkflowParamValueId"); modelAndView = new ModelAndView("LaunchWorkflow", model); return modelAndView; } /** * <p> * Getter for the field <code>workflowService</code>. * </p> * * @return a {@link net.sourceforge.seqware.common.business.WorkflowService} object. */ public WorkflowService getWorkflowService() { return workflowService; } /** * <p> * Setter for the field <code>workflowService</code>. * </p> * * @param workflowService * a {@link net.sourceforge.seqware.common.business.WorkflowService} object. */ public void setWorkflowService(WorkflowService workflowService) { this.workflowService = workflowService; } }