Reformat openecomp-be
[sdc.git] / 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 9011c9e..1e04028 100644 (file)
@@ -13,7 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation;
 
 import java.util.ArrayList;
@@ -25,9 +24,7 @@ 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;
@@ -62,76 +59,49 @@ public abstract class ResourceTranslationBase {
      * @param context                   the context
      * @return the resource translated id
      */
-    public static Optional<String> getResourceTranslatedId(String heatFileName,
-                                                           HeatOrchestrationTemplate
-                                                                   heatOrchestrationTemplate,
-                                                           String resourceId,
-                                                           TranslationContext context) {
+    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());
+            throw new CoreException(new ResourceNotFoundInHeatFileErrorBuilder(resourceId, heatFileName).build());
         }
-        return getTranslatedResourceId(resourceId, heatFileName, resource, heatOrchestrationTemplate,
-                context
-        );
+        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, heatOrchestrationTemplate, resource, resourceId,
-                        context);
-
-        String translatedId =
-                ResourceTranslationFactory.getInstance(resource).generateTranslatedId(translateTo);
-
-        if (ConsolidationDataUtil.isNodeTemplatePointsToServiceTemplateWithoutNodeTemplates(translatedId,
-                heatFileName, context)) {
+    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);
     }
 
     private static Optional<ToscaTopologyTemplateElements> getResourceTranslatedElementTemplate(String heatFileName,
-            HeatOrchestrationTemplate heatOrchestrationTemplate,
-            String resourceId, TranslationContext context) {
+                                                                                                HeatOrchestrationTemplate heatOrchestrationTemplate,
+                                                                                                String resourceId, TranslationContext context) {
         Resource resource = heatOrchestrationTemplate.getResources().get(resourceId);
         if (resource == null) {
-            throw new CoreException(
-                    new ResourceNotFoundInHeatFileErrorBuilder(resourceId, heatFileName).build());
+            throw new CoreException(new ResourceNotFoundInHeatFileErrorBuilder(resourceId, heatFileName).build());
         }
-        TranslateTo translateTo =
-                generateTranslationTo(heatFileName, heatOrchestrationTemplate, resource, resourceId,
-                        context);
-
-        return ResourceTranslationFactory.getInstance(resource)
-                .getTranslatedToscaTopologyElement(translateTo);
+        TranslateTo translateTo = generateTranslationTo(heatFileName, heatOrchestrationTemplate, resource, resourceId, context);
+        return ResourceTranslationFactory.getInstance(resource).getTranslatedToscaTopologyElement(translateTo);
     }
 
-    private static TranslateTo generateTranslationTo(String heatFileName,
-                                                     HeatOrchestrationTemplate
-                                                             heatOrchestrationTemplate,
-                                                     Resource resource, String resourceId,
-                                                     TranslationContext context) {
+    private static TranslateTo generateTranslationTo(String heatFileName, HeatOrchestrationTemplate heatOrchestrationTemplate, Resource resource,
+                                                     String resourceId, TranslationContext context) {
         TranslateTo to = new TranslateTo();
         to.setHeatFileName(heatFileName);
         to.setServiceTemplate(null);
@@ -157,16 +127,12 @@ public abstract class ResourceTranslationBase {
      * @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,
+                                              HeatOrchestrationTemplate heatOrchestrationTemplate, Resource resource, String resourceId,
                                               TranslationContext context) {
-        Optional<String> translatedId =
-                getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, resourceId, 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());
+            throw new CoreException(new DuplicateResourceIdsInDifferentFilesErrorBuilder(resourceId).build());
         }
         if (context.getTranslatedResources().get(heatFileName).contains(resourceId)) {
             return translatedId;
@@ -174,13 +140,11 @@ public abstract class ResourceTranslationBase {
         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);
+        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<>());
@@ -191,14 +155,9 @@ public abstract class ResourceTranslationBase {
         return translatedId;
     }
 
-    private boolean isResourceWithSameIdAppearsInOtherFiles(String heatFileName,
-                                                            String resourceId,
-                                                            TranslationContext context) {
-        Set<String> translatedResourceIdsFromOtherFiles =
-                context.getTranslatedResourceIdsFromOtherFiles(heatFileName);
-
-        return CollectionUtils.isNotEmpty(translatedResourceIdsFromOtherFiles)
-                && translatedResourceIdsFromOtherFiles.contains(resourceId);
+    private boolean isResourceWithSameIdAppearsInOtherFiles(String heatFileName, String resourceId, TranslationContext context) {
+        Set<String> translatedResourceIdsFromOtherFiles = context.getTranslatedResourceIdsFromOtherFiles(heatFileName);
+        return CollectionUtils.isNotEmpty(translatedResourceIdsFromOtherFiles) && translatedResourceIdsFromOtherFiles.contains(resourceId);
     }
 
     protected String generateTranslatedId(TranslateTo translateTo) {
@@ -207,11 +166,9 @@ public abstract class ResourceTranslationBase {
         } else {
             return null;
         }
-
     }
 
-    protected Optional<ToscaTopologyTemplateElements> getTranslatedToscaTopologyElement(
-            TranslateTo translateTo) {
+    protected Optional<ToscaTopologyTemplateElements> getTranslatedToscaTopologyElement(TranslateTo translateTo) {
         if (isEssentialRequirementsValid(translateTo)) {
             return Optional.of(ToscaTopologyTemplateElements.NODE_TEMPLATE);
         } else {
@@ -224,12 +181,10 @@ public abstract class ResourceTranslationBase {
     }
 
     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) {
@@ -243,67 +198,47 @@ public abstract class ResourceTranslationBase {
 
     private void addDependency(String dependsOnResourceId, TranslateTo translateTo) {
         String heatFileName = translateTo.getHeatFileName();
-        HeatOrchestrationTemplate heatOrchestrationTemplate = translateTo
-                .getHeatOrchestrationTemplate();
+        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)) {
+        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());
+            Resource targetResource = HeatToToscaUtil.getResource(heatOrchestrationTemplate, dependsOnResourceId, translateTo.getHeatFileName());
             if (isValidDependency(sourceResource, targetResource, translateTo)) {
-                addDependsOnRequirement(dependsOnResourceId, translateTo, resourceTranslatedId.get(), sourceResource,
-                        targetResource);
+                addDependsOnRequirement(dependsOnResourceId, translateTo, resourceTranslatedId.get(), sourceResource, targetResource);
             }
         }
     }
 
-    private void addDependsOnRequirement(String dependsOnResourceId, TranslateTo translateTo,
-                                         String resourceTranslatedId, Resource sourceResource,
+    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(translateTo.getServiceTemplate().getTopology_template()
-                        .getNode_templates().get(translateTo.getTranslatedId()),
+        DataModelUtil
+            .addRequirementAssignment(translateTo.getServiceTemplate().getTopology_template().getNode_templates().get(translateTo.getTranslatedId()),
                 ToscaConstants.DEPENDS_ON_REQUIREMENT_ID, requirementAssignment);
         ConsolidationDataUtil
-                .updateNodesConnectedData(translateTo, dependsOnResourceId, targetResource,
-                        sourceResource, translateTo.getTranslatedId(), 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());
+        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());
+    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 {
@@ -311,17 +246,16 @@ public abstract class ResourceTranslationBase {
         }
     }
 
-    private List<Predicate<Map.Entry<String, Resource>>> getPredicatesForTranslatedIdToResourceId(
-            String heatFileName, HeatOrchestrationTemplate heatOrchestrationTemplate,
-            String translatedResourceId, TranslationContext context, String heatResourceType) {
+    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 -> entry.getValue().getType().equals(heatResourceType));
         list.add(entry -> {
-            Optional<String> resourceTranslatedId =
-                    getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, entry.getKey(), context);
-            return resourceTranslatedId.isPresent()
-                    && resourceTranslatedId.get().equals(translatedResourceId);
+            Optional<String> resourceTranslatedId = getResourceTranslatedId(heatFileName, heatOrchestrationTemplate, entry.getKey(), context);
+            return resourceTranslatedId.isPresent() && resourceTranslatedId.get().equals(translatedResourceId);
         });
         return list;
     }
@@ -329,5 +263,4 @@ public abstract class ResourceTranslationBase {
     boolean isUnsupportedResourceType(Resource resource, List<String> supportedTypes) {
         return !Objects.nonNull(resource) || !supportedTypes.contains(resource.getType());
     }
-
 }