package org.jboss.seam.bpm; import static org.jboss.seam.annotations.Install.BUILT_IN; import java.util.ArrayList; import java.util.List; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Install; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; import org.jboss.seam.annotations.Transactional; import org.jboss.seam.annotations.Unwrap; import org.jbpm.taskmgmt.exe.TaskInstance; /** * Support for the pooled task list. * * @see TaskInstanceList * @author Gavin King */ @Name("org.jboss.seam.bpm.pooledTaskInstanceList") @Scope(ScopeType.APPLICATION) @Install(precedence=BUILT_IN, dependencies="org.jboss.seam.bpm.jbpm") public class PooledTaskInstanceList { @Unwrap @Transactional public List<TaskInstance> getPooledTaskInstanceList() { Actor actor = Actor.instance(); String actorId = actor.getId(); if ( actorId == null ) return null; ArrayList groupIds = new ArrayList( actor.getGroupActorIds() ); groupIds.add(actorId); return ManagedJbpmContext.instance().getGroupTaskList(groupIds); } }