Check if node types in the global substitutions file already exist before attempting to create them
Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-3533
Change-Id: I8129e3108e27f3bae4f33e1bd652d8b74ae34de9
(cherry picked from commit
316a6df0f1a42cb3f825b9ab4b51d9d59215a530)
CsarInfo csarInfo, String nodeName) {
try {
for (Entry<String, NodeTypeInfo> nodeTypeEntry : nodeTypesInfo.entrySet()) {
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());
handleNestedVfc(resource, nodeTypesArtifactsToHandle, nodeTypesNewCreatedArtifacts, nodeTypesInfo,
csarInfo, nodeTypeEntry.getKey());
+
+ 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,
private Either<Resource, ResponseFormat> handleVfCsarArtifacts(Resource resource, CsarInfo csarInfo,
List<ArtifactDefinition> createdArtifacts, ArtifactOperationInfo artifactOperation, boolean shouldLock,