[jboss-user] [JBoss jBPM] - Re: JBPM TaskCreation at RunTime

abbasshah do-not-reply at jboss.com
Tue Jul 18 13:37:15 EDT 2006


Here is the code in detial

anonymous wrote : < process-definition xmlns='' name='TestProcess'> 
  | < start-state name='start'> 
  | < transition name='' to='setup'>< /transition> 
  | < /start-state> 
  | < node name='setup'> 
  | < action class='com.sample.SetupProcessActionHandler'/> 
  | < transition name='' to='Test_Node'>< /transition> 
  | < /node> 
  | < task-node name='A' signal='never' create-tasks='false'> 
  | < event type='node-enter'> 
  | < action class='com.sample.testTask.OnNodeEnter'/> 
  | < /event> 
  | < task name='TASK_A1'> 
  | < event type='task-create'> 
  | < action class='com.sample.testTask.OnTaskCreation'/> 
  | < /event> 
  | < event type='task-end'> 
  | < action class='com.sample.testTask.OnComplete'/> 
  | < /event> 
  | < /task> 
  | < task name='TASK_A2'> 
  | < event type='task-create'> 
  | < action class='com.sample.testTask.OnTaskCreation'/> 
  | < /event> 
  | < event type='task-end'> 
  | < action class='com.sample.testTask.OnComplete'/> 
  | < /event> 
  | < /task> 
  | < transition name='on_update_msg' to='Test_Node2'>< /transition> 
  | < /task-node> 
  | 
  | < task-node name='B' signal='never' create-tasks='false'> 
  | < event type='node-enter'> 
  | < action class='com.sample.testTask.OnNodeEnter2'/> 
  | < /event> 
  | 
  | < task name='TASK_B1'> 
  | < event type='task-create'> 
  | < action class='com.sample.testTask.OnTaskCreation'/> 
  | < /event> 
  | < event type='task-end'> 
  | < action class='com.sample.testTask.OnComplete'/> 
  | < /event> 
  | < /task> 
  | < transition name='' to='end'>< /transition> 
  | < /task-node> 
  | 
  | < node name='loopback'> 
  | < transition name='' to='Test_Node'>< /transition> 
  | < /node> 
  | 
  | < end-state name='end'>< /end-state> 
  | 
  | < /process-definition> 
  | < code> 


anonymous wrote : TASKNODE A  Task creation handler 
  | public class OnNodeEnter implements ActionHandler {
  |     
  |     private final static Log log = LogFactory.getLog( OnNodeEnter.class );   
  |     
  |     public void execute(ExecutionContext executionContext) throws Exception {
  |         
  |         System.out.println("OnCreation-->- Start");
  |         
  |         Token token = executionContext.getToken();
  |         TaskMgmtInstance tmi = executionContext.getTaskMgmtInstance();
  |         TaskNode taskNode = (TaskNode) executionContext.getNode();
  |         
  |       
  |         Task doRecalc = taskNode.getTask("TASK_A1");
  |         tmi.createTaskInstance(doRecalc, token);
  | 
  |         Task doRecalc3 = taskNode.getTask("TASK_A2");
  |         tmi.createTaskInstance(doRecalc3, token);
  | 
  |         System.out.println("OnCreation-->- END");
  |         
  |     }
  |     
  | }


anonymous wrote : anonymous wrote : TASKNODE B  Task creation handler 
  |   | 
  |   | public class OnNodeEnter2 implements ActionHandler {
  |   |     
  |   |     private final static Log log = LogFactory.getLog( OnNodeEnter2.class );   
  |   |     
  |   |     public void execute(ExecutionContext executionContext) throws Exception {
  |   |         
  |   |         System.out.println("OnCreation-->- Start");
  |   |         
  |   |         Token token = executionContext.getToken();
  |   |         TaskMgmtInstance tmi = executionContext.getTaskMgmtInstance();
  |   |         TaskNode taskNode = (TaskNode) executionContext.getNode();
  |   |         
  |   |       
  |   |         Task doRecalc = taskNode.getTask("TASK_B1");
  |   |         tmi.createTaskInstance(doRecalc, token);
  |   | 
  |   |      System.out.println("OnCreation-->- END");
  |   |         
  |   |     }
  |   |     
  |   | }
  | 
  | 
  | anonymous wrote : ActionHandler on task-create event on all tasks 
  |   | public class OnTaskCreation implements ActionHandler {
  |   |     
  |   | 	
  |   | 	public void execute(ExecutionContext executionContext) throws Exception {
  |   | 		System.out.println("-->  TaskInstacne Id ="+executionContext.getTaskInstance().getName());
  |   | 		  System.out.println("-->  TaskInstacne Id ="+executionContext.getTaskInstance().getId());
  |   |     }
  |   | }
  | 
  | In case of TASK_A1 and TASK_A,   OnTaskCreation  prints proper Ids
  | 
  | But In case of TASK_B1, OnTaskCreation  prints 0 
  | 
  | 
  | 
  | 
  | 

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

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



More information about the jboss-user mailing list