[jboss-user] [JBoss jBPM] - Re: swimlane and taskinstances
antitrust1982
do-not-reply at jboss.com
Mon Sep 11 08:08:54 EDT 2006
hello,
I ask me a question. as I have a list of tasks (the new ones and the old ones) when I execute this lines:
Iterator itr1 = taskinstances.iterator();
| System.out.println("iterator ok");
| while(itr1.hasNext()) {
| System.out.println("creation taskinstance");
| taskinstance=(TaskInstance)itr1.next();
| // taskinstance = processInstance.getTaskMgmtInstance().createTaskInstance();
| taskinstance.isSignalling();
|
| if("ernie"==taskinstance.getActorId()){
| System.out.println("TASK ERNIE ARE:.ERNIE................:"+taskinstance.getName());
| }
|
| else if("bert"==taskinstance.getActorId()){
| System.out.println("task BERT ARE:.BERT....................:"+taskinstance.getName());
| }
| else{
|
| System.out.println("THE TASK ARE NOT ALLOWED TO YOUR USER .. the task is :"+taskinstance.getName()+" to the user "+taskinstance.getActorId());
| taskinstance.getSwimlaneInstance().setActorId("bert");
| System.out.println("Changement effectué.. the task is :"+taskinstance.getName()+" to the user "+taskinstance.getActorId());
| }
I think that perhaps I create a new swimlane each time.
So I will put my file code in order to see you if you see why I have the task already signal and the new one.
thank you for you help in advance
antitrust 1982
my code:
(this is a java file which is executed when I pass from a jsp to an another one)
package com.opensymphony.webwork.portlet.tutorial;
|
| import java.util.Collection;
| import java.util.Iterator;
| import java.util.Map;
| import java.util.Date;
| import java.util.Set;
|
| import org.jbpm.db.JbpmSession;
| import org.jbpm.db.JbpmSessionFactory;
| import org.jbpm.graph.exe.*;
| import org.jbpm.taskmgmt.def.*;
| import org.jbpm.graph.def.ProcessDefinition;
| import org.jbpm.graph.exe.ExecutionContext;
| import org.jbpm.graph.exe.ProcessInstance;
| import org.jbpm.graph.exe.Token;
| import org.jbpm.taskmgmt.exe.Assignable;
| import org.jbpm.taskmgmt.exe.PooledActor;
| import org.jbpm.taskmgmt.exe.SwimlaneInstance;
| import org.jbpm.taskmgmt.exe.TaskInstance;
| import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
| import org.jbpm.taskmgmt.log.SwimlaneLog;
|
| import javax.naming.InitialContext;
| import org.hibernate.SessionFactory;
| import com.opensymphony.xwork.ActionContext;
| import com.opensymphony.xwork.ActionSupport;
| import org.jbpm.*;
| import org.jbpm.identity.hibernate.IdentitySession;
| import javax.rmi.PortableRemoteObject;
|
|
| public class Renseignement extends ActionSupport{
|
|
| private String currentNode;
| private String date;
| private String societe;
| private String redacteur;
| private String tdemand;
| ExecutionContext ec=null;
| static JbpmConfiguration jbpmConfiguration = null;
| static ProcessDefinition processDefinition= null;
| JbpmContext jbpmContext=null;
| TaskInstance taskinstance=null;
| Token token=null;
|
| public void setCurrentNode(String currentNode) {
| System.out.println("set currentNode");
| this.currentNode = currentNode;
| }
|
| public String getCurrentNode() {
| System.out.println("get currentNode");
| return currentNode;
| }
|
| public void setDate(String date) {
|
| this.date = date;
| }
|
| public String getDate() {
|
| return date;
| }
|
| public void setSociete(String societe) {
|
| this.societe = societe;
| }
|
| public String getSociete() {
|
| return societe;
| }
|
| public void setRedacteur(String redacteur) {
|
| this.redacteur = redacteur;
| }
|
| public String getRedacteur() {
|
| return redacteur;
| }
|
| public void setTdemand(String tdemand) {
|
| this.tdemand = tdemand;
| }
|
| public String getTdemand() {
|
| return tdemand;
| }
|
|
| @Override
| public String execute() throws Exception {
| ProcessInstance processInstance = null;
| Map session = (Map) ActionContext.getContext().get("session");
| JbpmContext jbpmContext1= (JbpmContext) session.get("jbpmContext");
| processInstance=(ProcessInstance) session.get("process");
| System.out.println("actorid: "+jbpmContext1.getActorId());
| System.out.println("processdefiniton from session");
| ProcessDefinition pd = (ProcessDefinition)session.get("processDefiniton");
| System.out.println("ok");
|
|
| SwimlaneInstance si= (SwimlaneInstance)session.get("si");
| System.out.println( si.getName());
|
| System.out.println("avant la création du collection");
| System.out.println("NOM DU SWIMLANE : "+si.getName());
| Collection taskinstances = (Collection) si.getTaskMgmtInstance().getTaskInstances();
| System.out.println("ca fonctionne le MAP");
| Iterator itr1 = taskinstances.iterator();
| System.out.println("iterator ok");
| while(itr1.hasNext()) {
| System.out.println("creation taskinstance");
| taskinstance=(TaskInstance)itr1.next();
|
| taskinstance.isSignalling();
|
| if("ernie"==taskinstance.getActorId()){
| System.out.println("TASK ERNIE ARE:.ERNIE................:"+taskinstance.getName());
| }
|
| else if("bert"==taskinstance.getActorId()){
| System.out.println("task BERT ARE:.BERT....................:"+taskinstance.getName());
| }
| else{
|
| System.out.println("THE TASK ARE NOT ALLOWED TO YOUR USER .. the task is :"+taskinstance.getName()+" to the user "+taskinstance.getActorId());
| taskinstance.getSwimlaneInstance().setActorId("bert");
| System.out.println("Changement effectué.. the task is :"+taskinstance.getName()+" to the user "+taskinstance.getActorId());
| }
|
|
| }
|
| try{
| token = taskinstance.getToken();
| token.signal();
| token.signal();
| }
| finally{
|
| }
| System.out.println("############## save token good#######");
| // jbpmContext.save(processInstance);
| System.out.println("############## save process good#######");
| System.out.println("USER .........................."+jbpmContext1.getActorId());
| this.setCurrentNode(currentNode);
| Date date1 = new Date();
| this.setDate(date1.toGMTString());
| //session.put("tdemand",this.getTdemand());
| //session.put("societe",this.getSociete());
| //session.put("date",this.getDate());
| //session.put("redateur", this.getRedacteur());
| // session.put("processName",nameProcess);
| //session.put("processDefiniton",processDefinition);
| session.put("ec",ec);
| session.put("si",si);
| session.put("process",processInstance);
| //session.put("jbpmContext",jbpmContext);
| return SUCCESS;
| }
| }
|
It appear in my console these lines:
anonymous wrote :
| actorid: ernie
| processdefiniton from session
| ok
| FONCIA
| avant la cr?®ation du collection
| NOM DU SWIMLANE : FONCIA
| ca fonctionne le MAP
| iterator ok
| creation taskinstance
| task BERT ARE:.BERT....................:DeclarationSinistre
| creation taskinstance
| task BERT ARE:.BERT....................:ControlePrime
| creation taskinstance
| TASK ERNIE ARE:.ERNIE................:start
| creation taskinstance
| TASK ERNIE ARE:.ERNIE................:EnregistrementSinistre
| ############## save token good#######
| ############## save process good#######
| USER ..........................ernie
| set currentNode
| #### execute
| firstNAmle : null
| get currentNode
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970719#3970719
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970719
More information about the jboss-user
mailing list