xml配置
<start-state name="request" swimlane="requester">
<transition to="BeginRequest"/>
</start-state>
<fork name="BeginRequest">
<transition to="RequesterCancel"/>
<transition to="IsChief"/>
</fork>
<decision name="IsChief">
<delegation class="kellerdu.jbpm.delegation.ChiefDecision"/>
<transition name="BossApprove" to="BossApprove"/>
<transition name="ChiefApprove" to="ChiefApprove"/>
</decision>
<state name="ChiefApprove">
<assignment swimlane="chief"/>
<transition name="approve" to="NeedBossApprove">
<action>
<!-- 将请假的状态改变为“主管批准”-->
<delegation class="kellerdu.jbpm.action.ChiefApprove"/>
</action>
</transition>
<transition name="disapprove" to="Decided">
<action>
<!-- 将请假的状态改变为“主管否决”-->
<delegation class="kellerdu.jbpm.action.ChiefDisapprove"/>
</action>
</transition>
</state>
<join name="Decided">
<description>有一个先到达即进行父Token</description>
<delegation class="kellerdu.jbpm.delegation.DecidedJoin"/>
<transition to="DoSomething"/>
</join>
代码示例
DecisionHandler
public String decide(ExecutionContext executionContext) {
if(ac!=null&&(ac.equals("dali")||ac.equals("wang"))){
return "BossApprove";
}else{
return "ChiefApprove";
}
}
JoinHandler
public void join(JoinContext joinContext) throws ExecutionException {
Token arrivingToken = joinContext.getToken();
if(to.getId().equals(arrivingToken.getId())){
joinContext.getExecutionService().cancelToken(to.getId());
}
}
joinContext.reactivateToken( arrivingToken.getParent() );
}
AssignmentHandler
public String selectActor(AssignmentContext assignmentContext) {
return "chief";
}
分享到:
相关推荐
AV_SAMPLE_FMT_FLTP转为AV_SAMPLE_FMT_S16P(ffmpeg),在使用ffmpeg解码aac的时候,如果使用avcodec_decode_audio4函数解码,那么解码出来的会是AV_SAMPLE_FMT_FLTP 格式的数据( float, 4bit , planar), 如果我们希望...
检查要求: ...非法字符,即不是SAMPLE字符集的符号; 字符常数缺右边的单引号(字符常数要求左、右边用单引号界定,不能跨行); 注释部分缺右边的界符*/(注释要求左右边分别用/*和*/界定,不能跨行)。
c#sample c#sample c#sample c#sample c#sample c#sample c#sample c#sample
设计SAMPLE语言的词法分析器 检查要求: 启动程序后,先输出作者姓名、班级、学号(可用汉语、英语或拼音); 请求输入测试程序名,键入程序名后自动开始词法分析并输出结果; 输出结果为单词的二元式序列(样式见...
工程下source.txt为 sample示例程序;chartable.data和tokentable.data为词法分析/语法分析中间过程数据;config文件夹下为sample语言各种分类关键字配置(不建议修改);src下com.analysis.start包为程序入口。。(ps:...
Poly API - Android Sample Copyright (c) 2017 Google Inc. All rights reserved. This is a sample project showing how to invoke the Poly API from an Android app. Note about rendering: The focus of this ...
Open CASCADE Sample Source C#
MSChart微软实例(web sample&& windows sample) MSChart微软实例(web sample&& windows sample)
海思平台EV300编码出图sample,获取海思AF统计信息
sample语言的编译器,完成了词法分析和语法分析,可生成四元式!
kibana sample自己找的测试数据 kibana sample自己找的测试数据
a) 启动程序后,先输出...非法字符,即不是SAMPLE字符集的符号; 字符常数缺右边的单引号(字符常数要求左、右边用单引号界定,不能跨行); 注释部分缺右边的界符*/(注释要求左右边分别用/*和*/界定,不能跨行)。
Sample Archive FilesSample ZIP File
fmod sample bank generator 1.08.12 网上不好找
在公司给手下程序员普及WPF时做的教程,系列教程中包含PPT的演示、Sample的学习、Homework的练习三部分。本人觉得WPF的发展前景正能体现市场的发展方向。希望在中国能尽快普及,忘日后能和更多的WPF高手合作。(WPF...
经典数据结构算法sample 经典数据结构算法sample
criteo_sampled_data.csv
intra-mart sample intra-mart sample
NHibernate 3.3 Sample