summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationBase.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationBase.java543
1 files changed, 268 insertions, 275 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationBase.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationBase.java
index f93d3714ca..a19075f050 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationBase.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationBase.java
@@ -16,15 +16,26 @@
package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
import org.apache.commons.collections4.CollectionUtils;
+import org.onap.sdc.tosca.datatypes.model.RequirementAssignment;
+import org.onap.sdc.tosca.datatypes.model.ServiceTemplate;
import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate;
import org.openecomp.sdc.heat.datatypes.model.Resource;
import org.openecomp.sdc.tosca.datatypes.ToscaCapabilityType;
import org.openecomp.sdc.tosca.datatypes.ToscaRelationshipType;
import org.openecomp.sdc.tosca.datatypes.ToscaTopologyTemplateElements;
-import org.onap.sdc.tosca.datatypes.model.RequirementAssignment;
-import org.onap.sdc.tosca.datatypes.model.ServiceTemplate;
import org.openecomp.sdc.tosca.services.DataModelUtil;
import org.openecomp.sdc.tosca.services.ToscaConstants;
import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
@@ -38,303 +49,285 @@ import org.openecomp.sdc.translator.services.heattotosca.errors.ResourceNotFound
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
public abstract class ResourceTranslationBase {
- protected static Logger logger = LoggerFactory.getLogger(ResourceTranslationBase.class);
- protected abstract void translate(TranslateTo translateTo);
-
- /**
- * Translate resource.
- *
- * @param heatFileName the heat file name
- * @param serviceTemplate the service template
- * @param heatOrchestrationTemplate the heat orchestration template
- * @param resource the resource
- * @param resourceId the resource id
- * @param context the context
- * @return the translated id if this resource is supported, or empty value if not supported
- */
- public Optional<String> translateResource(String heatFileName, ServiceTemplate serviceTemplate,
- HeatOrchestrationTemplate heatOrchestrationTemplate,
- Resource resource, String resourceId,
- TranslationContext context) {
- Optional<String> translatedId =
- getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, resourceId, context);
- context.getTranslatedResources().putIfAbsent(heatFileName, new HashSet<>());
-
- if (isResourceWithSameIdAppearsInOtherFiles(heatFileName, resourceId, context)) {
- throw new CoreException(
- new DuplicateResourceIdsInDifferentFilesErrorBuilder(resourceId).build());
- }
- if (context.getTranslatedResources().get(heatFileName).contains(resourceId)) {
- return translatedId;
+ protected static Logger logger = LoggerFactory.getLogger(ResourceTranslationBase.class);
+
+ /**
+ * Gets resource translated id.
+ *
+ * @param heatFileName the heat file name
+ * @param heatOrchestrationTemplate the heat orchestration template
+ * @param resourceId the resource id
+ * @param context the context
+ * @return the resource translated id
+ */
+ public static Optional<String> getResourceTranslatedId(String heatFileName,
+ HeatOrchestrationTemplate
+ heatOrchestrationTemplate,
+ String resourceId,
+ TranslationContext context) {
+ if (!context.getTranslatedIds().containsKey(heatFileName)) {
+ context.getTranslatedIds().put(heatFileName, new HashMap<>());
+ }
+
+ Map<String, String> translatedIdsPerFile = context.getTranslatedIds().get(heatFileName);
+ String translatedId = translatedIdsPerFile.get(resourceId);
+ if (translatedId != null) {
+ return Optional.of(translatedId);
+ }
+
+ Resource resource = heatOrchestrationTemplate.getResources().get(resourceId);
+ if (resource == null) {
+ throw new CoreException(
+ new ResourceNotFoundInHeatFileErrorBuilder(resourceId, heatFileName).build());
+ }
+ return getTranslatedResourceId(resourceId, heatFileName, resource, heatOrchestrationTemplate,
+ context
+ );
}
- if (!translatedId.isPresent()) {
- return Optional.empty();
+
+ private static Optional<String> getTranslatedResourceId(String resourceId,
+ String heatFileName,
+ Resource resource,
+ HeatOrchestrationTemplate heatOrchestrationTemplate,
+ TranslationContext context) {
+ TranslateTo translateTo =
+ generateTranslationTo(heatFileName, heatOrchestrationTemplate, resource, resourceId,
+ context);
+
+ String translatedId =
+ ResourceTranslationFactory.getInstance(resource).generateTranslatedId(translateTo);
+
+ if (ConsolidationDataUtil.isNodeTemplatePointsToServiceTemplateWithoutNodeTemplates(translatedId,
+ heatFileName, context)) {
+ return Optional.empty();
+ }
+
+ if (translatedId != null) {
+ context.getTranslatedIds().get(heatFileName).put(resourceId, translatedId);
+ }
+
+ return Optional.ofNullable(translatedId);
}
- logger.debug("Translate- file: {} resource Id: {} translated resource id: {}",
- heatFileName, resourceId, translatedId.get());
- TranslateTo translateTo = new TranslateTo(heatFileName, serviceTemplate,
- heatOrchestrationTemplate, resource, resourceId, translatedId.get(), context);
- translate(translateTo);
- context.getTranslatedResources().get(heatFileName).add(resourceId);
-
- if (DataModelUtil.isNodeTemplate(translatedId.get(), serviceTemplate)) {
- if (!context.getHeatStackGroupMembers().containsKey(heatFileName)) {
- context.getHeatStackGroupMembers().put(heatFileName, new HashSet<>());
- }
- context.getHeatStackGroupMembers().get(heatFileName).add(translatedId.get());
- updateResourceDependency(translateTo);
+
+ private static Optional<ToscaTopologyTemplateElements> getResourceTranslatedElementTemplate(String heatFileName,
+ HeatOrchestrationTemplate heatOrchestrationTemplate,
+ String resourceId, TranslationContext context) {
+ Resource resource = heatOrchestrationTemplate.getResources().get(resourceId);
+ if (resource == null) {
+ throw new CoreException(
+ new ResourceNotFoundInHeatFileErrorBuilder(resourceId, heatFileName).build());
+ }
+ TranslateTo translateTo =
+ generateTranslationTo(heatFileName, heatOrchestrationTemplate, resource, resourceId,
+ context);
+
+ return ResourceTranslationFactory.getInstance(resource)
+ .getTranslatedToscaTopologyElement(translateTo);
}
- return translatedId;
- }
-
- private boolean isResourceWithSameIdAppearsInOtherFiles(String heatFileName,
- String resourceId,
- TranslationContext context) {
- Set<String> translatedResourceIdsFromOtherFiles =
- context.getTranslatedResourceIdsFromOtherFiles(heatFileName);
-
- return CollectionUtils.isNotEmpty(translatedResourceIdsFromOtherFiles)
- && translatedResourceIdsFromOtherFiles.contains(resourceId);
- }
-
- /**
- * Gets resource translated id.
- *
- * @param heatFileName the heat file name
- * @param heatOrchestrationTemplate the heat orchestration template
- * @param resourceId the resource id
- * @param context the context
- * @return the resource translated id
- */
- public static Optional<String> getResourceTranslatedId(String heatFileName,
- HeatOrchestrationTemplate
+
+ private static TranslateTo generateTranslationTo(String heatFileName,
+ HeatOrchestrationTemplate
heatOrchestrationTemplate,
- String resourceId,
- TranslationContext context) {
- if (!context.getTranslatedIds().containsKey(heatFileName)) {
- context.getTranslatedIds().put(heatFileName, new HashMap<>());
+ Resource resource, String resourceId,
+ TranslationContext context) {
+ TranslateTo to = new TranslateTo();
+ to.setHeatFileName(heatFileName);
+ to.setServiceTemplate(null);
+ to.setHeatOrchestrationTemplate(heatOrchestrationTemplate);
+ to.setResource(resource);
+ to.setResourceId(resourceId);
+ to.setTranslatedId(null);
+ to.setContext(context);
+ return to;
}
- Map<String, String> translatedIdsPerFile = context.getTranslatedIds().get(heatFileName);
- String translatedId = translatedIdsPerFile.get(resourceId);
- if (translatedId != null) {
- return Optional.of(translatedId);
+ protected abstract void translate(TranslateTo translateTo);
+
+ /**
+ * Translate resource.
+ *
+ * @param heatFileName the heat file name
+ * @param serviceTemplate the service template
+ * @param heatOrchestrationTemplate the heat orchestration template
+ * @param resource the resource
+ * @param resourceId the resource id
+ * @param context the context
+ * @return the translated id if this resource is supported, or empty value if not supported
+ */
+ public Optional<String> translateResource(String heatFileName, ServiceTemplate serviceTemplate,
+ HeatOrchestrationTemplate heatOrchestrationTemplate,
+ Resource resource, String resourceId,
+ TranslationContext context) {
+ Optional<String> translatedId =
+ getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, resourceId, context);
+ context.getTranslatedResources().putIfAbsent(heatFileName, new HashSet<>());
+
+ if (isResourceWithSameIdAppearsInOtherFiles(heatFileName, resourceId, context)) {
+ throw new CoreException(
+ new DuplicateResourceIdsInDifferentFilesErrorBuilder(resourceId).build());
+ }
+ if (context.getTranslatedResources().get(heatFileName).contains(resourceId)) {
+ return translatedId;
+ }
+ if (!translatedId.isPresent()) {
+ return Optional.empty();
+ }
+ logger.debug("Translate- file: {} resource Id: {} translated resource id: {}",
+ heatFileName, resourceId, translatedId.get());
+ TranslateTo translateTo = new TranslateTo(heatFileName, serviceTemplate,
+ heatOrchestrationTemplate, resource, resourceId, translatedId.get(), context);
+ translate(translateTo);
+ context.getTranslatedResources().get(heatFileName).add(resourceId);
+
+ if (DataModelUtil.isNodeTemplate(translatedId.get(), serviceTemplate)) {
+ if (!context.getHeatStackGroupMembers().containsKey(heatFileName)) {
+ context.getHeatStackGroupMembers().put(heatFileName, new HashSet<>());
+ }
+ context.getHeatStackGroupMembers().get(heatFileName).add(translatedId.get());
+ updateResourceDependency(translateTo);
+ }
+ return translatedId;
}
- Resource resource = heatOrchestrationTemplate.getResources().get(resourceId);
- if (resource == null) {
- throw new CoreException(
- new ResourceNotFoundInHeatFileErrorBuilder(resourceId, heatFileName).build());
- }
- return getTranslatedResourceId(resourceId, heatFileName, resource, heatOrchestrationTemplate,
- context
- );
- }
-
- private static Optional<String> getTranslatedResourceId(String resourceId,
- String heatFileName,
- Resource resource,
- HeatOrchestrationTemplate heatOrchestrationTemplate,
- TranslationContext context) {
- TranslateTo translateTo =
- generateTranslationTo(heatFileName, null, heatOrchestrationTemplate, resource, resourceId,
- null, context);
-
- String translatedId =
- ResourceTranslationFactory.getInstance(resource).generateTranslatedId(translateTo);
-
- if (ConsolidationDataUtil.isNodeTemplatePointsToServiceTemplateWithoutNodeTemplates
- (translatedId, heatFileName, context)) {
- return Optional.empty();
- }
+ private boolean isResourceWithSameIdAppearsInOtherFiles(String heatFileName,
+ String resourceId,
+ TranslationContext context) {
+ Set<String> translatedResourceIdsFromOtherFiles =
+ context.getTranslatedResourceIdsFromOtherFiles(heatFileName);
- if (translatedId != null) {
- context.getTranslatedIds().get(heatFileName).put(resourceId, translatedId);
+ return CollectionUtils.isNotEmpty(translatedResourceIdsFromOtherFiles)
+ && translatedResourceIdsFromOtherFiles.contains(resourceId);
}
- return Optional.ofNullable(translatedId);
- }
-
-
- /**
- * Gets resource translated element template.
- *
- * @param heatFileName the heat file name
- * @param heatOrchestrationTemplate the heat orchestration template
- * @param resourceId the resource id
- * @param context the context
- * @return the resource translated element template
- */
- public static Optional<ToscaTopologyTemplateElements> getResourceTranslatedElementTemplate(
- String heatFileName,
- HeatOrchestrationTemplate heatOrchestrationTemplate,
- String resourceId, TranslationContext context) {
- Resource resource = heatOrchestrationTemplate.getResources().get(resourceId);
- if (resource == null) {
- throw new CoreException(
- new ResourceNotFoundInHeatFileErrorBuilder(resourceId, heatFileName).build());
- }
- TranslateTo translateTo =
- generateTranslationTo(heatFileName, null, heatOrchestrationTemplate, resource, resourceId,
- null, context);
-
- return ResourceTranslationFactory.getInstance(resource)
- .getTranslatedToscaTopologyElement(translateTo);
- }
-
- protected String generateTranslatedId(TranslateTo translateTo) {
- if (isEssentialRequirementsValid(translateTo)) {
- return translateTo.getResourceId();
- } else {
- return null;
+ protected String generateTranslatedId(TranslateTo translateTo) {
+ if (isEssentialRequirementsValid(translateTo)) {
+ return translateTo.getResourceId();
+ } else {
+ return null;
+ }
+
}
- }
+ protected Optional<ToscaTopologyTemplateElements> getTranslatedToscaTopologyElement(
+ TranslateTo translateTo) {
+ if (isEssentialRequirementsValid(translateTo)) {
+ return Optional.of(ToscaTopologyTemplateElements.NODE_TEMPLATE);
+ } else {
+ return Optional.empty();
+ }
+ }
- protected Optional<ToscaTopologyTemplateElements> getTranslatedToscaTopologyElement(
- TranslateTo translateTo) {
- if (isEssentialRequirementsValid(translateTo)) {
- return Optional.of(ToscaTopologyTemplateElements.NODE_TEMPLATE);
- } else {
- return Optional.empty();
+ protected boolean isEssentialRequirementsValid(TranslateTo translateTo) {
+ return true;
}
- }
-
- protected boolean isEssentialRequirementsValid(TranslateTo translateTo) {
- return true;
- }
-
- private static TranslateTo generateTranslationTo(String heatFileName,
- ServiceTemplate serviceTemplate,
- HeatOrchestrationTemplate
- heatOrchestrationTemplate,
- Resource resource, String resourceId,
- String translatedId,
- TranslationContext context) {
- TranslateTo to = new TranslateTo();
- to.setHeatFileName(heatFileName);
- to.setServiceTemplate(serviceTemplate);
- to.setHeatOrchestrationTemplate(heatOrchestrationTemplate);
- to.setResource(resource);
- to.setResourceId(resourceId);
- to.setTranslatedId(translatedId);
- to.setContext(context);
- return to;
- }
-
- private void updateResourceDependency(TranslateTo translateTo) {
-
- Resource resource = translateTo.getResource();
- if (resource.getDepends_on() == null) {
- return;
+
+ private void updateResourceDependency(TranslateTo translateTo) {
+
+ Resource resource = translateTo.getResource();
+ if (resource.getDepends_on() == null) {
+ return;
+ }
+
+ if (resource.getDepends_on() instanceof List) {
+ List<String> dependsOnList = (List<String>) resource.getDepends_on();
+ for (String dependsOnResourceId : dependsOnList) {
+ addDependency(dependsOnResourceId, translateTo);
+ }
+ } else {
+ String dependsOnResourceId = (String) resource.getDepends_on();
+ addDependency(dependsOnResourceId, translateTo);
+ }
}
- if (resource.getDepends_on() instanceof List) {
- List<String> dependsOnList = (List<String>) resource.getDepends_on();
- for (String dependsOnResourceId : dependsOnList) {
- addDependOnRequirement(dependsOnResourceId, translateTo);
- }
- } else {
- String dependsOnResourceId = (String) resource.getDepends_on();
- addDependOnRequirement(dependsOnResourceId, translateTo);
+ private void addDependency(String dependsOnResourceId, TranslateTo translateTo) {
+ String heatFileName = translateTo.getHeatFileName();
+ HeatOrchestrationTemplate heatOrchestrationTemplate = translateTo
+ .getHeatOrchestrationTemplate();
+ TranslationContext context = translateTo.getContext();
+
+ Optional<String> resourceTranslatedId =
+ getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, dependsOnResourceId,
+ context);
+
+ Optional<ToscaTopologyTemplateElements> resourceTranslatedElementTemplate =
+ getResourceTranslatedElementTemplate(heatFileName, heatOrchestrationTemplate,
+ dependsOnResourceId, context);
+
+ if (resourceTranslatedId.isPresent()
+ && (resourceTranslatedElementTemplate.isPresent()
+ && resourceTranslatedElementTemplate.get() == ToscaTopologyTemplateElements.NODE_TEMPLATE)) {
+ Resource sourceResource = translateTo.getResource();
+ Resource targetResource = HeatToToscaUtil.getResource(heatOrchestrationTemplate, dependsOnResourceId,
+ translateTo.getHeatFileName());
+ if (isValidDependency(sourceResource, targetResource, translateTo)) {
+ addDependsOnRequirement(dependsOnResourceId, translateTo, resourceTranslatedId.get(), sourceResource,
+ targetResource);
+ }
+ }
}
- }
-
- private void addDependOnRequirement(String dependsOnResourceId, TranslateTo translateTo) {
- String nodeTemplateId = translateTo.getTranslatedId();
- ServiceTemplate serviceTemplate = translateTo.getServiceTemplate();
- String heatFileName = translateTo.getHeatFileName();
- HeatOrchestrationTemplate heatOrchestrationTemplate = translateTo
- .getHeatOrchestrationTemplate();
- TranslationContext context = translateTo.getContext();
- RequirementAssignment requirementAssignment = new RequirementAssignment();
- Optional<String> resourceTranslatedId =
- getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, dependsOnResourceId,
- context);
-
- Optional<ToscaTopologyTemplateElements> resourceTranslatedElementTemplate =
- getResourceTranslatedElementTemplate(heatFileName, heatOrchestrationTemplate,
- dependsOnResourceId, context);
-
- if (resourceTranslatedId.isPresent()
- && (resourceTranslatedElementTemplate.isPresent() && resourceTranslatedElementTemplate
- .get() == ToscaTopologyTemplateElements.NODE_TEMPLATE)) {
- Resource sourceResource = translateTo.getResource();
- Resource targetResource = HeatToToscaUtil
- .getResource(heatOrchestrationTemplate, dependsOnResourceId,
- translateTo.getHeatFileName());
- if (isValidDependency(sourceResource, targetResource, translateTo)) {
- requirementAssignment.setNode(resourceTranslatedId.get());
+
+ private void addDependsOnRequirement(String dependsOnResourceId, TranslateTo translateTo,
+ String resourceTranslatedId, Resource sourceResource,
+ Resource targetResource) {
+ RequirementAssignment requirementAssignment = new RequirementAssignment();
+ requirementAssignment.setNode(resourceTranslatedId);
requirementAssignment.setCapability(ToscaCapabilityType.NATIVE_NODE);
requirementAssignment.setRelationship(ToscaRelationshipType.NATIVE_DEPENDS_ON);
- DataModelUtil.addRequirementAssignment(
- serviceTemplate.getTopology_template().getNode_templates().get(nodeTemplateId),
- ToscaConstants.DEPENDS_ON_REQUIREMENT_ID, requirementAssignment);
+ DataModelUtil.addRequirementAssignment(translateTo.getServiceTemplate().getTopology_template()
+ .getNode_templates().get(translateTo.getTranslatedId()),
+ ToscaConstants.DEPENDS_ON_REQUIREMENT_ID, requirementAssignment);
ConsolidationDataUtil
- .updateNodesConnectedData(translateTo, dependsOnResourceId, targetResource,
- sourceResource, nodeTemplateId, ToscaConstants.DEPENDS_ON_REQUIREMENT_ID,
- requirementAssignment);
- }
+ .updateNodesConnectedData(translateTo, dependsOnResourceId, targetResource,
+ sourceResource, translateTo.getTranslatedId(), ToscaConstants.DEPENDS_ON_REQUIREMENT_ID,
+ requirementAssignment);
+ }
+
+ private boolean isValidDependency(Resource sourceResource, Resource targetResource, TranslateTo translateTo) {
+ return !(HeatToToscaUtil.isNestedResource(sourceResource) || HeatToToscaUtil.isNestedResource(targetResource))
+ && HeatToToscaUtil.isValidDependsOnCandidate(sourceResource, targetResource,
+ ConsolidationEntityType.OTHER, translateTo.getContext());
+ }
+
+ Optional<List<Map.Entry<String, Resource>>> getResourceByTranslatedResourceId(
+ String heatFileName,
+ HeatOrchestrationTemplate heatOrchestrationTemplate,
+ String translatedResourceId,
+ TranslateTo translateTo,
+ String heatResourceType) {
+ List<Map.Entry<String, Resource>> list = heatOrchestrationTemplate.getResources().entrySet()
+ .stream()
+ .filter(entry -> getPredicatesForTranslatedIdToResourceId(heatFileName,
+ heatOrchestrationTemplate, translatedResourceId, translateTo.getContext(),
+ heatResourceType)
+ .stream()
+ .allMatch(p -> p.test(entry)))
+ .collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(list)) {
+ return Optional.empty();
+ } else {
+ return Optional.of(list);
+ }
}
- }
-
- private boolean isValidDependency(Resource sourceResource, Resource targetResource, TranslateTo translateTo) {
- return !(HeatToToscaUtil.isNestedResource(sourceResource) || HeatToToscaUtil.isNestedResource(targetResource))
- && HeatToToscaUtil.isValidDependsOnCandidate(sourceResource, targetResource,
- ConsolidationEntityType.OTHER, translateTo.getContext());
- }
-
- Optional<List<Map.Entry<String, Resource>>> getResourceByTranslatedResourceId(
- String heatFileName,
- HeatOrchestrationTemplate heatOrchestrationTemplate,
- String translatedResourceId,
- TranslateTo translateTo,
- String heatResourceType) {
- List<Map.Entry<String, Resource>> list = heatOrchestrationTemplate.getResources().entrySet()
- .stream()
- .filter(entry -> getPredicatesForTranslatedIdToResourceId(heatFileName,
- heatOrchestrationTemplate, translatedResourceId, translateTo.getContext(),
- heatResourceType)
- .stream()
- .allMatch(p -> p.test(entry)))
- .collect(Collectors.toList());
- if (CollectionUtils.isEmpty(list)) {
- return Optional.empty();
- } else {
- return Optional.of(list);
+
+ private List<Predicate<Map.Entry<String, Resource>>> getPredicatesForTranslatedIdToResourceId(
+ String heatFileName, HeatOrchestrationTemplate heatOrchestrationTemplate,
+ String translatedResourceId, TranslationContext context, String heatResourceType) {
+ List<Predicate<Map.Entry<String, Resource>>> list = new ArrayList<>();
+ list.add(entry ->
+ entry.getValue().getType().equals(heatResourceType));
+ list.add(entry -> {
+ Optional<String> resourceTranslatedId =
+ getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, entry.getKey(), context);
+ return resourceTranslatedId.isPresent()
+ && resourceTranslatedId.get().equals(translatedResourceId);
+ });
+ return list;
+ }
+
+ boolean isUnsupportedResourceType(Resource resource, List<String> supportedTypes) {
+ return !Objects.nonNull(resource) || !supportedTypes.contains(resource.getType());
}
- }
-
- private List<Predicate<Map.Entry<String, Resource>>> getPredicatesForTranslatedIdToResourceId(
- String heatFileName, HeatOrchestrationTemplate heatOrchestrationTemplate,
- String translatedResourceId, TranslationContext context, String heatResourceType) {
- List<Predicate<Map.Entry<String, Resource>>> list = new ArrayList<>();
- list.add(entry ->
- entry.getValue().getType().equals(heatResourceType));
- list.add(entry -> {
- Optional<String> resourceTranslatedId =
- getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, entry.getKey(), context);
- return resourceTranslatedId.isPresent()
- && resourceTranslatedId.get().equals(translatedResourceId);
- });
- return list;
- }
-
- boolean isResourceTypeSupported(Resource resource, List<String> supporteTypes) {
- return Objects.nonNull(resource) && supporteTypes.contains(resource.getType());
- }
}