流程定义文件:
读取Start中的form:
<?xml version="1.0" encoding="UTF-8"?>
<process name="VacationRequest" xmlns="http://jbpm.org/4.4/jpdl">
<start form="org/jbpm/examples/taskform/request_vacation.ftl" g="16,56,48,48" name="start">
<transition to="verify_request"/>
</start>
<task candidate-users="mike,peter" form="org/jbpm/examples/taskform/verify_request.ftl" g="96,54,178,52" name="verify_request">
<transition g="-34,9" name="reject" to="vacation_rejected"/>
<transition g="-46,-26" name="accept" to="vacation_accepted"/>
</task>
<end g="306,16,48,48" name="vacation_accepted"/>
<end g="306,96,48,48" name="vacation_rejected"/>
</process>
读取Start中的form:
*/
@Test
public void testFindAllTaskActivities(){
try{
List<ProcessDefinition> processDefinitionList = repositoryService.createProcessDefinitionQuery().list();
ProcessDefinitionImpl processDefinition =(ProcessDefinitionImpl)repositoryService
.createProcessDefinitionQuery()
.processDefinitionId(processDefinitionList.get(0).getId())
.uniqueResult();
List<ActivityImpl> activityList = new ArrayList<ActivityImpl>();
List list = processDefinition.getActivities();
for(int i=0;i<list.size();i++){
ActivityImpl activityImpl = (ActivityImpl)list.get(i);
String type = activityImpl.getType();
if(type.equals("task")){
TaskActivity taskActivity = (TaskActivity)activityImpl.getActivityBehaviour();
String formResourceName = taskActivity.getTaskDefinition().getFormResourceName();
System.out.println(formResourceName);
activityList.add(activityImpl);
}
if(type.equals("start")){
[color=darkred]StartActivity activityBehaviour = (StartActivity)activityImpl.getActivityBehaviour();
System.out.println("==="+activityBehaviour.getFormResourceName());[/color] activityList.add(activityImpl);
}
}
for (ActivityImpl activityImpl : activityList) {
[color=red]System.out.println(activityImpl.getProcessDefinition().getKey()+"----"+activityImpl.getName());[/color] }
System.out.println(activityList.size());
}catch(Exception e){
e.printStackTrace();
}
}