[jboss-user] [JBoss jBPM] - Re: Does JBPM Supports fully actor based taskList

csplrj do-not-reply at jboss.com
Thu Jun 5 07:57:46 EDT 2008


The files as per below

Thanks in advance

CSJakharia

processdefinition.xml 
<?xml version="1.0" encoding="UTF-8"?>
  | 
  | <process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="authoring">
  | 	<start-state name="start-state1">
  | 		<task>
  | 		</task>
  | 		<transition to="task1"></transition>
  | 	</start-state>
  | 
  | 
  | 	<task-node name="task1">
  | 		<description>
  | 			task1
  | 		</description>
  | 		<task>
  | 			<assignment class="com.workflow.AssignTask"></assignment>
  | 		</task>
  | 		<transition to="task2"></transition>
  | 	</task-node>
  | 
  | 	<task-node name="task2">
  | 		<description>
  | 			task2
  | 		</description>
  | 		<task>
  | 			<assignment class="com.workflow.AssignTask1"></assignment>
  | 		</task>
  | 		<transition to="end"></transition>
  | 	</task-node>
  | 
  | 	<node name="end">
  | 		<action class="com.workflow.HandleAction"> </action>
  | 		<transition to="end-state1"></transition>
  | 	</node>
  | 
  | 
  | 	<end-state name="end-state1">
  | 		
  | 	</end-state>
  | 
  | 
  | </process-definition>	


AssignTask.java 
public class AssignTask implements AssignmentHandler {
  | 
  | 	public void assign(Assignable assignable, ExecutionContext executionContext)
  | 			throws Exception {
  | 		// TODO Auto-generated method stub
  | 		assignable.setActorId("b");
  | 	}
  | 
  | }	

AssignTask1.java 
public class AssignTask1 implements AssignmentHandler {
  | 
  | 	public void assign(Assignable assignable, ExecutionContext executionContext)
  | 			throws Exception {
  | 		// TODO Auto-generated method stub
  | 		assignable.setActorId("a");
  | 	}
  | 
  | }	



Test.java

  | import java.io.FileInputStream;
  | import java.io.FileNotFoundException;
  | import java.util.Set;
  | 
  | import org.jbpm.JbpmConfiguration;
  | import org.jbpm.JbpmContext;
  | import org.jbpm.db.GraphSession;
  | import org.jbpm.db.TaskMgmtSession;
  | import org.jbpm.graph.def.ProcessDefinition;
  | import org.jbpm.graph.exe.ProcessInstance;
  | import org.jbpm.graph.exe.Token;
  | import org.jbpm.taskmgmt.exe.PooledActor;
  | import org.jbpm.taskmgmt.exe.TaskInstance;
  | 
  | public class Test {
  | 	 static JbpmConfiguration jbpmConfiguration = null; 
  | 
  | 	 public static void deployProcessDefinition()
  | 	 {
  | 		try {
  | 			ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(new FileInputStream("D:\\Cobra\\workspace\\WorkFlowAuthoringPOC\\src\\main\\jpdl\\authoring\\processdefinition.xml"));
  | 			JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  | 			jbpmContext.deployProcessDefinition(processDefinition);
  | 			jbpmContext.close();
  | 		} catch (FileNotFoundException e) {
  | 			// TODO Auto-generated catch block
  | 			e.printStackTrace();
  | 		}
  | 	 }
  | 	 
  | 	/**
  | 	 * @param args
  | 	 */
  | 	public static void main(String[] args) {
  | 		// TODO Auto-generated method stub
  | 		try {
  | 			jbpmConfiguration = JbpmConfiguration.parseInputStream(new FileInputStream("D:\\Cobra\\workspace\\WorkFlowAuthoringPOC\\src\\main\\config\\jbpm.cfg.xml"));
  | 			jbpmConfiguration.createSchema();
  | 			deployProcessDefinition();
  | 			JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  | 			System.out.println("jbpmContext.getActorId() "+jbpmContext.getActorId());
  | 			GraphSession graphSession = jbpmContext.getGraphSession();
  | 		      ProcessDefinition processDefinition = 
  | 		          graphSession.findLatestProcessDefinition("authoring");
  | 			ProcessInstance processInstance = new ProcessInstance(processDefinition);
  | 			Token token=processInstance.getRootToken();
  | 			  // Let's start the process execution, leaving the start-state 
  | 			  // over its default transition.
  | 			  token.signal();
  | 			  TaskInstance taskInstance = (TaskInstance)  
  | 		      processInstance
  | 		        .getTaskMgmtInstance()
  | 		        .getTaskInstances()
  | 		        .iterator().next();
  | 			  
  | 			  System.out.println("size "+processInstance.getTaskMgmtInstance().getTaskInstances().size());
  | 			  System.out.println("taskInstance.getActorId() " +taskInstance.getActorId());
  | 			  System.out.println("taskInstance.getPooledActors() " +taskInstance.getPooledActors());
  | 			  TaskMgmtSession taskMgmtSession= jbpmContext.getTaskMgmtSession();
  | 			  System.out.println(taskMgmtSession.findPooledTaskInstances("a").size());
  | 			  System.out.println(taskMgmtSession.findPooledTaskInstances("b").size());
  | 			  ((TaskInstance)taskMgmtSession.findTaskInstances("b").get(0)).getToken().signal();
  | 			  System.out.println("a1 "+ ((TaskInstance)taskMgmtSession.findTaskInstances("a").get(0)).getToken().getNode().getName());
  | 			  System.out.println("b1 "+ ((TaskInstance)taskMgmtSession.findTaskInstances("b").get(0)).getToken().getNode().getName());
  | 			  System.out.println("a1 "+ taskMgmtSession.findTaskInstances("a").size());
  | 			  System.out.println("b1 "+ taskMgmtSession.findTaskInstances("b").size());
  | 			  System.out.println("c1 "+ taskMgmtSession.findTaskInstances("c").size());
  | 			  
  | 		} catch (FileNotFoundException e) {
  | 			// TODO Auto-generated catch block
  | 			e.printStackTrace();
  | 		}
  | 	}
  | 
  | }
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4155943#4155943

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4155943



More information about the jboss-user mailing list