OSWorkFlow学习日志2
◎流程的初始化
◎流程运转
OSWorkFlow学习日志
============================================================
◎流程的初始化
//实例化workflow对象,使用com.opensymphony.workflow.basic.BasicWorkflow
//employee为String类型,值为调用者的标识
Workflow workflow = new BasicWorkflow(employee);
DefaultConfiguration config = new DefaultConfiguration();//加载配置xml文件
workflow.setConfiguration(config); //设置到workflow对象
long workflowId = -1; //流程编号,自动增加的流水号
HashMap map = new HashMap(); //为流程附加参数变量
map.put("type", type); //使用key-value方式
//调用初始化函数 -leave为流程名称 -0为xml中的actionID -map为传入的参数
workflowId=workflow.initialize("leave", 0, map);
//将workflowId 传入下个环节可对此流程继续操作
//流程初始化完毕
◎流程运转
//流程就是调用XML中定义的动作,并根据动作的结果确定下面的步骤
try{
//调用doAction()方法进行流程的流转
//参数 -workflowId流程编号 -1要执行的actionId -传入的参数为null
workflow.doAction(workflowId, 1, null);
//可能的异常列表
} catch (InvalidActionException e) {
e.printStackTrace();
} catch (InvalidRoleException e) {
e.printStackTrace();
} catch (InvalidInputException e) {
e.printStackTrace();
} catch (InvalidEntryStateException e) {
e.printStackTrace();
} catch (WorkflowException e) {
e.printStackTrace();
}
technorati tags: OSWorkFlow , 工作流 , workflow




