Fix issue with global substitutions
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / components / impl / ResourceBusinessLogic.java
index a3d746d..c7a98a2 100644 (file)
@@ -2224,8 +2224,7 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                                                                 CsarInfo csarInfo, String nodeName) {
                try {
                        for (Entry<String, NodeTypeInfo> nodeTypeEntry : nodeTypesInfo.entrySet()) {
-                               if (nodeTypeEntry.getValue()
-                                               .isNested()) {
+                               if (nodeTypeEntry.getValue().isNested() && !nodeTypeAlreadyExists(nodeTypeEntry.getKey())) {
 
                                        handleNestedVfc(resource, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo,
                                                        csarInfo, nodeTypeEntry.getKey());
@@ -2256,6 +2255,10 @@ public class ResourceBusinessLogic extends ComponentBusinessLogic {
                        throw e;
                }
        }
+       
+       private boolean nodeTypeAlreadyExists(final String toscaResourceName) {
+               return toscaOperationFacade.getLatestByToscaResourceName(toscaResourceName).isLeft();
+       }
 
        private Either<Resource, ResponseFormat> handleVfCsarArtifacts(Resource resource, CsarInfo csarInfo,
                                                                                                                                   List<ArtifactDefinition> createdArtifacts, ArtifactOperationInfo artifactOperation, boolean shouldLock,