<artifactId>sdc-tosca</artifactId>
<name>sdc-sdc-tosca</name>
<description>SDC Tosca Parser JAR file for use by consumers</description>
- <version>1.4.11-SNAPSHOT</version>
+ <version>1.4.12-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
return topologyTemplateQuery.getNodeTemplateType() == SdcTypes.SERVICE;
}
- private List<NodeTemplate> getInternalTopologyTemplates(List<NodeTemplate> nodeTemplateList, boolean searchTypeOnly) {
+ private List<NodeTemplate> getInternalTopologyTemplates(List<NodeTemplate> nodeTemplateList, boolean isRecursive) {
return nodeTemplateList
.stream()
- .map(child->getTopologyTemplatesByQuery(child, searchTypeOnly))
+ .map(child->getTopologyTemplatesByQuery(child, isRecursive))
.flatMap(List::stream)
.collect(Collectors.toList());
}
- private List<NodeTemplate> getTopologyTemplatesByQuery(NodeTemplate current, boolean searchTypeOnly) {
+ private List<NodeTemplate> getTopologyTemplatesByQuery(NodeTemplate current, boolean isRecursive) {
List<NodeTemplate> 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()));
}
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<IEntityDetails> 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)