From e10154ff631cf86a978899db8533e86bbc0e658e Mon Sep 17 00:00:00 2001 From: "Manzon, Inna (im453s)" Date: Tue, 25 Dec 2018 17:41:33 +0200 Subject: [PATCH] SDC Tosca Parser getEntity API Change-Id: I7cb1acfcfacd3c58eae52995523b1e55e7302144 Issue-ID: SDC-1967 Signed-off-by: Manzon, Inna (im453s) --- pom.xml | 2 +- .../onap/sdc/tosca/parser/impl/QueryProcessor.java | 20 +++++++++++--------- src/test/java/org/onap/sdc/impl/GetEntityTest.java | 14 ++++++++++++++ version.properties | 2 +- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 981ae9b..c64b5f5 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ sdc-tosca sdc-sdc-tosca SDC Tosca Parser JAR file for use by consumers - 1.4.11-SNAPSHOT + 1.4.12-SNAPSHOT jar diff --git a/src/main/java/org/onap/sdc/tosca/parser/impl/QueryProcessor.java b/src/main/java/org/onap/sdc/tosca/parser/impl/QueryProcessor.java index 42b499b..8ca730c 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/impl/QueryProcessor.java +++ b/src/main/java/org/onap/sdc/tosca/parser/impl/QueryProcessor.java @@ -92,31 +92,33 @@ class QueryProcessor { return topologyTemplateQuery.getNodeTemplateType() == SdcTypes.SERVICE; } - private List getInternalTopologyTemplates(List nodeTemplateList, boolean searchTypeOnly) { + private List getInternalTopologyTemplates(List nodeTemplateList, boolean isRecursive) { return nodeTemplateList .stream() - .map(child->getTopologyTemplatesByQuery(child, searchTypeOnly)) + .map(child->getTopologyTemplatesByQuery(child, isRecursive)) .flatMap(List::stream) .collect(Collectors.toList()); } - private List getTopologyTemplatesByQuery(NodeTemplate current, boolean searchTypeOnly) { + private List getTopologyTemplatesByQuery(NodeTemplate current, boolean isRecursive) { List topologyTemplateList = Lists.newArrayList(); - boolean isTopologyTemplateFound = searchTypeOnly ? - topologyTemplateQuery.isSameSdcType(current.getMetaData()) : topologyTemplateQuery.isMatchingSearchCriteria(current); + boolean isTopologyTemplateFound = isRecursive ? + SdcTypes.isComplex(current.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)) + : topologyTemplateQuery.isMatchingSearchCriteria(current); if (isTopologyTemplateFound) { topologyTemplateList.add(current); - if (!isServiceSearch()) { + if (!isRecursive) { //recursion stop condition return topologyTemplateList; } } - if (SdcTypes.isComplex(current.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)) && current.getSubMappingToscaTemplate() != null) { - //search the node template inside a given topology template + if (SdcTypes.isComplex(current.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)) && + current.getSubMappingToscaTemplate() != null) { + //search the node template inside a given topology template topologyTemplateList.addAll(current.getSubMappingToscaTemplate().getNodeTemplates() .stream() - .map(nt->getTopologyTemplatesByQuery(nt, searchTypeOnly)) + .map(nt->getTopologyTemplatesByQuery(nt, isRecursive)) .flatMap(List::stream) .collect(Collectors.toList())); } diff --git a/src/test/java/org/onap/sdc/impl/GetEntityTest.java b/src/test/java/org/onap/sdc/impl/GetEntityTest.java index 830e67a..5c19072 100644 --- a/src/test/java/org/onap/sdc/impl/GetEntityTest.java +++ b/src/test/java/org/onap/sdc/impl/GetEntityTest.java @@ -89,6 +89,20 @@ public class GetEntityTest { assertEquals("jenny vTSBC vlan VNF 0#abstract_rtp_msc#rtp_msc_rtp_msc_avpn_port_0_vlan_subinterface_rtp_msc_avpn", entities.get(7).getPath()); } + @Test + public void getCpsFromVfRecursively() { + EntityQuery entityQuery = EntityQuery.newBuilder(SdcTypes.CP) + .build(); + TopologyTemplateQuery topologyTemplateQuery = TopologyTemplateQuery.newBuilder(SdcTypes.VF) + .build(); + + List entities = helper.getEntity(entityQuery, topologyTemplateQuery, true); + + assertEquals(16, entities.size()); + assertEquals("jenny vTSBC vlan VNF 0#abstract_rtp_msc", entities.get(2).getPath()); + assertEquals("jenny vTSBC vlan VNF 0#abstract_rtp_msc#rtp_msc_rtp_msc_avpn_port_0_vlan_subinterface_rtp_msc_avpn", entities.get(7).getPath()); + } + @Test public void getCpByUuidsFromCVFCRecursively() { EntityQuery entityQuery = EntityQuery.newBuilder(SdcTypes.CP) diff --git a/version.properties b/version.properties index a3c3ff7..45ee9cd 100644 --- a/version.properties +++ b/version.properties @@ -5,7 +5,7 @@ major=1 minor=4 -patch=11 +patch=12 base_version=${major}.${minor}.${patch} -- 2.16.6