aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-tosca/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdc-tosca/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java')
-rw-r--r--sdc-tosca/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java767
1 files changed, 389 insertions, 378 deletions
diff --git a/sdc-tosca/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java b/sdc-tosca/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
index 921a145..20e0582 100644
--- a/sdc-tosca/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
+++ b/sdc-tosca/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java
@@ -7,9 +7,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,20 +20,20 @@
package org.onap.sdc.tosca.parser.impl;
-import java.util.List;
+import static java.util.stream.Collectors.toList;
+
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Map;
-import java.util.Map.Entry;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
-import java.util.Optional;
-import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Objects;
+import java.util.Optional;
import java.util.stream.Collectors;
-import static java.util.stream.Collectors.toList;
-
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
@@ -74,9 +74,9 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
private static final String PATH_DELIMITER = "#";
private static final String CUSTOMIZATION_UUID = "customizationUUID";
private static final String GROUPS_VF_MODULE = "org.openecomp.groups.VfModule";
+ private static final Logger log = LoggerFactory.getLogger(SdcCsarHelperImpl.class.getName());
private ToscaTemplate toscaTemplate;
private ConfigurationManager configurationManager;
- private static Logger log = LoggerFactory.getLogger(SdcCsarHelperImpl.class.getName());
public SdcCsarHelperImpl(ToscaTemplate toscaTemplate) {
this.toscaTemplate = toscaTemplate;
@@ -86,137 +86,144 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
this.toscaTemplate = toscaTemplate;
this.configurationManager = configurationManager;
}
-
+
@Override
public List<Policy> getPoliciesOfTarget(NodeTemplate nodeTemplate) {
- return getPoliciesOfNodeTemplate(nodeTemplate.getName())
- .stream()
- .sorted(Policy::compareTo)
- .collect(toList());
+ return getPoliciesOfNodeTemplate(nodeTemplate.getName())
+ .stream()
+ .sorted(Policy::compareTo)
+ .collect(toList());
}
-
+
@Override
- public List<Policy> getPoliciesOfOriginOfNodeTemplate(NodeTemplate nodeTemplate) {
- if(StringUtils.isNotEmpty(nodeTemplate.getName())){
- return getNodeTemplateByName(nodeTemplate.getName()).getOriginComponentTemplate().getPolicies();
- }
- return new ArrayList<>();
+ public List<Policy> getPoliciesOfOriginOfNodeTemplate(NodeTemplate nodeTemplate) {
+ if (StringUtils.isNotEmpty(nodeTemplate.getName())) {
+ return getNodeTemplateByName(nodeTemplate.getName()).getOriginComponentTemplate().getPolicies();
+ }
+ return new ArrayList<>();
}
-
+
@Override
public List<Policy> getPoliciesOfTargetByToscaPolicyType(NodeTemplate nodeTemplate, String policyTypeName) {
- return getPoliciesOfNodeTemplate(nodeTemplate.getName())
- .stream()
- .filter(p->p.getType().equals(policyTypeName))
- .sorted(Policy::compareTo)
- .collect(toList());
+ return getPoliciesOfNodeTemplate(nodeTemplate.getName())
+ .stream()
+ .filter(p -> p.getType().equals(policyTypeName))
+ .sorted(Policy::compareTo)
+ .collect(toList());
}
-
+
@Override
public List<Policy> getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(NodeTemplate nodeTemplate, String policyTypeName) {
- return getPoliciesOfOriginOfNodeTemplate(nodeTemplate)
- .stream()
- .filter(p->p.getType().equals(policyTypeName))
- .sorted(Policy::compareTo)
- .collect(toList());
+ return getPoliciesOfOriginOfNodeTemplate(nodeTemplate)
+ .stream()
+ .filter(p -> p.getType().equals(policyTypeName))
+ .sorted(Policy::compareTo)
+ .collect(toList());
}
@Override
public List<NodeTemplate> getPolicyTargetsFromTopologyTemplate(String policyName) {
- if(toscaTemplate.getNodeTemplates() == null){
- return new ArrayList<>();
- }
- List<String> targetNames = getPolicyTargets(policyName);
- return toscaTemplate.getNodeTemplates().stream()
- .filter(nt->targetNames.contains(nt.getName()))
- .collect(toList());
- }
-
- @Override
- public List<NodeTemplate> getPolicyTargetsFromOrigin(NodeTemplate nodeTemplate, String policyName) {
- if(StringUtils.isNotEmpty(nodeTemplate.getName())){
+ if (toscaTemplate.getNodeTemplates() == null) {
+ return new ArrayList<>();
+ }
+ List<String> targetNames = getPolicyTargets(policyName);
+ return toscaTemplate.getNodeTemplates().stream()
+ .filter(nt -> targetNames.contains(nt.getName()))
+ .collect(toList());
+ }
+
+ @Override
+ public List<NodeTemplate> getPolicyTargetsFromOrigin(NodeTemplate nodeTemplate, String policyName) {
+ if (StringUtils.isNotEmpty(nodeTemplate.getName())) {
Optional<Policy> policyOpt = getNodeTemplateByName(nodeTemplate.getName())
- .getOriginComponentTemplate()
- .getPolicies()
- .stream()
- .filter(p -> p.getName()
- .equals(policyName))
- .findFirst();
- if(policyOpt.isPresent()){
+ .getOriginComponentTemplate()
+ .getPolicies()
+ .stream()
+ .filter(p -> p.getName()
+ .equals(policyName))
+ .findFirst();
+ if (policyOpt.isPresent()) {
List<String> targets = policyOpt.get().getTargets();
if (targets != null) {
return nodeTemplate.getOriginComponentTemplate().getNodeTemplates()
- .stream()
- .filter(nt -> targets.contains(nt.getName())).collect(Collectors.toList());
+ .stream()
+ .filter(nt -> targets.contains(nt.getName())).collect(Collectors.toList());
}
}
- }
- return new ArrayList<>();
- }
-
- @Override
- public List<Policy> getPoliciesOfTopologyTemplate(){
- if(toscaTemplate.getPolicies() == null)
- return new ArrayList<>();
- return toscaTemplate.getPolicies()
- .stream()
- .sorted(Policy::compareTo)
- .collect(toList());
- }
-
- @Override
- public List<Policy> getPoliciesOfTopologyTemplateByToscaPolicyType(String policyTypeName){
- if(toscaTemplate.getPolicies() == null)
- return new ArrayList<>();
- return toscaTemplate.getPolicies()
- .stream()
- .filter(p->p.getType().equals(policyTypeName))
- .sorted(Policy::compareTo)
- .collect(toList());
- }
-
+ }
+ return new ArrayList<>();
+ }
+
+ @Override
+ public List<Policy> getPoliciesOfTopologyTemplate() {
+ if (toscaTemplate.getPolicies() == null) {
+ return new ArrayList<>();
+ }
+ return toscaTemplate.getPolicies()
+ .stream()
+ .sorted(Policy::compareTo)
+ .collect(toList());
+ }
+
+ @Override
+ public List<Policy> getPoliciesOfTopologyTemplateByToscaPolicyType(String policyTypeName) {
+ if (toscaTemplate.getPolicies() == null) {
+ return new ArrayList<>();
+ }
+ return toscaTemplate.getPolicies()
+ .stream()
+ .filter(p -> p.getType().equals(policyTypeName))
+ .sorted(Policy::compareTo)
+ .collect(toList());
+ }
+
+ @Override
public NodeTemplate getNodeTemplateByName(String nodeTemplateName) {
- if(toscaTemplate.getNodeTemplates() == null)
- return null;
- return toscaTemplate.getNodeTemplates()
- .stream()
- .filter(nt -> nt.getName().equals(nodeTemplateName))
- .findFirst().orElse(null);
- }
-
+ if (toscaTemplate.getNodeTemplates() == null) {
+ return null;
+ }
+ return toscaTemplate.getNodeTemplates()
+ .stream()
+ .filter(nt -> nt.getName().equals(nodeTemplateName))
+ .findFirst().orElse(null);
+ }
+
private List<Policy> getPoliciesOfNodeTemplate(String nodeTemplateName) {
- if(toscaTemplate.getPolicies() == null)
- return new ArrayList<>();
- return toscaTemplate.getPolicies()
- .stream()
- .filter(p -> p.getTargets()!= null && p.getTargets().contains(nodeTemplateName))
- .collect(toList());
- }
-
+ if (toscaTemplate.getPolicies() == null) {
+ return new ArrayList<>();
+ }
+ return toscaTemplate.getPolicies()
+ .stream()
+ .filter(p -> p.getTargets() != null && p.getTargets().contains(nodeTemplateName))
+ .collect(toList());
+ }
+
private List<String> getPolicyTargets(String policyName) {
- return getPolicyByName(policyName).map(Policy::getTargets).orElse(new ArrayList<>());
+ return getPolicyByName(policyName).map(Policy::getTargets).orElse(new ArrayList<>());
}
-
+
private List<String> getGroupMembers(String groupName) {
- return getGroupByName(groupName).map(Group::getMembers).orElse(new ArrayList<>());
+ return getGroupByName(groupName).map(Group::getMembers).orElse(new ArrayList<>());
}
-
+
private Optional<Policy> getPolicyByName(String policyName) {
- if(toscaTemplate.getPolicies() == null)
- return Optional.empty();
- return toscaTemplate.getPolicies()
- .stream()
- .filter(p -> p.getName().equals(policyName)).findFirst();
+ if (toscaTemplate.getPolicies() == null) {
+ return Optional.empty();
+ }
+ return toscaTemplate.getPolicies()
+ .stream()
+ .filter(p -> p.getName().equals(policyName)).findFirst();
}
-
+
private Optional<Group> getGroupByName(String groupName) {
- if(toscaTemplate.getGroups() == null)
- return Optional.empty();
- return toscaTemplate.getGroups()
- .stream()
- .filter(g -> g.getName().equals(groupName)).findFirst();
+ if (toscaTemplate.getGroups() == null) {
+ return Optional.empty();
+ }
+ return toscaTemplate.getGroups()
+ .stream()
+ .filter(g -> g.getName().equals(groupName)).findFirst();
}
-
+
@Override
//Sunny flow - covered with UT, flat and nested
public String getNodeTemplatePropertyLeafValue(NodeTemplate nodeTemplate, String leafValuePath) {
@@ -238,7 +245,8 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
LinkedHashMap<String, Property> properties = nodeTemplate.getProperties();
return PropertyUtils.processProperties(split, properties);
}
-
+
+ @Override
public Map<String, Map<String, Object>> getCpPropertiesFromVfcAsObject(NodeTemplate vfc) {
if (vfc == null) {
log.error("getCpPropertiesFromVfc - vfc is null");
@@ -264,21 +272,22 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return cps;
}
- private void findPutAllPortsProperties(Map<String, Map<String, Object>> cps, Map<String, Property> props) {
- if (!cps.isEmpty()) {
- for (Entry<String, Map<String, Object>> port : cps.entrySet()) {
- for (Map.Entry<String, Property> property: props.entrySet()) {
- if (property.getKey().startsWith(port.getKey())) {
- String portProperty = property.getKey().replaceFirst(port.getKey() + "_", "");
- if (property.getValue() != null) {
- cps.get(port.getKey()).put(portProperty, property.getValue().getValue());
- }
- }
- }
- }
- }
- }
+ private void findPutAllPortsProperties(Map<String, Map<String, Object>> cps, Map<String, Property> props) {
+ if (!cps.isEmpty()) {
+ for (Entry<String, Map<String, Object>> port : cps.entrySet()) {
+ for (Map.Entry<String, Property> property : props.entrySet()) {
+ if (property.getKey().startsWith(port.getKey())) {
+ String portProperty = property.getKey().replaceFirst(port.getKey() + "_", "");
+ if (property.getValue() != null) {
+ cps.get(port.getKey()).put(portProperty, property.getValue().getValue());
+ }
+ }
+ }
+ }
+ }
+ }
+ @Override
public Map<String, Map<String, Object>> getCpPropertiesFromVfc(NodeTemplate vfc) {
if (vfc == null) {
@@ -304,20 +313,20 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return cps;
}
- private void findBuildPutAllPortsProperties(Map<String, Map<String, Object>> cps, Map<String, Property> props) {
- if (!cps.isEmpty()) {
- for (Entry<String, Map<String, Object>> port : cps.entrySet()) {
- for (Map.Entry<String, Property> property: props.entrySet()) {
- if (property.getKey().startsWith(port.getKey())) {
- Map<String, Object> portPaths = new HashMap<>();
- String portProperty = property.getKey().replaceFirst(port.getKey() + "_", "");
- buildPathMappedToValue(portProperty, property.getValue().getValue(), portPaths);
- cps.get(port.getKey()).putAll(portPaths);
- }
- }
- }
- }
- }
+ private void findBuildPutAllPortsProperties(Map<String, Map<String, Object>> cps, Map<String, Property> props) {
+ if (!cps.isEmpty()) {
+ for (Entry<String, Map<String, Object>> port : cps.entrySet()) {
+ for (Map.Entry<String, Property> property : props.entrySet()) {
+ if (property.getKey().startsWith(port.getKey())) {
+ Map<String, Object> portPaths = new HashMap<>();
+ String portProperty = property.getKey().replaceFirst(port.getKey() + "_", "");
+ buildPathMappedToValue(portProperty, property.getValue().getValue(), portPaths);
+ cps.get(port.getKey()).putAll(portPaths);
+ }
+ }
+ }
+ }
+ }
@SuppressWarnings("unchecked")
private void buildPathMappedToValue(String path, Object property, Map<String, Object> pathsMap) {
@@ -330,7 +339,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
}
}
} else if (property instanceof List) {
- for (Object item: (List<Object>)property) {
+ for (Object item : (List<Object>) property) {
buildPathMappedToValue(path, item, pathsMap);
}
} else {
@@ -365,7 +374,6 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return metadata.getValue(metadataPropertyName);
}
-
@Override
//Sunny flow - covered with UT
public List<NodeTemplate> getServiceNodeTemplatesByType(String nodeType) {
@@ -385,7 +393,6 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return res;
}
-
@Override
public List<NodeTemplate> getServiceNodeTemplates() {
return toscaTemplate.getNodeTemplates();
@@ -416,12 +423,14 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
String name = nodeTemplateByCustomizationUuid.getName();
String normaliseComponentInstanceName = SdcToscaUtility.normaliseComponentInstanceName(name);
List<Group> serviceLevelGroups = toscaTemplate.getTopologyTemplate().getGroups();
- log.debug("getVfModulesByVf - VF node template name {}, normalized name {}. Searching groups on service level starting with VF normalized name...", name, normaliseComponentInstanceName);
+ log.debug(
+ "getVfModulesByVf - VF node template name {}, normalized name {}. Searching groups on service level starting with VF normalized name...",
+ name, normaliseComponentInstanceName);
if (serviceLevelGroups != null) {
return serviceLevelGroups
- .stream()
- .filter(x -> GROUPS_VF_MODULE.equals(x.getTypeDefinition().getType()) && x.getName().startsWith(normaliseComponentInstanceName))
- .collect(toList());
+ .stream()
+ .filter(x -> GROUPS_VF_MODULE.equals(x.getTypeDefinition().getType()) && x.getName().startsWith(normaliseComponentInstanceName))
+ .collect(toList());
}
}
return new ArrayList<>();
@@ -448,7 +457,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
Input input = findFirst.get();
Object current = input.getDefault();
Object property = PropertyUtils.iterateProcessPath(2, current, split);
- return property == null || property instanceof Function? null : String.valueOf(property);
+ return property == null || property instanceof Function ? null : String.valueOf(property);
}
}
log.error("getServiceInputLeafValue - value not found");
@@ -464,7 +473,8 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
String[] split = getSplittedPath(inputLeafValuePath);
if (split.length < 2 || !split[1].equals("default")) {
- log.error("getServiceInputLeafValueOfDefaultAsObject - inputLeafValuePath should be of format <input name>#default[optionally #<rest of path>] ");
+ log.error(
+ "getServiceInputLeafValueOfDefaultAsObject - inputLeafValuePath should be of format <input name>#default[optionally #<rest of path>] ");
return null;
}
@@ -485,7 +495,6 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return leafValuePath.split(PATH_DELIMITER);
}
-
@Override
//Sunny flow - covered with UT
public String getServiceSubstitutionMappingsTypeName() {
@@ -513,7 +522,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
@Override
//Sunny flow - covered with UT
public Map<String, Object> getServiceMetadataProperties() {
- if (toscaTemplate.getMetaData() == null){
+ if (toscaTemplate.getMetaData() == null) {
return null;
}
return new HashMap<>(toscaTemplate.getMetaData().getAllProperties());
@@ -521,7 +530,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
@Override
public Map<String, String> getServiceMetadataAllProperties() {
- if (toscaTemplate.getMetaData() == null){
+ if (toscaTemplate.getMetaData() == null) {
return null;
}
return toscaTemplate.getMetaData().getAllProperties();
@@ -549,7 +558,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
String[] split = getSplittedPath(leafValuePath);
LinkedHashMap<String, Property> properties = group.getProperties();
Object property = PropertyUtils.processProperties(split, properties);
- return property == null || property instanceof Function? null : String.valueOf(property);
+ return property == null || property instanceof Function ? null : String.valueOf(property);
}
@Override
@@ -589,8 +598,9 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return cpList;
}
cpList = getNodeTemplateBySdcType(vfInstance, SdcTypes.CP);
- if (cpList == null || cpList.isEmpty())
+ if (cpList == null || cpList.isEmpty()) {
log.debug("getCpListByVf cps not exist for vfCustomizationId {}", vfCustomizationId);
+ }
return cpList;
}
@@ -602,19 +612,22 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return new ArrayList<>();
}
- if (serviceLevelVfModule == null || serviceLevelVfModule.getMetadata() == null || serviceLevelVfModule.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID) == null) {
- log.error("getMembersOfVfModule - vfModule or its metadata is null. Cannot match a VF group based on invariantUuid from missing metadata.");
+ if (serviceLevelVfModule == null || serviceLevelVfModule.getMetadata() == null
+ || serviceLevelVfModule.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID) == null) {
+ log.error(
+ "getMembersOfVfModule - vfModule or its metadata is null. Cannot match a VF group based on invariantUuid from missing metadata.");
return new ArrayList<>();
}
-
SubstitutionMappings substitutionMappings = vf.getSubMappingToscaTemplate();
if (substitutionMappings != null) {
List<Group> groups = substitutionMappings.getGroups();
if (groups != null) {
Optional<Group> findFirst = groups
- .stream()
- .filter(x -> (x.getMetadata() != null && serviceLevelVfModule.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID).equals(x.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)))).findFirst();
+ .stream()
+ .filter(x -> (x.getMetadata() != null && serviceLevelVfModule.getMetadata()
+ .getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)
+ .equals(x.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID)))).findFirst();
if (findFirst.isPresent()) {
List<String> members = findFirst.get().getMembers();
if (members != null) {
@@ -628,7 +641,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
@Override
public List<Pair<NodeTemplate, NodeTemplate>> getNodeTemplatePairsByReqName(
- List<NodeTemplate> listOfReqNodeTemplates, List<NodeTemplate> listOfCapNodeTemplates, String reqName) {
+ List<NodeTemplate> listOfReqNodeTemplates, List<NodeTemplate> listOfCapNodeTemplates, String reqName) {
if (listOfReqNodeTemplates == null) {
log.error("getNodeTemplatePairsByReqName - listOfReqNodeTemplates is null");
@@ -672,8 +685,8 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
log.error("getAllottedResources nodeTemplates not exist");
}
nodeTemplates = nodeTemplates.stream().filter(
- x -> x.getMetaData() != null && x.getMetaData().getValue("category").equals("Allotted Resource"))
- .collect(toList());
+ x -> x.getMetadata() != null && x.getMetadata().getValue("category").equals("Allotted Resource"))
+ .collect(toList());
if (nodeTemplates.isEmpty()) {
log.debug("getAllottedResources - allotted resources not exist");
}
@@ -700,58 +713,60 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
*/
@Override
public String getConformanceLevel() {
- LinkedHashMap<String, Object> csarMeta = toscaTemplate.getMetaProperties("csar.meta");
- if (csarMeta == null){
- log.warn("No csar.meta file is found in CSAR - this file should hold the conformance level of the CSAR. This might be OK for older CSARs.");
- if (configurationManager != null && !configurationManager.getErrorConfiguration()
- .getErrorInfo("CONFORMANCE_LEVEL_ERROR").getFailOnError()){
- String csarConLevel = configurationManager.getConfiguration().getConformanceLevel().getMaxVersion();
- log.warn("csarConformanceLevel is not found in input csar; defaulting to max version {}" , csarConLevel);
- return csarConLevel;
- }
- else {
- log.warn("csarConformanceLevel is not found in input csar; returning null as no defaults defined in error configuration");
- return null;
- }
- }
-
- Object conformanceLevel = csarMeta.get("SDC-TOSCA-Definitions-Version");
- if (conformanceLevel != null){
- String confLevelStr = conformanceLevel.toString();
- log.debug("CSAR conformance level is {}", confLevelStr);
- return confLevelStr;
- } else {
- log.error("Invalid csar.meta file - no entry found for SDC-TOSCA-Definitions-Version key. This entry should hold the conformance level.");
- return null;
- }
- }
-
-
- @Override
- public String getNodeTemplateCustomizationUuid(NodeTemplate nt) {
- String res = null;
- if (nt != null && nt.getMetaData() != null){
- res = nt.getMetaData().getValue(CUSTOMIZATION_UUID);
- } else {
- log.error("Node template or its metadata is null");
- }
- return res;
- }
+ LinkedHashMap<String, Object> csarMeta = toscaTemplate.getMetaProperties("csar.meta");
+ if (csarMeta == null) {
+ log.warn(
+ "No csar.meta file is found in CSAR - this file should hold the conformance level of the CSAR. This might be OK for older CSARs.");
+ if (configurationManager != null && !configurationManager.getErrorConfiguration()
+ .getErrorInfo("CONFORMANCE_LEVEL_ERROR").getFailOnError()) {
+ String csarConLevel = configurationManager.getConfiguration().getConformanceLevel().getMaxVersion();
+ log.warn("csarConformanceLevel is not found in input csar; defaulting to max version {}", csarConLevel);
+ return csarConLevel;
+ } else {
+ log.warn("csarConformanceLevel is not found in input csar; returning null as no defaults defined in error configuration");
+ return null;
+ }
+ }
+ Object conformanceLevel = csarMeta.get("SDC-TOSCA-Definitions-Version");
+ if (conformanceLevel != null) {
+ String confLevelStr = conformanceLevel.toString();
+ log.debug("CSAR conformance level is {}", confLevelStr);
+ return confLevelStr;
+ } else {
+ log.error("Invalid csar.meta file - no entry found for SDC-TOSCA-Definitions-Version key. This entry should hold the conformance level.");
+ return null;
+ }
+ }
+
+
+ @Override
+ public String getNodeTemplateCustomizationUuid(NodeTemplate nt) {
+ String res = null;
+ if (nt != null && nt.getMetadata() != null) {
+ res = nt.getMetadata().getValue(CUSTOMIZATION_UUID);
+ } else {
+ log.error("Node template or its metadata is null");
+ }
+ return res;
+ }
+
+ @Override
public List<NodeTemplate> getNodeTemplateBySdcType(NodeTemplate parentNodeTemplate, SdcTypes sdcType) {
- return getNodeTemplateBySdcType(parentNodeTemplate, sdcType, false);
+ return getNodeTemplateBySdcType(parentNodeTemplate, sdcType, false);
}
+ @Override
public boolean isNodeTypeSupported(NodeTemplate nodeTemplate) {
SdcTypes[] supportedTypes = SdcTypes.values();
return Arrays.stream(supportedTypes)
- .anyMatch(v->nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)
- .equals(v.getValue()));
+ .anyMatch(v -> nodeTemplate.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)
+ .equals(v.getValue()));
}
-
- private List<NodeTemplate> getNodeTemplateBySdcType(NodeTemplate parentNodeTemplate, SdcTypes sdcType, boolean isVNF) {
-
- if (parentNodeTemplate == null) {
+
+ private List<NodeTemplate> getNodeTemplateBySdcType(NodeTemplate parentNodeTemplate, SdcTypes sdcType, boolean isVNF) {
+
+ if (parentNodeTemplate == null) {
log.error("getNodeTemplateBySdcType - nodeTemplate is null or empty");
return new ArrayList<>();
}
@@ -766,24 +781,23 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
if (substitutionMappings != null) {
List<NodeTemplate> nodeTemplates = substitutionMappings.getNodeTemplates();
if (nodeTemplates != null && !nodeTemplates.isEmpty()) {
- if (sdcType.equals(SdcTypes.VFC) && isVNF) {
- return nodeTemplates.stream()
- .filter(x -> (x.getMetaData() != null &&
- sdcType.getValue().equals(x.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE))) && isVNFType(x))
- .collect(toList());
- }
- else {
+ if (sdcType.equals(SdcTypes.VFC) && isVNF) {
return nodeTemplates.stream()
- .filter(x -> (x.getMetaData() != null &&
- sdcType.getValue().equals(x.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE))) && !isVNFType(x))
- .collect(toList());
- }
- }
- else {
+ .filter(x -> (x.getMetadata() != null &&
+ sdcType.getValue().equals(x.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE))) && isVNFType(x))
+ .collect(toList());
+ } else {
+ return nodeTemplates.stream()
+ .filter(x -> (x.getMetadata() != null &&
+ sdcType.getValue().equals(x.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE))) && !isVNFType(x))
+ .collect(toList());
+ }
+ } else {
log.debug("getNodeTemplateBySdcType - SubstitutionMappings' node Templates not exist");
}
- } else
+ } else {
log.debug("getNodeTemplateBySdcType - SubstitutionMappings not exist");
+ }
return new ArrayList<>();
}
@@ -821,10 +835,10 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return filterMap;
}
-
- public NodeTemplate getVnfConfig(String vfCustomizationUuid) {
-
- if (GeneralUtility.isEmptyString(vfCustomizationUuid)) {
+
+ public NodeTemplate getVnfConfig(String vfCustomizationUuid) {
+
+ if (GeneralUtility.isEmptyString(vfCustomizationUuid)) {
log.error("getVnfConfig - vfCustomizationId - is null or empty");
return null;
}
@@ -832,7 +846,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
List<NodeTemplate> serviceVfList = getServiceVfList();
NodeTemplate vfInstance = getNodeTemplateByCustomizationUuid(serviceVfList, vfCustomizationUuid);
return getNodeTemplateBySdcType(vfInstance, SdcTypes.VFC, true).stream().findAny().orElse(null);
- }
+ }
@Override
public boolean hasTopology(NodeTemplate nodeTemplate) {
@@ -841,8 +855,8 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return false;
}
- if (nodeTemplate.getMetaData() != null) {
- String type = nodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE);
+ if (nodeTemplate.getMetadata() != null) {
+ String type = nodeTemplate.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE);
log.debug("hasTopology - node template {} is a {} type", nodeTemplate.getName(), type);
return SdcTypes.isComplex(type);
}
@@ -863,14 +877,14 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
if (nodeTemplates != null && !nodeTemplates.isEmpty()) {
return nodeTemplates.stream()
- .filter(x -> !isVNFType(x))
- .collect(toList());
- }
- else {
+ .filter(x -> !isVNFType(x))
+ .collect(toList());
+ } else {
log.debug("getNodeTemplateChildren - SubstitutionMappings' node Templates not exist");
}
- } else
+ } else {
log.debug("getNodeTemplateChildren - SubstitutionMappings not exist");
+ }
return new ArrayList<>();
}
@@ -883,7 +897,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
}
List<NodeTemplate> nodeTemplates = getServiceNodeTemplates();
- Optional<NodeTemplate> findFirst = nodeTemplates.stream().filter(nt -> nt.getName().equals(nodeName)).findFirst();
+ Optional<NodeTemplate> findFirst = nodeTemplates.stream().filter(nt -> nt.getName().equals(nodeName)).findFirst();
return findFirst.isPresent() ? findFirst.get() : null;
}
@@ -895,7 +909,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return null;
}
- return nt.getMetaData();
+ return nt.getMetadata();
}
@Override
@@ -935,77 +949,79 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
Object property = PropertyUtils.processProperties(split, properties);
return property == null || property instanceof Function ? null : String.valueOf(property);
}
-
+
@Override
public ArrayList<Group> getGroupsOfOriginOfNodeTemplate(NodeTemplate nodeTemplate) {
- if(StringUtils.isNotEmpty(nodeTemplate.getName())){
- return getNodeTemplateByName(nodeTemplate.getName()).getSubMappingToscaTemplate().getGroups();
- }
- return new ArrayList<>();
+ if (StringUtils.isNotEmpty(nodeTemplate.getName())) {
+ return getNodeTemplateByName(nodeTemplate.getName()).getSubMappingToscaTemplate().getGroups();
+ }
+ return new ArrayList<>();
}
@Override
public ArrayList<Group> getGroupsOfTopologyTemplateByToscaGroupType(String groupType) {
- if(toscaTemplate.getGroups() == null)
- return new ArrayList<>();
- return (ArrayList<Group>) toscaTemplate.getGroups()
- .stream()
- .filter(g->g.getType().equals(groupType))
- .sorted(Group::compareTo)
- .collect(toList());
- }
-
+ if (toscaTemplate.getGroups() == null) {
+ return new ArrayList<>();
+ }
+ return (ArrayList<Group>) toscaTemplate.getGroups()
+ .stream()
+ .filter(g -> g.getType().equals(groupType))
+ .sorted(Group::compareTo)
+ .collect(toList());
+ }
+
@Override
public ArrayList<Group> getGroupsOfTopologyTemplate() {
- return toscaTemplate.getGroups() == null ? new ArrayList<>() : toscaTemplate.getGroups();
+ return toscaTemplate.getGroups() == null ? new ArrayList<>() : toscaTemplate.getGroups();
}
-
+
@Override
public ArrayList<Group> getGroupsOfOriginOfNodeTemplateByToscaGroupType(NodeTemplate nodeTemplate, String groupType) {
- return (ArrayList<Group>) getGroupsOfOriginOfNodeTemplate(nodeTemplate)
- .stream()
- .filter(g->g.getType().equals(groupType))
- .sorted(Group::compareTo)
- .collect(toList());
+ return (ArrayList<Group>) getGroupsOfOriginOfNodeTemplate(nodeTemplate)
+ .stream()
+ .filter(g -> g.getType().equals(groupType))
+ .sorted(Group::compareTo)
+ .collect(toList());
}
@Override
public List<NodeTemplate> getGroupMembersFromTopologyTemplate(String groupName) {
- if(toscaTemplate.getNodeTemplates() == null){
- return new ArrayList<>();
- }
- List<String> membersNames = getGroupMembers(groupName);
- return toscaTemplate.getNodeTemplates().stream()
- .filter(nt->membersNames.contains(nt.getName()))
- .collect(toList());
+ if (toscaTemplate.getNodeTemplates() == null) {
+ return new ArrayList<>();
+ }
+ List<String> membersNames = getGroupMembers(groupName);
+ return toscaTemplate.getNodeTemplates().stream()
+ .filter(nt -> membersNames.contains(nt.getName()))
+ .collect(toList());
}
-
+
@Override
public List<NodeTemplate> getGroupMembersOfOriginOfNodeTemplate(NodeTemplate nodeTemplate, String groupName) {
- ArrayList<Group> groups = getGroupsOfOriginOfNodeTemplate(nodeTemplate);
- if(!groups.isEmpty()){
- Optional<Group> group = groups.stream().filter(g -> g.getName().equals(groupName)).findFirst();
- if(group.isPresent()){
- return nodeTemplate.getSubMappingToscaTemplate().getNodeTemplates().stream()
- .filter(nt -> group.get().getMembers().contains(nt.getName()))
- .collect(toList());
- }
- }
- return new ArrayList<>();
- }
-
+ ArrayList<Group> groups = getGroupsOfOriginOfNodeTemplate(nodeTemplate);
+ if (!groups.isEmpty()) {
+ Optional<Group> group = groups.stream().filter(g -> g.getName().equals(groupName)).findFirst();
+ if (group.isPresent()) {
+ return nodeTemplate.getSubMappingToscaTemplate().getNodeTemplates().stream()
+ .filter(nt -> group.get().getMembers().contains(nt.getName()))
+ .collect(toList());
+ }
+ }
+ return new ArrayList<>();
+ }
+
+ @Override
public List<NodeTemplate> getServiceNodeTemplateBySdcType(SdcTypes sdcType) {
- if (sdcType == null) {
- log.error("getServiceNodeTemplateBySdcType - sdcType is null or empty");
- return new ArrayList<>();
- }
-
- TopologyTemplate topologyTemplate = toscaTemplate.getTopologyTemplate();
- return getNodeTemplateBySdcType(topologyTemplate, sdcType);
+ if (sdcType == null) {
+ log.error("getServiceNodeTemplateBySdcType - sdcType is null or empty");
+ return new ArrayList<>();
+ }
+
+ TopologyTemplate topologyTemplate = toscaTemplate.getTopologyTemplate();
+ return getNodeTemplateBySdcType(topologyTemplate, sdcType);
}
- /************************************* helper functions ***********************************/
+ /************************************* helper functions ***********************************/
private boolean isVNFType(NodeTemplate nt) {
return nt.getType().endsWith("VnfConfiguration");
}
@@ -1014,12 +1030,12 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
private Map<String, String> filterProperties(Object property, String path, FilterType filterType, String pattern, Map<String, String> filterMap) {
if (property instanceof Map) {
- for (Map.Entry<String, Object> item: ((Map<String, Object>) property).entrySet()) {
+ for (Map.Entry<String, Object> item : ((Map<String, Object>) property).entrySet()) {
String itemPath = path + PATH_DELIMITER + item.getKey();
filterProperties(item.getValue(), itemPath, filterType, pattern, filterMap);
}
} else if (property instanceof List) {
- for (Object item: (List<Object>)property) {
+ for (Object item : (List<Object>) property) {
filterProperties(item, path, filterType, pattern, filterMap);
}
} else {
@@ -1030,7 +1046,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
return filterMap;
}
-
+
/************************************* helper functions ***********************************/
private List<NodeTemplate> getNodeTemplateBySdcType(TopologyTemplate topologyTemplate, SdcTypes sdcType) {
if (sdcType == null) {
@@ -1045,8 +1061,11 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
List<NodeTemplate> nodeTemplates = topologyTemplate.getNodeTemplates();
- if (nodeTemplates != null && !nodeTemplates.isEmpty())
- return nodeTemplates.stream().filter(x -> (x.getMetaData() != null && sdcType.getValue().equals(x.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE)))).collect(toList());
+ if (nodeTemplates != null && !nodeTemplates.isEmpty()) {
+ return nodeTemplates.stream()
+ .filter(x -> (x.getMetadata() != null && sdcType.getValue().equals(x.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_TYPE))))
+ .collect(toList());
+ }
log.debug("getNodeTemplateBySdcType - topologyTemplate's nodeTemplates not exist");
return new ArrayList<>();
@@ -1054,104 +1073,99 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
//Assumed to be unique property for the list
private NodeTemplate getNodeTemplateByCustomizationUuid(List<NodeTemplate> nodeTemplates, String customizationId) {
- if (customizationId != null) {
- Optional<NodeTemplate> findFirst = nodeTemplates.stream().filter(x -> (x.getMetaData() != null && customizationId.equals(x.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID)))).findFirst();
+ if (customizationId != null) {
+ Optional<NodeTemplate> findFirst = nodeTemplates.stream().filter(
+ x -> (x.getMetadata() != null && customizationId.equals(x.getMetadata().getValue(SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID))))
+ .findFirst();
return findFirst.isPresent() ? findFirst.get() : null;
- }
- else {
+ } else {
log.error("getNodeTemplateByCustomizationUuid - customizationId is null");
return null;
}
}
- @Override
- public Map<String, List<InterfacesDef>> getInterfacesOf(NodeTemplate nt){
- if (nt == null) {
- return null;
+ @Override
+ public Map<String, List<InterfacesDef>> getInterfacesOf(NodeTemplate nt) {
+ if (nt == null) {
+ return null;
+ }
+ return nt.getAllInterfaceDetailsForNodeType();
}
- return nt.getAllInterfaceDetailsForNodeType();
- }
- @Override
- public List<String> getInterfaces(NodeTemplate nt){
- Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
- return new ArrayList<>(interfaceDetails.keySet());
- }
+ @Override
+ public List<String> getInterfaces(NodeTemplate nt) {
+ Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
+ return new ArrayList<>(interfaceDetails.keySet());
+ }
- @Override
- public List<InterfacesDef> getInterfaceDetails(NodeTemplate nt, String interfaceName){
- Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
- return interfaceDetails.get(interfaceName);
- }
+ @Override
+ public List<InterfacesDef> getInterfaceDetails(NodeTemplate nt, String interfaceName) {
+ Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
+ return interfaceDetails.get(interfaceName);
+ }
- @Override
- public List<String> getAllInterfaceOperations(NodeTemplate nt, String interfaceName){
- Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
- return interfaceDetails.values().stream().flatMap(List::stream).map(val -> val.getOperationName()).collect(
- Collectors.toList());
- }
+ @Override
+ public List<String> getAllInterfaceOperations(NodeTemplate nt, String interfaceName) {
+ Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
+ return interfaceDetails.values().stream().flatMap(List::stream).map(val -> val.getOperationName()).collect(
+ Collectors.toList());
+ }
- @Override
- public InterfacesDef getInterfaceOperationDetails(NodeTemplate nt, String interfaceName, String operationName){
- Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
- if(!interfaceDetails.isEmpty()){
- List<InterfacesDef> interfaceDefs = interfaceDetails.get(interfaceName);
- return interfaceDefs.stream().filter(val -> val.getOperationName().equals(operationName)).findFirst().orElse(null);
+ @Override
+ public InterfacesDef getInterfaceOperationDetails(NodeTemplate nt, String interfaceName, String operationName) {
+ Map<String, List<InterfacesDef>> interfaceDetails = nt.getAllInterfaceDetailsForNodeType();
+ if (!interfaceDetails.isEmpty()) {
+ List<InterfacesDef> interfaceDefs = interfaceDetails.get(interfaceName);
+ return interfaceDefs.stream().filter(val -> val.getOperationName().equals(operationName)).findFirst().orElse(null);
+ }
+ return null;
}
- return null;
- }
@Override
public List<String> getPropertyLeafValueByPropertyNamePathAndNodeTemplatePath(String propertyNamePath, String nodeTemplatePath) {
log.info("A new request is received: property path is [{}], node template path is [{}]",
- propertyNamePath, nodeTemplatePath);
+ propertyNamePath, nodeTemplatePath);
List<String> propertyValuesList;
if (StringUtils.isEmpty(nodeTemplatePath) || StringUtils.isEmpty(propertyNamePath)) {
log.error("One of parameters is empty or null: property path is [{}], node template path is [{}]",
- propertyNamePath, nodeTemplatePath);
+ propertyNamePath, nodeTemplatePath);
propertyValuesList = Collections.emptyList();
- }
- else {
+ } else {
String[] nodeTemplates = getSplittedPath(nodeTemplatePath);
propertyValuesList = getPropertyFromInternalNodeTemplate(getNodeTemplateByName(nodeTemplates[0]), 1, nodeTemplates, propertyNamePath);
log.info("Found property value {} by path [{}] for node template [{}]",
- propertyValuesList, propertyNamePath, nodeTemplatePath);
+ propertyValuesList, propertyNamePath, nodeTemplatePath);
}
return propertyValuesList;
}
private List<String> getPropertyFromInternalNodeTemplate(NodeTemplate parent, int index,
- String[] nodeTemplatePath, String propertyPath) {
+ String[] nodeTemplatePath, String propertyPath) {
List<String> propertyValuesList;
if (parent == null) {
log.error("Node template {} is not found, the request will be rejected", nodeTemplatePath[index]);
propertyValuesList = Collections.emptyList();
- }
- else if (nodeTemplatePath.length <= index) {
+ } else if (nodeTemplatePath.length <= index) {
log.debug("Stop NODE TEMPLATE searching");
propertyValuesList = getSimpleOrListPropertyValue(parent, propertyPath);
- }
- else {
+ } else {
log.debug("Node template {} is found with name {}", nodeTemplatePath[index], parent.getName());
NodeTemplate childNT = getChildNodeTemplateByName(parent, nodeTemplatePath[index]);
if (childNT == null || !isNodeTypeSupported(childNT)) {
log.error("Unsupported or not found node template named {}, the request will be rejected",
- nodeTemplatePath[index]);
+ nodeTemplatePath[index]);
propertyValuesList = Collections.emptyList();
- }
- else {
+ } else {
propertyValuesList = getPropertyFromInternalNodeTemplate(childNT, index + 1, nodeTemplatePath,
- propertyPath);
+ propertyPath);
}
}
return propertyValuesList;
}
-
-
private List<String> getSimpleOrListPropertyValue(NodeTemplate nodeTemplate, String propertyPath) {
List<String> propertyValueList;
String[] path = getSplittedPath(propertyPath);
@@ -1161,51 +1175,48 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
//the requested property type is either simple or list of simple types
PropertySchemaType propertyType = PropertySchemaType.getEnumByValue(property.getType());
if (propertyType == PropertySchemaType.LIST &&
- PropertyUtils.isDataPropertyType((String)property.getEntrySchema()
- .get(SdcPropertyNames.PROPERTY_NAME_TYPE))) {
+ PropertyUtils.isDataPropertyType((String) property.getEntrySchema()
+ .get(SdcPropertyNames.PROPERTY_NAME_TYPE))) {
//cover the case when a type of property "path[0]' is list of data types
// and the requested property is an internal simple property of this data type
propertyValueList = calculatePropertyValue(getNodeTemplatePropertyValueAsObject(nodeTemplate, path[0]), path, nodeTemplate.getName());
- }
- else {
+ } else {
//the requested property is simple type or list of simple types
- propertyValueList = calculatePropertyValue(getNodeTemplatePropertyValueAsObject(nodeTemplate, propertyPath), null, nodeTemplate.getName());
+ propertyValueList = calculatePropertyValue(getNodeTemplatePropertyValueAsObject(nodeTemplate, propertyPath), null,
+ nodeTemplate.getName());
}
- }
- else {
+ } else {
log.error("The type of property {} on node {} is neither simple nor list of simple objects, the request will be rejected",
- propertyPath, nodeTemplate.getName());
+ propertyPath, nodeTemplate.getName());
propertyValueList = Collections.emptyList();
}
return propertyValueList;
}
- private List<String> calculatePropertyValue(Object valueAsObject, String path[], String nodeName) {
+ private List<String> calculatePropertyValue(Object valueAsObject, String[] path, String nodeName) {
if (valueAsObject == null || valueAsObject instanceof Map) {
- log.error("The property {} either is not found on node template [{}], or it is data type, or it is not resolved get_input", path, nodeName);
+ log.error("The property {} either is not found on node template [{}], or it is data type, or it is not resolved get_input", path,
+ nodeName);
return Collections.emptyList();
}
if (path != null) {
- return PropertyUtils.findSimplePropertyValueInListOfDataTypes((List<Object>)valueAsObject, path);
+ return PropertyUtils.findSimplePropertyValueInListOfDataTypes((List<Object>) valueAsObject, path);
}
return PropertyUtils.buildSimplePropertValueOrList(valueAsObject);
}
-
-
-
private Property getNodeTemplatePropertyObjectByName(NodeTemplate nodeTemplate, String propertyName) {
return nodeTemplate.getPropertiesObjects()
- .stream()
- .filter(p->p.getName().equals(propertyName))
- .findFirst()
- .orElse(null);
+ .stream()
+ .filter(p -> p.getName().equals(propertyName))
+ .findFirst()
+ .orElse(null);
}
private NodeTemplate getChildNodeTemplateByName(NodeTemplate parent, String nodeTemplateName) {
return getNodeTemplateChildren(parent)
.stream()
- .filter(nt->nt.getName().equals(nodeTemplateName))
+ .filter(nt -> nt.getName().equals(nodeTemplateName))
.findFirst().orElse(null);
}
@@ -1219,7 +1230,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
if (log.isDebugEnabled()) {
log.debug("getEntity request: EntityQuery <{}>, TopologyTemplateQuery <{}>, isRecursive<{}>",
- entityQuery, topologyTemplateQuery, isRecursive);
+ entityQuery, topologyTemplateQuery, isRecursive);
}
return new QueryProcessor(toscaTemplate, entityQuery, topologyTemplateQuery, isRecursive).doQuery();
}
@@ -1230,12 +1241,12 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
}
@Override
- public List<IEntityDetails> getVFModule(String cuuid){
+ public List<IEntityDetails> getVFModule(String cuuid) {
String normalisedComponentInstanceName = SdcToscaUtility.normaliseComponentInstanceName(getVfiNameByCuuid(cuuid));
List<IEntityDetails> vfModulesFromVf = getVfModulesFromVf(cuuid);
List<IEntityDetails> vfModulesFromService = getVfModulesFromService().stream()
- .filter(v->v.getName().startsWith(normalisedComponentInstanceName))
- .collect(toList());
+ .filter(v -> v.getName().startsWith(normalisedComponentInstanceName))
+ .collect(toList());
addMembersToVfModuleInstances(vfModulesFromVf, vfModulesFromService);
return vfModulesFromService;
}
@@ -1246,29 +1257,29 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
List<IEntityDetails> vfModuleInstances = new ArrayList<>();
getVfModulesFromVf().forEach(vfmodule -> {
- if (Objects.isNull(vfmodule.getParent())){
+ if (Objects.isNull(vfmodule.getParent())) {
vfModuleInstances.add(vfmodule);
} else {
vfModules.add(vfmodule);
}
});
- addMembersToVfModuleInstances(vfModules,vfModuleInstances);
+ addMembersToVfModuleInstances(vfModules, vfModuleInstances);
return vfModuleInstances;
}
private void addMembersToVfModuleInstances(List<IEntityDetails> vfModules, List<IEntityDetails> vfModuleInstances) {
- for(IEntityDetails vfModuleInstance : vfModuleInstances){
+ for (IEntityDetails vfModuleInstance : vfModuleInstances) {
String origGroupName = getOriginalGroupName(vfModuleInstance);
setVFModuleMembers(vfModules, vfModuleInstance, origGroupName);
}
}
private void setVFModuleMembers(List<IEntityDetails> vfModules, IEntityDetails vfModuleInstance, String origGroupName) {
- for (IEntityDetails vfModule : vfModules){
- if (vfModuleInstance instanceof GroupEntityDetails && vfModule.getName().equals(origGroupName)){
+ for (IEntityDetails vfModule : vfModules) {
+ if (vfModuleInstance instanceof GroupEntityDetails && vfModule.getName().equals(origGroupName)) {
List<IEntityDetails> memberNodes = vfModule.getMemberNodes();
- ((GroupEntityDetails)vfModuleInstance).setMemberNodes(memberNodes);
+ ((GroupEntityDetails) vfModuleInstance).setMemberNodes(memberNodes);
}
}
}
@@ -1280,36 +1291,36 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper {
private List<IEntityDetails> getVfModulesFromService() {
EntityQuery entityQuery = EntityQuery.newBuilder(GROUPS_VF_MODULE)
- .build();
+ .build();
TopologyTemplateQuery topologyTemplateQuery = TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE)
- .build();
+ .build();
return getEntity(entityQuery, topologyTemplateQuery, false);
}
private List<IEntityDetails> getVfModulesFromVf(String cuuid) {
EntityQuery entityQuery = EntityQuery.newBuilder(GROUPS_VF_MODULE)
- .build();
+ .build();
TopologyTemplateQuery topologyTemplateQuery = TopologyTemplateQuery.newBuilder(SdcTypes.VF)
- .customizationUUID(cuuid)
- .build();
+ .customizationUUID(cuuid)
+ .build();
return getEntity(entityQuery, topologyTemplateQuery, false);
}
private List<IEntityDetails> getVfModulesFromVf() {
EntityQuery entityQuery = EntityQuery.newBuilder(GROUPS_VF_MODULE)
- .build();
+ .build();
TopologyTemplateQuery topologyTemplateQuery = TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE)
- .build();
+ .build();
return getEntity(entityQuery, topologyTemplateQuery, true);
}
private String getVfiNameByCuuid(String cuuid) {
EntityQuery entityQuery = EntityQuery.newBuilder(SdcTypes.VF)
- .customizationUUID(cuuid)
- .build();
+ .customizationUUID(cuuid)
+ .build();
TopologyTemplateQuery topologyTemplateQuery = TopologyTemplateQuery.newBuilder(SdcTypes.SERVICE)
- .build();
+ .build();
return getEntity(entityQuery, topologyTemplateQuery, true).get(0).getName();
}
- }
+}