From 276117aaa383b16a0b62e2666a612e669b8f27c8 Mon Sep 17 00:00:00 2001 From: MichaelMorris Date: Thu, 12 Aug 2021 09:14:21 +0100 Subject: Support models extending models Signed-off-by: MichaelMorris Issue-ID: SDC-3668 Change-Id: Iad4d2a28c1c982e55e8835d4f30a9a212aefb6be --- .../sdc/be/dao/janusgraph/JanusGraphGenericDao.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'catalog-dao') 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 b2492cdb1a..2116dcc27e 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 @@ -693,7 +693,23 @@ public class JanusGraphGenericDao { if (modelVertices.isLeft()) { for (ImmutablePair vertexPair : modelVertices.left().value()) { - if (model.equals((String)vertexPair.getLeft().property("name").value())) { + if (modelVertexMatchesModel(vertexPair.getLeft(), model)) { + return true; + } + } + } + return false; + } + + private boolean modelVertexMatchesModel(final JanusGraphVertex modelVertex, final String model) { + if (model.equals((String)modelVertex.property("name").value())) { + return true; + } + final Either>, JanusGraphOperationStatus> derivedModels = + getParentVerticies(modelVertex, GraphEdgeLabels.DERIVED_FROM); + if (derivedModels.isLeft()) { + for (final ImmutablePair derivedModel : derivedModels.left().value()) { + if (modelVertexMatchesModel(derivedModel.left, model)) { return true; } } -- cgit 1.2.3-korg