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;
return getTypes(ToscaTagNamesEnum.CAPABILITY_TYPES);
}
- private Map<String, Object> getTypes(ToscaTagNamesEnum toscaTag) {
- final Map<String, Object> types = new HashMap<>();
- mainTemplateImports.entrySet().forEach(entry -> types.putAll(getTypesFromTemplate(entry.getValue(), toscaTag)));
- types.putAll(getTypesFromTemplate(getMappedToscaMainTemplate(), toscaTag));
- return types;
- }
-
+ @Override
public Map<String, Object> getArtifactTypes() {
- final Map<String, Object> 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
return getTypes(ToscaTagNamesEnum.INTERFACE_TYPES);
}
+ private Map<String, Object> getTypes(ToscaTagNamesEnum toscaTag) {
+ final Map<String, Object> types = new HashMap<>();
+ mainTemplateImports.entrySet().forEach(entry -> types.putAll(getTypesFromTemplate(entry.getValue(), toscaTag)));
+ types.putAll(getTypesFromTemplate(getMappedToscaMainTemplate(), toscaTag));
+ return types;
+ }
+
public List<NodeTypeDefinition> getNodeTypesUsed() {
if (nodeTypeDefinitions == null) {
nodeTypeDefinitions = new ArrayList<>();
return nodeTypesToReturn;
}
-
private Map<String, NodeTypeDefinition> getTypes(final Set<String> nodeTypes) {
final Map<String, NodeTypeDefinition> nodeTypeDefinitionsMap = new HashMap<>();
final Set<String> lowerPrecedenceImports = new HashSet<>();
return nodeTypeDefinitionsMap;
}
-
private void addTypesFromTemplate(final Map<String, NodeTypeDefinition> nodeTypeDefinitionsMap, final Map<String, Object> mappedTemplate,
final Set<String> nodeTypes) {
final Map<String, Object> types = getTypesFromTemplate(mappedTemplate, ToscaTagNamesEnum.NODE_TYPES, nodeTypes);
}
@SuppressWarnings("unchecked")
- private Set<String> getNodeTypesUsedInToscaTemplate(Map<String, Object> mappedToscaTemplate) {
- final Either<Object, ResultStatusEnum> nodeTemplatesEither = findToscaElement(mappedToscaTemplate,
- TypeUtils.ToscaTagNamesEnum.NODE_TEMPLATES, ToscaElementTypeEnum.MAP);
- final Set<String> nodeTypesUsedInNodeTemplates = new HashSet<>();
+ private Set<String> getNodeTypesUsedInToscaTemplate(final Map<String, Object> mappedToscaTemplate) {
+ final var nodeTemplatesEither = findToscaElement(mappedToscaTemplate, TypeUtils.ToscaTagNamesEnum.NODE_TEMPLATES, ToscaElementTypeEnum.MAP);
+ final Set<String> nodeTypesUsedInToscaTemplate = new HashSet<>();
if (nodeTemplatesEither.isLeft()) {
- final Map<String, Map<String, Object>> nodeTemplates =
- (Map<String, Map<String, Object>>) nodeTemplatesEither.left().value();
- nodeTypesUsedInNodeTemplates.addAll(findNodeTypesUsedInNodeTemplates(nodeTemplates));
+ final var nodeTemplates = (Map<String, Map<String, Object>>) 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<String, Object> mappedResourceTemplate, String nodeTemplateType) {
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<CategoryDefinition> categories = new ArrayList<>();
categories.add(category);