ALF-10084, ALF-10242. Fixed issues and added WorkflowService methods to get workflow instances without filtering by definition id.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30699 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
N Smith
2011-09-22 11:16:20 +00:00
parent 06ee08dd3b
commit a63ceee9ee
2 changed files with 12 additions and 32 deletions

View File

@@ -948,6 +948,9 @@ public abstract class AbstractWorkflowRestApiTest extends BaseWebScriptTest
public void testWorkflowInstancesGet() throws Exception
{
// Should work even with definitions hidden.
wfTestHelper.setVisible(false);
//Start workflow as USER1 and assign task to USER2.
personManager.setUser(USER1);
WorkflowDefinition adhocDef = workflowService.getDefinitionByName(getAdhocWorkflowDefinitionName());

View File

@@ -30,7 +30,6 @@ import javax.servlet.http.HttpServletResponse;
import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
import org.alfresco.service.cmr.workflow.WorkflowInstance;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.Status;
@@ -95,42 +94,20 @@ public class WorkflowInstancesGet extends AbstractWorkflowWebscript
workflowDefinitionId = req.getParameter(PARAM_DEFINITION_ID);
}
// default workflow state to ACTIVE if not supplied
List<WorkflowInstance> workflows;
// list workflows for specified workflow definition
if(state == null)
{
state = WorkflowState.ACTIVE;
workflows = workflowService.getWorkflows(workflowDefinitionId);
}
List<WorkflowInstance> workflows = new ArrayList<WorkflowInstance>();
if (workflowDefinitionId != null)
else if (state == WorkflowState.ACTIVE)
{
// list workflows for specified workflow definition
if (state == WorkflowState.ACTIVE)
{
workflows.addAll(workflowService.getActiveWorkflows(workflowDefinitionId));
workflows = workflowService.getActiveWorkflows(workflowDefinitionId);
}
else
{
workflows.addAll(workflowService.getCompletedWorkflows(workflowDefinitionId));
}
}
else
{
List<WorkflowDefinition> workflowDefinitions = workflowService.getAllDefinitions();
// list workflows for all definitions
for (WorkflowDefinition workflowDefinition : workflowDefinitions)
{
if (state == WorkflowState.ACTIVE)
{
workflows.addAll(workflowService.getActiveWorkflows(workflowDefinition.getId()));
}
else
{
workflows.addAll(workflowService.getCompletedWorkflows(workflowDefinition.getId()));
}
}
workflows = workflowService.getCompletedWorkflows(workflowDefinitionId);
}
// sort workflows by due date