diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java b/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java index d7f7546b6f..bda56c5233 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/AbstractWorkflowRestApiTest.java @@ -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()); diff --git a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowInstancesGet.java b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowInstancesGet.java index e83892889b..7845b40acf 100644 --- a/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowInstancesGet.java +++ b/source/java/org/alfresco/repo/web/scripts/workflow/WorkflowInstancesGet.java @@ -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; @@ -94,43 +93,21 @@ public class WorkflowInstancesGet extends AbstractWorkflowWebscript { workflowDefinitionId = req.getParameter(PARAM_DEFINITION_ID); } - - // default workflow state to ACTIVE if not supplied - if (state == null) + + List workflows; + + // list workflows for specified workflow definition + if(state == null) { - state = WorkflowState.ACTIVE; + workflows = workflowService.getWorkflows(workflowDefinitionId); } - - List workflows = new ArrayList(); - - if (workflowDefinitionId != null) + else if (state == WorkflowState.ACTIVE) { - // list workflows for specified workflow definition - if (state == WorkflowState.ACTIVE) - { - workflows.addAll(workflowService.getActiveWorkflows(workflowDefinitionId)); - } - else - { - workflows.addAll(workflowService.getCompletedWorkflows(workflowDefinitionId)); - } + workflows = workflowService.getActiveWorkflows(workflowDefinitionId); } else { - List 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