Rename packages from openecomp to onap.
[sdc.git] / openecomp-be / lib / openecomp-heat-lib / src / main / java / org / openecomp / sdc / heat / services / tree / HeatTreeManager.java
index def773d..2b368a9 100644 (file)
@@ -23,7 +23,6 @@ package org.openecomp.sdc.heat.services.tree;
 import org.openecomp.core.utilities.file.FileContentHandler;
 import org.openecomp.core.utilities.file.FileUtils;
 import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.sdc.tosca.services.YamlUtil;
 import org.openecomp.core.validation.types.GlobalValidationContext;
 import org.openecomp.sdc.common.utils.SdcCommon;
 import org.openecomp.sdc.datatypes.error.ErrorMessage;
@@ -34,6 +33,7 @@ import org.openecomp.sdc.heat.datatypes.structure.Artifact;
 import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
 import org.openecomp.sdc.logging.api.Logger;
 import org.openecomp.sdc.logging.api.LoggerFactory;
+import org.onap.sdc.tosca.services.YamlUtil;
 
 import java.io.InputStream;
 import java.util.HashMap;
@@ -101,10 +101,14 @@ public class HeatTreeManager {
         .values().stream().filter(heatStructureTree -> tree.getHeat().contains(heatStructureTree))
         .forEach(heatStructureTree -> tree.getHeat().remove(heatStructureTree));
 
-    heatContentMap.getFileList().stream().filter(fileName -> !manifestFiles.contains(fileName))
+    heatContentMap.getFileList().stream().filter(fileName -> isNotInManifestFiles(fileName))
         .forEach(fileName -> addTreeOther(fileName));
   }
 
+  private boolean isNotInManifestFiles(String fileName) {
+    return !manifestFiles.contains(fileName);
+  }
+
   private void addTreeOther(String fileName) {
     if (tree.getOther() == null) {
       tree.setOther(new HashSet<>());
@@ -115,24 +119,23 @@ public class HeatTreeManager {
   }
 
 
-  private void handleHeatContentReference(String filename, HeatStructureTree fileHeatStructureTree,
+  private void handleHeatContentReference(HeatStructureTree fileHeatStructureTree,
                                           GlobalValidationContext globalContext) {
 
     String fileName = fileHeatStructureTree.getFileName();
-    InputStream fileContent = this.heatContentMap.getFileContent(fileName);
-    if (fileContent == null) {
-      return; // file exist in manifest but does not exist in zip
-    }
-    try {
+
+    try (InputStream fileContent = this.heatContentMap.getFileContent(fileName)) {
       HeatOrchestrationTemplate hot =
           new YamlUtil().yamlToObject(fileContent, HeatOrchestrationTemplate.class);
 
-      Set<String> nestedSet = HeatTreeManagerUtil.getNestedFiles(filename, hot, globalContext);
+      Set<String> nestedSet = HeatTreeManagerUtil.getNestedFiles(fileName, hot, globalContext);
       addHeatNestedFiles(fileHeatStructureTree, nestedSet);
 
-      Set<String> artifactSet = HeatTreeManagerUtil.getArtifactFiles(filename, hot, globalContext);
+      Set<String> artifactSet = HeatTreeManagerUtil.getArtifactFiles(fileName, hot, globalContext);
       addHeatArtifactFiles(fileHeatStructureTree, artifactSet);
-    } catch (Exception ignore) { /* invalid yaml no need to process reference */ }
+    } catch (Exception ignore) { /* invalid yaml no need to process reference */
+      logger.debug("",ignore);
+    }
   }
 
 
@@ -218,7 +221,7 @@ public class HeatTreeManager {
         fileHeatStructureTree.setFileName(fileName);
         fileHeatStructureTree.setBase(fileData.getBase());
         fileHeatStructureTree.setType(type);
-        handleHeatContentReference(null, fileHeatStructureTree, null);
+        handleHeatContentReference(fileHeatStructureTree, null);
         parentHeatStructureTree.addHeatToHeatList(fileHeatStructureTree);
         if (fileData.getData() != null) {
           scanTree(fileName, fileData.getData());
@@ -238,6 +241,7 @@ public class HeatTreeManager {
           if (fileData.getData() != null) {
             scanTree(fileName, fileData.getData());
           }
+          handleHeatContentReference(childHeatStructureTree, null);
 
         } else if (FileData.Type.HEAT_VOL.equals(type)) {
           //parentHeatStructureTree.addVolumeFileToVolumeList(childHeatStructureTree);
@@ -245,6 +249,7 @@ public class HeatTreeManager {
           if (fileData.getData() != null) {
             scanTree(fileName, fileData.getData());
           }
+          handleHeatContentReference(childHeatStructureTree, null);
         } else if (FileData.Type.HEAT_ENV.equals(type)) {
           if (parentHeatStructureTree != null && parentHeatStructureTree.getFileName() != null) {
             parentHeatStructureTree.setEnv(childHeatStructureTree);