<code>ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(</code><code>"leave"</code><code>).singleResult();</code>
<code>ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)</code>
<code>.getDeployedProcessDefinition(definition.getId());</code>
<code>List<ActivityImpl> activitiList = processDefinition.getActivities();</code>
<code> </code>
<code>for</code> <code>(ActivityImpl activity : activitiList) {</code>
<code>Map<String, Object> properties = activity.getProperties();</code>
<code>String type = properties.get(</code><code>"type"</code><code>).toString();</code>
<code>if</code> <code>(type.equals(</code><code>"exclusiveGateway"</code><code>)) {</code>
<code>List<PvmTransition> outgoingTransitions = activity.getOutgoingTransitions();</code>
<code>for</code> <code>(PvmTransition outgoingTransition : outgoingTransitions) {</code>
<code>TransitionImpl ti = (TransitionImpl) outgoingTransition;</code>
<code>System.out.println(ti.getProperties());</code>
<code>}</code>
<code>} </code><code>else</code> <code>{</code>
<code>System.out.println(properties);</code>
輸出結果:
<code>taskDefinition=org.activiti.engine.impl.task.TaskDefinition</code><code>@19c6e4d1</code><code>, </code><code>default</code><code>=</code><code>null</code><code>, name=部門上司審批, documentation=</code><code>null</code><code>, type=userTask}</code>
<code>{conditionText=${!deptLeaderPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition</code><code>@50d8628f</code><code>, name=不同意, documentation=</code><code>null</code><code>}</code>
<code>{conditionText=${deptLeaderPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition</code><code>@2e2ec3c0</code><code>, name=同意, documentation=</code><code>null</code><code>}</code>
<code>{taskDefinition=org.activiti.engine.impl.task.TaskDefinition</code><code>@3589f0</code><code>, </code><code>default</code><code>=</code><code>null</code><code>, name=調整申請, documentation=</code><code>null</code><code>, type=userTask}</code>
<code>{taskDefinition=org.activiti.engine.impl.task.TaskDefinition</code><code>@3af2ebab</code><code>, </code><code>default</code><code>=</code><code>null</code><code>, name=人事審批, documentation=</code><code>null</code><code>, type=userTask}</code>
<code>{conditionText=${hrPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition</code><code>@224e45c9</code><code>, name=同意, documentation=</code><code>null</code><code>}</code>
<code>{conditionText=${!hrPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition</code><code>@40c7a0b7</code><code>, name=不同意, documentation=</code><code>null</code><code>}</code>
<code>{taskDefinition=org.activiti.engine.impl.task.TaskDefinition</code><code>@72086f9a</code><code>, </code><code>default</code><code>=</code><code>null</code><code>, name=銷假, documentation=</code><code>null</code><code>, type=userTask}</code>
<code>{conditionText=${reApply}, condition=org.activiti.engine.impl.el.UelExpressionCondition</code><code>@7d721f3</code><code>, name=重新申請, documentation=</code><code>null</code><code>}</code>
<code>{conditionText=${!reApply}, condition=org.activiti.engine.impl.el.UelExpressionCondition</code><code>@3cf5dc8a</code><code>, name=結束流程, documentation=</code><code>null</code><code>}</code>
<code>{name=Start, documentation=</code><code>null</code><code>, type=startEvent}</code>
<code>{name=End, documentation=</code><code>null</code><code>, type=endEvent}</code>
<code>本文轉自yunlielai51CTO部落格,原文連結:</code>http://blog.51cto.com/4925054/1354300,如需轉載請自行聯系原作者