www.pudn.com > project.rar > TestBusinessAction.java


package cn.com.iaspec.workflow.client.web.action.test; 
 
import java.util.*; 
import javax.servlet.http.*; 
import org.apache.struts.action.*; 
import cn.com.iaspec.workflow.client.*; 
import cn.com.iaspec.workflow.client.web.action.base.*; 
import cn.com.iaspec.workflow.engine.dao.*; 
import cn.com.iaspec.workflow.vo.db.*; 
import cn.com.iaspec.workflow.vo.workflow.WorkflowProcessInfo; 
import cn.com.iaspec.workflow.helper.CaseWorkflowHelper; 
import cn.com.iaspec.workflow.vo.workflow.UserInfo; 
import cn.com.iaspec.workflow.util.FlowWebKeys; 
import cn.com.iaspec.workflow.vo.workflow.ActivityVariable; 
 
public class TestBusinessAction 
    extends BaseAction{ 
  public TestBusinessAction(){ 
  } 
 
  public ActionForward query(ActionMapping mapping,ActionForm form, 
      HttpServletRequest request,HttpServletResponse response) 
      throws Exception{ 
    String projectId=request.getParameter("wf_project_id")==null?"0": 
        request.getParameter("wf_project_id"); 
    //取得公共项目信息 
    WfPublicProjectInfo info=new WfPublicProjectInfo(); 
    info.setProjectId(Long.parseLong(projectId)); 
    //为了测试方便,这里直接调用dao 
    WfPublicProjectInfoDAO dao=new WfPublicProjectInfoDAO(); 
    List list=dao.query(info); 
    if(list!=null&&list.size()>0){ 
      request.setAttribute("projectInfo",(WfPublicProjectInfo)list.get(0)); 
    } 
    return mapping.findForward("business"); 
  } 
 
  public ActionForward submit(ActionMapping mapping,ActionForm form, 
      HttpServletRequest request,HttpServletResponse response) 
      throws Exception{ 
    System.out.println("begin submit..."); 
    String businessTitle=request.getParameter("business_title"); 
    String wfBusinessId=request.getParameter("wf_business_id")==null?"": 
        request.getParameter("wf_business_id"); 
    WorkflowEngineClient client=new WorkflowEngineClient(); 
    WorkflowJSPClient jspClient=new WorkflowJSPClient(); 
    WorkflowProcessInfo wfProInfo=jspClient.getWorkflowProcessInfo(request); 
    //更新标题 
    client.updateProcessTitle(wfProInfo,businessTitle); 
    //修改变量 
    wfProInfo.modifyWorkitemVarData(request.getParameter("flow_var_name")==null? 
        "":request.getParameter("flow_var_name"), 
        request.getParameter("flow_var_value")==null?"": 
        request.getParameter("flow_var_value")); 
    //暂存工作流 
    if(wfBusinessId.equals("")){ 
      wfBusinessId=Double.toString(Math.random()); 
    } 
    //client.newAndSaveWorkflow(wfProInfo,wfBusinessId); 
    //提交工作流 
    client.processWorkflow(wfProInfo,wfBusinessId); 
    return mapping.findForward("result"); 
  } 
 
  public ActionForward getAllProcesses(ActionMapping mapping,ActionForm form, 
      HttpServletRequest request,HttpServletResponse response) 
      throws Exception{ 
 
    HttpSession session=request.getSession(false); 
    UserInfo userInfo=(UserInfo)session.getAttribute(FlowWebKeys.USER_SESSION); 
    CaseWorkflowHelper helper=new CaseWorkflowHelper(userInfo); 
 
    List processList=helper.getAllProcess(); 
    request.setAttribute("processList",processList); 
 
    return mapping.findForward("show_process_list"); 
  } 
 
}