mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged BRANCHES/DEV/BELARUS/HEAD_2010_08_04 to HEAD:
21592 & 21649: Workflow REST APIs for retrieving workflow instance collections Includes: ALF-3900: F62 REST API to get all workflow instances ALF-3901: F64 REST API to get all workflow instances of a particular workflow definition ALF-3905: F65 REST API to get a filtered list of workflow instances of a particular workflow definition (by initiator, state, date, priority) ALF-3906: F63 REST API to get a filtered list of workflow instances (by initiator, status, date, priority) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21671 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -151,13 +151,29 @@ public interface WorkflowComponent
|
|||||||
public WorkflowPath startWorkflow(String workflowDefinitionId, Map<QName, Serializable> parameters);
|
public WorkflowPath startWorkflow(String workflowDefinitionId, Map<QName, Serializable> parameters);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all "in-flight" workflow instances of the specified Workflow Definition
|
* Gets all "in-flight" active workflow instances of the specified Workflow Definition
|
||||||
*
|
*
|
||||||
* @param workflowDefinitionId the workflow definition id
|
* @param workflowDefinitionId the workflow definition id
|
||||||
* @return the list of "in-flight" workflow instances
|
* @return the list of "in-flight" workflow instances
|
||||||
*/
|
*/
|
||||||
public List<WorkflowInstance> getActiveWorkflows(String workflowDefinitionId);
|
public List<WorkflowInstance> getActiveWorkflows(String workflowDefinitionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all "in-flight" completed workflow instances of the specified Workflow Definition
|
||||||
|
*
|
||||||
|
* @param workflowDefinitionId the workflow definition id
|
||||||
|
* @return the list of "in-flight" workflow instances
|
||||||
|
*/
|
||||||
|
public List<WorkflowInstance> getCompletedWorkflows(String workflowDefinitionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all "in-flight" workflow instances (both active and completed) of the specified Workflow Definition
|
||||||
|
*
|
||||||
|
* @param workflowDefinitionId the workflow definition id
|
||||||
|
* @return the list of "in-flight" workflow instances
|
||||||
|
*/
|
||||||
|
public List<WorkflowInstance> getWorkflows(String workflowDefinitionId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a specific workflow instances
|
* Gets a specific workflow instances
|
||||||
*
|
*
|
||||||
|
@@ -381,6 +381,32 @@ public class WorkflowServiceImpl implements WorkflowService
|
|||||||
return component.getActiveWorkflows(workflowDefinitionId);
|
return component.getActiveWorkflows(workflowDefinitionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
* @see
|
||||||
|
* org.alfresco.service.cmr.workflow.WorkflowService#getCompletedWorkflows(
|
||||||
|
* java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<WorkflowInstance> getCompletedWorkflows(String workflowDefinitionId)
|
||||||
|
{
|
||||||
|
String engineId = BPMEngineRegistry.getEngineId(workflowDefinitionId);
|
||||||
|
WorkflowComponent component = getWorkflowComponent(engineId);
|
||||||
|
return component.getCompletedWorkflows(workflowDefinitionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
* @see
|
||||||
|
* org.alfresco.service.cmr.workflow.WorkflowService#getWorkflows(
|
||||||
|
* java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<WorkflowInstance> getWorkflows(String workflowDefinitionId)
|
||||||
|
{
|
||||||
|
String engineId = BPMEngineRegistry.getEngineId(workflowDefinitionId);
|
||||||
|
WorkflowComponent component = getWorkflowComponent(engineId);
|
||||||
|
return component.getWorkflows(workflowDefinitionId);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
* @see
|
* @see
|
||||||
|
@@ -782,6 +782,28 @@ public class JBPMEngine extends BPMEngine
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<WorkflowInstance> getActiveWorkflows(final String workflowDefinitionId)
|
public List<WorkflowInstance> getActiveWorkflows(final String workflowDefinitionId)
|
||||||
|
{
|
||||||
|
return getWorkflowsInternal(workflowDefinitionId, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.repo.workflow.WorkflowComponent#getCompletedWorkflows(java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<WorkflowInstance> getCompletedWorkflows(final String workflowDefinitionId)
|
||||||
|
{
|
||||||
|
return getWorkflowsInternal(workflowDefinitionId, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.repo.workflow.WorkflowComponent#getWorkflows(java.lang.String)
|
||||||
|
*/
|
||||||
|
public List<WorkflowInstance> getWorkflows(final String workflowDefinitionId)
|
||||||
|
{
|
||||||
|
return getWorkflowsInternal(workflowDefinitionId, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
private List<WorkflowInstance> getWorkflowsInternal(final String workflowDefinitionId, final Boolean active)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -794,7 +816,7 @@ public class JBPMEngine extends BPMEngine
|
|||||||
List<WorkflowInstance> workflowInstances = new ArrayList<WorkflowInstance>(processInstances.size());
|
List<WorkflowInstance> workflowInstances = new ArrayList<WorkflowInstance>(processInstances.size());
|
||||||
for (ProcessInstance processInstance : processInstances)
|
for (ProcessInstance processInstance : processInstances)
|
||||||
{
|
{
|
||||||
if (!processInstance.hasEnded())
|
if ((active == null) || (!active && processInstance.hasEnded()) || (active && !processInstance.hasEnded()))
|
||||||
{
|
{
|
||||||
WorkflowInstance workflowInstance = createWorkflowInstance(processInstance);
|
WorkflowInstance workflowInstance = createWorkflowInstance(processInstance);
|
||||||
workflowInstances.add(workflowInstance);
|
workflowInstances.add(workflowInstance);
|
||||||
|
@@ -194,7 +194,7 @@ public interface WorkflowService
|
|||||||
public WorkflowPath startWorkflowFromTemplate(NodeRef templateDefinition);
|
public WorkflowPath startWorkflowFromTemplate(NodeRef templateDefinition);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all "in-flight" workflow instances of the specified Workflow Definition
|
* Gets all "in-flight" active workflow instances of the specified Workflow Definition
|
||||||
*
|
*
|
||||||
* @param workflowDefinitionId the workflow definition id
|
* @param workflowDefinitionId the workflow definition id
|
||||||
* @return the list of "in-flight" workflow instances
|
* @return the list of "in-flight" workflow instances
|
||||||
@@ -202,6 +202,24 @@ public interface WorkflowService
|
|||||||
@Auditable(parameters = {"workflowDefinitionId"})
|
@Auditable(parameters = {"workflowDefinitionId"})
|
||||||
public List<WorkflowInstance> getActiveWorkflows(String workflowDefinitionId);
|
public List<WorkflowInstance> getActiveWorkflows(String workflowDefinitionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all "in-flight" completed workflow instances of the specified Workflow Definition
|
||||||
|
*
|
||||||
|
* @param workflowDefinitionId the workflow definition id
|
||||||
|
* @return the list of "in-flight" workflow instances
|
||||||
|
*/
|
||||||
|
@Auditable(parameters = {"workflowDefinitionId"})
|
||||||
|
public List<WorkflowInstance> getCompletedWorkflows(String workflowDefinitionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all "in-flight" workflow instances (both active and completed) of the specified Workflow Definition
|
||||||
|
*
|
||||||
|
* @param workflowDefinitionId the workflow definition id
|
||||||
|
* @return the list of "in-flight" workflow instances
|
||||||
|
*/
|
||||||
|
@Auditable(parameters = {"workflowDefinitionId"})
|
||||||
|
public List<WorkflowInstance> getWorkflows(String workflowDefinitionId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a specific workflow instances
|
* Gets a specific workflow instances
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user