[jboss-user] [JBoss Seam] - Re: Seam jBPM: use annotation or pages.xml to get next task?
bsmithjj
do-not-reply at jboss.com
Tue Mar 20 19:23:47 EDT 2007
In our application, a user may create a 1-N entities we call AccessRequests. In the SFSB method which is invoked by the user on submit, we create a loop to create each AccessRequest and create a ProcessInstance with that AccessRequest's id as a process variable. In this particular use case, we signal up to the 'provisioning' state previously described. Here is the code that creates the N ProcessInstances (inside the braces of a for loop):
| // Load the JBPM context
| JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
| JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
| // Create new process, associate with this access request and save
| ProcessInstance process = jbpmContext.newProcessInstance("NewAccessRequest");
| process.getContextInstance().setVariable("accessRequestId", accessRequest.getId());
| Contexts.getEventContext().set(
| "accessRequest",
| accessRequest
| );
| Token token = process.getRootToken();
| token.signal(); // move to <task-node name="User Manager Approve-Reject Request">
| and flushed).");
|
|
| Collection<TaskInstance> tasks = (Collection<TaskInstance>) process.getTaskMgmtInstance().getTaskInstances();
|
| // Thd jBPM API sucks (3.1.4) - this is the only way I can find of ending the current task
| // along the 'approve' transition
| for (TaskInstance task : tasks) {
| if ("Approve/Reject".equals(task.getName())) {
| task.end("approve");
| break;
| }
| }
|
| jbpmContext.close();
|
|
thanks
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4030046#4030046
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4030046
More information about the jboss-user
mailing list