Hello, I have created a jbpm portlet. For now I have use this code in order to do working the swimlane assigment:
package com.opensymphony.webwork.portlet.tutorial; | | import java.util.*; | | | import org.jbpm.graph.def.ProcessDefinition; | import org.jbpm.graph.exe.ExecutionContext; | import org.jbpm.graph.exe.ProcessInstance; | import org.jbpm.db.*; | import org.jbpm.graph.exe.Token; | import org.jbpm.taskmgmt.exe.*; | import org.jbpm.taskmgmt.log.SwimlaneAssignLog; | import org.jbpm.taskmgmt.log.SwimlaneCreateLog; | import org.jbpm.taskmgmt.log.SwimlaneLog; | import org.jbpm.taskmgmt.log.TaskAssignLog; | import org.jbpm.graph.exe.*; | import org.jbpm.graph.log.TokenCreateLog; | | import com.opensymphony.xwork.ActionContext; | import com.opensymphony.xwork.ActionSupport; | import org.jbpm.*; | | import org.jbpm.taskmgmt.def.*; | | import org.jbpm.ant.StartHsqldbTask; | import org.jbpm.context.log.*; | | import java.util.Iterator; | | public class CreateProcessInstanceAction extends ActionSupport{ | | TaskInstance taskinstance=null; | static JbpmConfiguration jbpmConfiguration = null; | static ProcessDefinition processDefinition= null; | Date date; | | JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext(); | GraphSession graphSession = jbpmContext.getGraphSession(); | SwimlaneInstance si =null; | ExecutionContext ec=null; | private long processus; | | public long getProcessus() { | return processus; | } | public void setProcessus(long processus) { | System.out.println("set process"); | this.processus = processus; | } | | | @Override | public String execute() throws Exception { | Map session1 = (Map) ActionContext.getContext().get("session"); | String login=(String) session1.get("login"); | System.out.println("mon login:"+login); | Collection processdefinstances= graphSession.findAllProcessDefinitions(); | Iterator itpro = processdefinstances.iterator(); | while (itpro.hasNext()){ | ProcessDefinition processdef =(ProcessDefinition) itpro.next(); | if(processus == processdef.getId()){ | ProcessInstance processinstance= processdef.createProcessInstance(); | jbpmContext.save(processinstance); | jbpmContext.loadProcessInstanceForUpdate(processinstance.getId()); | | | Map swimlanes = processdef.getTaskMgmtDefinition().getSwimlanes(); | Iterator itr = swimlanes.keySet().iterator(); | while(itr.hasNext()) { | Swimlane swimlane = (Swimlane)swimlanes.get(itr.next()); | swimlane.setPooledActorsExpression(login); | ec= new ExecutionContext(processinstance.getRootToken()); | SwimlaneInstance swi = processinstance.getTaskMgmtInstance().getInitializedSwimlaneInstance(ec, swimlane); | | /*if(swi.getName().equals("Assurimo")){ | swi.setActorId("bert"); | }*/ | | Set pooledActors = swi.getPooledActors(); | if(pooledActors != null) { | Iterator paItr = pooledActors.iterator(); | while(paItr.hasNext()) { | ((PooledActor)paItr.next() ).setSwimlaneInstance(swi); | } | } | | } | | if (processdef.getTaskMgmtDefinition().getStartTask() != null) { | | org.jbpm.taskmgmt.def.Task task = processdef.getTaskMgmtDefinition().getStartTask(); | String swimlaneName = task.getSwimlane().getName(); | SwimlaneInstance swi = processinstance.getTaskMgmtInstance().getSwimlaneInstance(swimlaneName); | String originalActorId = swi.getActorId(); | Set originalPooledActors = swi.getPooledActors(); | System.out.println("taskinstance"); | TaskInstance startTask = processinstance.getTaskMgmtInstance().createStartTaskInstance(); | startTask.setActorId(login); | startTask.setDueDate(date); | | if(startTask.getSwimlaneInstance() != null) { | si = startTask.getSwimlaneInstance(); | startTask.getSwimlaneInstance().setActorId(login); | | if (startTask.getSwimlaneInstance().getPooledActors() != null) { | | } | } | | } | else { | } | | jbpmContext.save(processinstance); | jbpmContext.close(); | } | } | | return SUCCESS; | } | } Now I want create automatically my swimlane for processes, but how create a swimlane from the process definition. thank you for your help antitrust1982 View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3976509#3976509 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3976509 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user