[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