根据流程定义获取某个节点的变量名

成長中的丫頭 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
Global site tag (gtag.js) - Google Analytics