根据流程定义获取某个节点的变量名
成長中的丫頭
2012-07-10
<task assignee="#{checker}" name="verify" g="190,70,50,30"> <transition name="通过" to="review" /> </task> <task assignee="#{reviewer}" name="review" g="280,70,50,30"> <transition name="通过" to="end" /> <transition name="未通过" to="start" /> </task> 部分流程定义如上,想问下是否可以根据流程定义获取某个节点的变量名? |
|
成長中的丫頭
2012-07-13
变量名怎么确定是哪个节点的呢?
|
|
boav911
2012-07-31
可以,通过ProcessDefinitionImpl就可以获取流程定义文件中的所有信息
|
|
成長中的丫頭
2012-08-01
boav911 写道 可以,通过ProcessDefinitionImpl就可以获取流程定义文件中的所有信息
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery() .processDefinitionKey(proDefKey).orderDesc( ProcessDefinitionQuery.PROPERTY_VERSION).page(0, 1) .uniqueResult(); System.out.println("pd"+pd); ProcessDefinitionImpl pdi=(ProcessDefinitionImpl )pd; System.out.println("pdo"+pdi.getName()); List<VariableDefinitionImpl> vdiList=pdi.getVariableDefinitions(); System.out.println("vdiList.size()"+vdiList.size()); for(VariableDefinitionImpl vdi:vdiList){ System.out.println("CIWFServerImpl.getTaskVariableMap()"); System.out.println("vdi.getName()"+vdi.getName()); System.out.println("vdi.getTypeName()"+vdi.getTypeName()); } vdiList.size()为0,有什么地方不妥吗?谢谢哦 |
|
boav911
2012-08-01
发一下你的流程定义文件,我看看
|
|
成長中的丫頭
2012-08-01
boav911 写道 发一下你的流程定义文件,我看看
<?xml version="1.0" encoding="UTF-8"?> <process name="dispatch" xmlns="http://jbpm.org/4.4/jpdl"> <start name="开始" g="20,70,40,40"> <on event="end"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpEndListener" /> </on> <transition to="拟票" /> </start> <task candidate-users="#{drafter}" name="拟票" g="100,70,50,30"> <on event="start"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpListener" /> </on> <on event="end"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpEndListener" /> </on> <transition to="审票" /> </task> <task candidate-users="#{checker}" name="审票" g="190,70,50,30"> <on event="start"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpListener" /> </on> <transition name="同意" to="复审" /> <transition name="拒绝" to="拟票" /> </task> <task candidate-users="#{reviewer}" name="复审" g="280,70,50,30"> <on event="start"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpListener" /> </on> <transition name="同意" to="下预令" /> <transition name="拒绝" to="拟票" /> </task> <task candidate-users="#{preOrder}" name="下预令" g="360,60,80,40"> <on event="start"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpListener" /> </on> <transition to="决策" /> </task> <task candidate-users="#{deciders}" name="决策" g="470,70,50,30"> <on event="start"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpListener" /> </on> <transition name="同意" to="下正令" /> <transition name="拒绝" to="预令回收" /> </task> <task candidate-users="#{order}" name="下正令" g="550,70,50,30"> <on event="start"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpListener" /> </on> <transition to="结束" /> </task> <end name="结束" g="560,130,40,40" /> <task candidate-users="#{recycler}" name="预令回收" g="272,137,80,40"> <on event="start"> <event-listener class="com.ies.optsd.workflow.eventListener.dispatch.DrawUpListener" /> </on> <transition to="拟票" /> </task> </process> |
|
成長中的丫頭
2012-08-01
getVariableDefinitions()方法难道只能查到createVariableDefinitions()方法设置的变量吗?
|
|
boav911
2012-08-01
你现在想获取流程定义文件中的哪个值?
|
|
成長中的丫頭
2012-08-02
boav911 写道 你现在想获取流程定义文件中的哪个值?
每个节点的名字跟这个节点中变量名的对应关系啊。比如给出拟票这个节点名称我可以知道是drafter这个变量 |
|
boav911
2012-08-02
节点名称kkka
|