fix a nested node type issue 64/94064/11
authorLiang Ding <liang.ding@intel.com>
Thu, 22 Aug 2019 04:58:54 +0000 (21:58 -0700)
committerLiang Ding <liang.ding@intel.com>
Fri, 6 Sep 2019 11:55:52 +0000 (11:55 +0000)
the newly added node type is considered as nested
when substitution_mapping is enabled in TOSCA yaml file

Change-Id: Ibdee29d7a553c7b1ce085cbe971ceace6c4488f5
Issue-ID: SDC-2282
Signed-off-by: Liang Ding <liang.ding@intel.com>
catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/CsarInfo.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/NodeTypeInfo.java

index 72efb11..1d49394 100644 (file)
@@ -167,6 +167,7 @@ public class CsarInfo {
     private ResultStatusEnum handleSubstitutionMappings(Map<String, NodeTypeInfo> nodeTypesInfo, Map.Entry<String, byte[]> entry, Map<String, Object> mappedToscaTemplate, Map<String, Object> substitutionMappings) {
         if (substitutionMappings.containsKey(TypeUtils.ToscaTagNamesEnum.NODE_TYPE.getElementName())) {
             NodeTypeInfo nodeTypeInfo = new NodeTypeInfo();
+            nodeTypeInfo.setSubstitutionMapping(true);
             nodeTypeInfo.setType(
                     (String) substitutionMappings.get(TypeUtils.ToscaTagNamesEnum.NODE_TYPE.getElementName()));
             nodeTypeInfo.setTemplateFileName(entry.getKey());
@@ -228,7 +229,9 @@ public class CsarInfo {
             String type = (String) nodeTemplate.get(TypeUtils.ToscaTagNamesEnum.TYPE.getElementName());
             if (nodeTypesInfo.containsKey(type)) {
                 NodeTypeInfo nodeTypeInfo = nodeTypesInfo.get(type);
-                nodeTypeInfo.setNested(true);
+                if (nodeTypeInfo.isSubstitutionMapping() && type.contains(Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX)) {
+                    nodeTypeInfo.setNested(true);
+                }
             }
         }
     }
index 5026fff..817060e 100644 (file)
@@ -28,6 +28,7 @@ public class NodeTypeInfo {
     String templateFileName;
     List<String> derivedFrom;
     boolean isNested;
+    boolean isSubstitutionMapping;
     Map<String, Object> mappedToscaTemplate;
 
     public NodeTypeInfo getUnmarkedCopy(){
@@ -64,6 +65,12 @@ public class NodeTypeInfo {
     public void setNested(boolean isNested) {
         this.isNested = isNested;
     }
+    public boolean isSubstitutionMapping() {
+        return isSubstitutionMapping;
+    }
+    public void setSubstitutionMapping(boolean isSubstitutionMapping) {
+        this.isSubstitutionMapping = isSubstitutionMapping;
+    }
 
     public Map<String, Object> getMappedToscaTemplate() {
         return mappedToscaTemplate;