X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=catalog-be%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fsdc%2Fbe%2Fcomponents%2Fcsar%2FServiceCsarInfo.java;h=8352a8d628c803f9194b591484872944c28b982d;hb=f4668df71072c8ecd4b9d05423006265b36a6ef7;hp=cd73f70cc578027d2d6783d24e554f92c564e5d2;hpb=18b6345a65843bcea872125cd0888ced7c521588;p=sdc.git diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/ServiceCsarInfo.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/ServiceCsarInfo.java index cd73f70cc5..8352a8d628 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/ServiceCsarInfo.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/ServiceCsarInfo.java @@ -22,6 +22,7 @@ package org.openecomp.sdc.be.components.csar; import static org.openecomp.sdc.be.components.impl.ImportUtils.Constants.DEFAULT_ICON; +import static org.openecomp.sdc.be.components.impl.ImportUtils.findFirstToscaStringElement; import static org.openecomp.sdc.be.components.impl.ImportUtils.findToscaElement; import fj.data.Either; @@ -170,19 +171,9 @@ public class ServiceCsarInfo extends CsarInfo { return getTypes(ToscaTagNamesEnum.CAPABILITY_TYPES); } - private Map getTypes(ToscaTagNamesEnum toscaTag) { - final Map types = new HashMap<>(); - mainTemplateImports.entrySet().forEach(entry -> types.putAll(getTypesFromTemplate(entry.getValue(), toscaTag))); - types.putAll(getTypesFromTemplate(getMappedToscaMainTemplate(), toscaTag)); - return types; - } - + @Override public Map getArtifactTypes() { - final Map artifactsTypes = new HashMap<>(); - mainTemplateImports.entrySet() - .forEach(entry -> artifactsTypes.putAll(getTypesFromTemplate(entry.getValue(), TypeUtils.ToscaTagNamesEnum.ARTIFACT_TYPES))); - artifactsTypes.putAll(getTypesFromTemplate(getMappedToscaMainTemplate(), TypeUtils.ToscaTagNamesEnum.ARTIFACT_TYPES)); - return artifactsTypes; + return getTypes(ToscaTagNamesEnum.ARTIFACT_TYPES); } @Override @@ -190,6 +181,13 @@ public class ServiceCsarInfo extends CsarInfo { return getTypes(ToscaTagNamesEnum.INTERFACE_TYPES); } + private Map getTypes(ToscaTagNamesEnum toscaTag) { + final Map types = new HashMap<>(); + mainTemplateImports.entrySet().forEach(entry -> types.putAll(getTypesFromTemplate(entry.getValue(), toscaTag))); + types.putAll(getTypesFromTemplate(getMappedToscaMainTemplate(), toscaTag)); + return types; + } + public List getNodeTypesUsed() { if (nodeTypeDefinitions == null) { nodeTypeDefinitions = new ArrayList<>(); @@ -249,7 +247,6 @@ public class ServiceCsarInfo extends CsarInfo { return nodeTypesToReturn; } - private Map getTypes(final Set nodeTypes) { final Map nodeTypeDefinitionsMap = new HashMap<>(); final Set lowerPrecedenceImports = new HashSet<>(); @@ -274,7 +271,6 @@ public class ServiceCsarInfo extends CsarInfo { return nodeTypeDefinitionsMap; } - private void addTypesFromTemplate(final Map nodeTypeDefinitionsMap, final Map mappedTemplate, final Set nodeTypes) { final Map types = getTypesFromTemplate(mappedTemplate, ToscaTagNamesEnum.NODE_TYPES, nodeTypes); @@ -287,16 +283,18 @@ public class ServiceCsarInfo extends CsarInfo { } @SuppressWarnings("unchecked") - private Set getNodeTypesUsedInToscaTemplate(Map mappedToscaTemplate) { - final Either nodeTemplatesEither = findToscaElement(mappedToscaTemplate, - TypeUtils.ToscaTagNamesEnum.NODE_TEMPLATES, ToscaElementTypeEnum.MAP); - final Set nodeTypesUsedInNodeTemplates = new HashSet<>(); + private Set getNodeTypesUsedInToscaTemplate(final Map mappedToscaTemplate) { + final var nodeTemplatesEither = findToscaElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TEMPLATES, ToscaElementTypeEnum.MAP); + final Set nodeTypesUsedInToscaTemplate = new HashSet<>(); if (nodeTemplatesEither.isLeft()) { - final Map> nodeTemplates = - (Map>) nodeTemplatesEither.left().value(); - nodeTypesUsedInNodeTemplates.addAll(findNodeTypesUsedInNodeTemplates(nodeTemplates)); + final var nodeTemplates = (Map>) nodeTemplatesEither.left().value(); + nodeTypesUsedInToscaTemplate.addAll(findNodeTypesUsedInNodeTemplates(nodeTemplates)); } - return nodeTypesUsedInNodeTemplates; + final var substitutionMappingsNodeType = findFirstToscaStringElement(mappedToscaTemplate, ToscaTagNamesEnum.NODE_TYPE); + if (substitutionMappingsNodeType.isLeft()){ + nodeTypesUsedInToscaTemplate.add(substitutionMappingsNodeType.left().value()); + } + return nodeTypesUsedInToscaTemplate; } private NodeTypeMetadata getMetaDataFromTemplate(Map mappedResourceTemplate, String nodeTemplateType) { @@ -325,7 +323,6 @@ public class ServiceCsarInfo extends CsarInfo { category.setName((String) metadata.get("category")); category.setNormalizedName(((String) metadata.get("category")).toLowerCase()); category.setIcons(List.of(DEFAULT_ICON)); - category.setNormalizedName(((String) metadata.get("category")).toLowerCase()); category.addSubCategory(subCategory); List categories = new ArrayList<>(); categories.add(category);