+ final Map<String, Object> editedPropertyMap = new HashMap<>();
+ for (final Entry<String, Object> property : propertyMap.entrySet()) {
+ if (!PROPERTIES_TO_EXCLUDE_FROM_ETSI_SOL_NSD_NS_NODE_TEMPLATE.contains(property.getKey()) && propertyIsDefinedInNodeType(
+ property.getKey())) {
+ editedPropertyMap.put(property.getKey(), property.getValue());
+ }
+ }
+ if (editedPropertyMap.isEmpty()) {
+ nodeTemplate.getValue().setProperties(null);
+ } else {
+ nodeTemplate.getValue().setProperties(editedPropertyMap);
+ }
+ }
+
+ private void setRequirementsForNodeTemplate(final Entry<String, ToscaNodeTemplate> nodeTemplateMap) {
+ final List<Map<String, ToscaTemplateRequirement>> requirementAssignments = nodeTemplateMap.getValue().getRequirements();
+ if (requirementAssignments != null) {
+ final List<Map<String, ToscaTemplateRequirement>> requirementAssignmentsMatchingVnfdRequirements = new ArrayList<>();
+ for (final Map<String, ToscaTemplateRequirement> requirementAssignment : requirementAssignments) {
+ final Map<String, ToscaTemplateRequirement> requirementAssignmentMatchingVnfd =
+ requirementAssignment.entrySet().stream()
+ .collect(Collectors.toMap(entry -> entry.getKey().substring(entry.getKey().lastIndexOf('.') + 1), Map.Entry::getValue));
+ requirementAssignmentsMatchingVnfdRequirements.add(requirementAssignmentMatchingVnfd);
+ }
+ nodeTemplateMap.getValue().setRequirements(requirementAssignmentsMatchingVnfdRequirements);