diff options
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.java | 767 |
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(); } - } +} |