BPM Engine:

- Implement getTaskById

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3497 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2006-08-14 15:12:59 +00:00
parent 8246e38dcd
commit 5e0163001f
2 changed files with 35 additions and 3 deletions

View File

@@ -749,10 +749,25 @@ public class JBPMEngine extends BPMEngine
/* (non-Javadoc)
* @see org.alfresco.repo.workflow.TaskComponent#getTaskById(java.lang.String)
*/
public WorkflowTask getTaskById(String taskId)
public WorkflowTask getTaskById(final String taskId)
{
// TODO Auto-generated method stub
return null;
try
{
return (WorkflowTask) jbpmTemplate.execute(new JbpmCallback()
{
public Object doInJbpm(JbpmContext context)
{
// retrieve task
TaskMgmtSession taskSession = context.getTaskMgmtSession();
TaskInstance taskInstance = taskSession.loadTaskInstance(getJbpmId(taskId));
return createWorkflowTask(taskInstance);
}
});
}
catch(JbpmException e)
{
throw new WorkflowException("Failed to retrieve task '" + taskId + "'", e);
}
}

View File

@@ -345,6 +345,23 @@ public class JBPMEngineTest extends BaseSpringTest
assertEquals(WorkflowTaskState.COMPLETED, updatedTask.state);
}
public void testGetTask()
{
WorkflowDefinition workflowDef = getTestDefinition();
Map<QName, Serializable> parameters = new HashMap<QName, Serializable>();
parameters.put(QName.createQName(NamespaceService.DEFAULT_URI, "reviewer"), "admin");
parameters.put(QName.createQName(NamespaceService.DEFAULT_URI, "testNode"), testNodeRef);
WorkflowPath path = workflowComponent.startWorkflow(workflowDef.id, parameters);
assertNotNull(path);
assertNotNull(path);
List<WorkflowTask> tasks1 = workflowComponent.getTasksForWorkflowPath(path.id);
assertNotNull(tasks1);
assertEquals(1, tasks1.size());
WorkflowTask getTask = taskComponent.getTaskById(tasks1.get(0).id);
assertNotNull(getTask);
assertEquals(getTask.name, tasks1.get(0).name);
}
public void testNodeRef()
{