Package org.springmodules.examples.workflow.osworkflow.web

Source Code of org.springmodules.examples.workflow.osworkflow.web.DocumentApprovalController

package org.springmodules.examples.workflow.osworkflow.web;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.acegisecurity.context.SecurityContextHolder;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import org.springframework.web.servlet.view.RedirectView;
import org.springmodules.examples.workflow.osworkflow.model.Document;
import org.springmodules.examples.workflow.osworkflow.service.DocumentApprovalWorkflow;

/**
* @author robh
*/
public class DocumentApprovalController extends MultiActionController {

  private DocumentApprovalWorkflow workflow;

  public void setWorkflow(DocumentApprovalWorkflow workflow) {
    this.workflow = workflow;
  }

  public ModelAndView start(HttpServletRequest request, HttpServletResponse response) {
    workflow.startNewWorkflow();
    return status(request, response);
  }

  public ModelAndView status(HttpServletRequest request, HttpServletResponse response) {

    Map model = new HashMap();

    model.put("document", workflow.getCurrentDocument());
    model.put("comments", workflow.getCurrentComments());
    model.put("currentSteps", workflow.getCurrentStepDescriptors());
    model.put("historySteps", workflow.getHistoryStepDescriptors());
    model.put("availableActions", workflow.getAvailableActionDescriptors());
    model.put("state", workflow.getCurrentState());

    return new ModelAndView("status", model);
  }

  public ModelAndView underway(HttpServletRequest request, HttpServletResponse response) {

    List queryResults = this.workflow.getUnderwayWorkflows();

    return new ModelAndView("underway", "ids", queryResults);
  }

  public ModelAndView approve(HttpServletRequest request, HttpServletResponse response) {
    Document document = this.workflow.getCurrentDocument();
    this.workflow.approveCurrentDocument();

    return new ModelAndView("approved", "document", document);
  }

  public ModelAndView logout(HttpServletRequest request, HttpServletResponse response) {
    HttpSession session = request.getSession();
    session.invalidate();
    SecurityContextHolder.setContext(null);
    return new ModelAndView(new RedirectView("/index.jsp", true));
  }
}
TOP

Related Classes of org.springmodules.examples.workflow.osworkflow.web.DocumentApprovalController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.