From 4f4f7fb796475bb4a332e798c80438b33ce7712a Mon Sep 17 00:00:00 2001 From: aribeiro Date: Thu, 24 Jun 2021 11:19:45 +0100 Subject: Allow only types from selected model in service creation Issue-ID: SDC-3629 Signed-off-by: aribeiro Change-Id: I98edb8a1133b2df8d884782f3fb2758b42b94158 --- .../org/openecomp/sdc/be/dao/janusgraph/JanusGraphGenericDao.java | 8 ++++++-- .../java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphUtils.java | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'catalog-dao/src/main/java') diff --git a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphGenericDao.java b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphGenericDao.java index 19f78ced24..c6ad5f2c26 100644 --- a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphGenericDao.java +++ b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphGenericDao.java @@ -851,7 +851,7 @@ public class JanusGraphGenericDao { public Either, JanusGraphOperationStatus> getByCriteriaWithPredicate(NodeTypeEnum type, Map> props, - Class clazz) { + Class clazz, String modelName) { Either graph = janusGraphClient.getGraph(); if (graph.isLeft()) { try { @@ -871,7 +871,11 @@ public class JanusGraphGenericDao { if (vertices == null) { return Either.right(JanusGraphOperationStatus.NOT_FOUND); } - Iterator iterator = vertices.iterator(); + final Predicate filterPredicate = + StringUtils.isEmpty(modelName) ? this::vertexNotConnectedToAnyModel : vertex -> vertexValidForModel(vertex, modelName); + final List verticesForModel = StreamSupport.stream(vertices.spliterator(), false).filter(filterPredicate) + .collect(Collectors.toList()); + Iterator iterator = verticesForModel.iterator(); List result = new ArrayList<>(); while (iterator.hasNext()) { Vertex vertex = iterator.next(); diff --git a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphUtils.java b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphUtils.java index 1e62a952cf..941e13af6b 100644 --- a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphUtils.java +++ b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/janusgraph/JanusGraphUtils.java @@ -19,7 +19,6 @@ */ package org.openecomp.sdc.be.dao.janusgraph; -import static java.util.Collections.emptyMap; import static org.apache.commons.collections.CollectionUtils.isEmpty; import static org.janusgraph.core.attribute.Contain.NOT_IN; @@ -36,7 +35,7 @@ public class JanusGraphUtils { public static Map> buildNotInPredicate(String propKey, Collection notInCollection) { if (isEmpty(notInCollection)) { - return emptyMap(); + return new HashMap<>(); } Map> predicateCriteria = new HashMap<>(); predicateCriteria.put(propKey, new HashMap.SimpleEntry<>(NOT_IN, notInCollection)); -- cgit 1.2.3-korg