aboutsummaryrefslogtreecommitdiffstats
path: root/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java')
-rw-r--r--workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java
index e16c7b41..a8998cce 100644
--- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java
+++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowManagerImpl.java
@@ -27,8 +27,6 @@ import java.util.List;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Collectors;
-import org.onap.sdc.workflow.services.types.Workflow;
-import org.onap.sdc.workflow.services.types.WorkflowVersionState;
import org.onap.sdc.workflow.services.UniqueValueService;
import org.onap.sdc.workflow.services.WorkflowManager;
import org.onap.sdc.workflow.services.exceptions.EntityNotFoundException;
@@ -39,6 +37,8 @@ import org.onap.sdc.workflow.services.types.PagingRequest;
import org.onap.sdc.workflow.services.types.RequestSpec;
import org.onap.sdc.workflow.services.types.Sort;
import org.onap.sdc.workflow.services.types.SortingRequest;
+import org.onap.sdc.workflow.services.types.Workflow;
+import org.onap.sdc.workflow.services.types.WorkflowVersionState;
import org.openecomp.sdc.logging.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
import org.openecomp.sdc.versioning.ItemManager;
@@ -78,7 +78,8 @@ public class WorkflowManagerImpl implements WorkflowManager {
}
@Override
- public Page<Workflow> list(Set<WorkflowVersionState> versionStatesFilter, RequestSpec requestSpec) {
+ public Page<Workflow> list(String searchNameFilter, Set<WorkflowVersionState> versionStatesFilter,
+ RequestSpec requestSpec) {
requestSpec = getRequestSpec(requestSpec);
Set<VersionStatus> versionStatusesFilter =
@@ -86,7 +87,8 @@ public class WorkflowManagerImpl implements WorkflowManager {
versionStatesFilter.stream().map(versionStateMapper::workflowVersionStateToVersionStatus)
.collect(Collectors.toSet());
- Collection<Item> workflowItems = itemManager.list(getFilter(versionStatusesFilter));
+ Predicate<Item> filter = addSearchNameFilter(WORKFLOW_ITEM_FILTER, searchNameFilter);
+ Collection<Item> workflowItems = itemManager.list(addVersionStatusFilter(filter, versionStatusesFilter));
List<Workflow> workflowsSlice = workflowItems.stream().map(workflowMapper::itemToWorkflow)
.sorted(getWorkflowComparator(requestSpec.getSorting()))
@@ -170,8 +172,13 @@ public class WorkflowManagerImpl implements WorkflowManager {
return byNameAscending ? byName : byName.reversed();
}
- private static Predicate<Item> getFilter(Set<VersionStatus> versionStatuses) {
- return WORKFLOW_ITEM_FILTER
+ private static Predicate<Item> addSearchNameFilter(Predicate<Item> filter, String searchNameFilter) {
+ return filter
+ .and(item -> searchNameFilter == null || item.getName().contains(searchNameFilter));
+ }
+
+ private static Predicate<Item> addVersionStatusFilter(Predicate<Item> filter, Set<VersionStatus> versionStatuses) {
+ return filter
.and(item -> versionStatuses == null || item.getVersionStatusCounters().keySet().stream()
.anyMatch(versionStatuses::contains));
}