Add null test in ArtifactsOperations 97/106397/2
authorChris André <chris.andre@yoppworks.com>
Wed, 22 Apr 2020 01:26:12 +0000 (21:26 -0400)
committerOfir Sonsino <ofir.sonsino@intl.att.com>
Wed, 22 Apr 2020 10:58:43 +0000 (10:58 +0000)
- Added if statement in `updateArtifactOnGraph` to account for the case where variable `artifactInst` has not been properly initialized

Issue-ID: SDC-2919
Signed-off-by: Chris Andre <chris.andre@yoppworks.com>
Change-Id: I73fe3b3bcef59e5797a0f7cfe7b6894816d0d3fb

catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ArtifactsOperations.java

index 3c8e0ee..30e76a8 100644 (file)
@@ -686,22 +686,30 @@ public class ArtifactsOperations extends BaseOperation {
             List<String> pathKeys = new ArrayList<>();
             pathKeys.add(instanceId);
             if (isNeedToClone) {
-                MapArtifactDataDefinition artifatcsOnInstance = artifactInst.get(instanceId);
-                if (artifatcsOnInstance != null) {
-                    Map<String, ArtifactDataDefinition> mapToscaDataDefinition = artifatcsOnInstance.getMapToscaDataDefinition();
-                    ArtifactDataDefinition artifactDataDefinitionToUpdate = new ArtifactDataDefinition(artifactToUpdate);
-                    mapToscaDataDefinition.put(artifactToUpdate.getArtifactLabel(), artifactDataDefinitionToUpdate);
-                }
+                if (artifactInst != null) {
+                    MapArtifactDataDefinition artifatcsOnInstance = artifactInst.get(instanceId);
+                    if (artifatcsOnInstance != null) {
+                        Map<String, ArtifactDataDefinition> mapToscaDataDefinition = artifatcsOnInstance
+                            .getMapToscaDataDefinition();
+                        ArtifactDataDefinition artifactDataDefinitionToUpdate = new ArtifactDataDefinition(
+                            artifactToUpdate);
+                        mapToscaDataDefinition.put(artifactToUpdate.getArtifactLabel(), artifactDataDefinitionToUpdate);
+                    }
 
-                for (Entry<String, MapArtifactDataDefinition> e : artifactInst.entrySet()) {
-                    List<ArtifactDataDefinition> toscaDataListPerInst = e.getValue().getMapToscaDataDefinition().values().stream().collect(Collectors.toList());
-                    List<String> pathKeysPerInst = new ArrayList<>();
-                    pathKeysPerInst.add(e.getKey());
-                    status = updateToscaDataDeepElementsOfToscaElement(componentId, edgeLabelEnum, vertexTypeEnum, toscaDataListPerInst, pathKeysPerInst, JsonPresentationFields.ARTIFACT_LABEL);
-                    if (status != StorageOperationStatus.OK) {
-                        log.debug("Failed to update atifacts group for instance {} in component {} edge type {} error {}", instanceId, componentId, edgeLabelEnum, status);
-                        res = Either.right(status);
-                        break;
+                    for (Entry<String, MapArtifactDataDefinition> e : artifactInst.entrySet()) {
+                        List<ArtifactDataDefinition> toscaDataListPerInst = e.getValue().getMapToscaDataDefinition()
+                            .values().stream().collect(Collectors.toList());
+                        List<String> pathKeysPerInst = new ArrayList<>();
+                        pathKeysPerInst.add(e.getKey());
+                        status = updateToscaDataDeepElementsOfToscaElement(componentId, edgeLabelEnum, vertexTypeEnum,
+                            toscaDataListPerInst, pathKeysPerInst, JsonPresentationFields.ARTIFACT_LABEL);
+                        if (status != StorageOperationStatus.OK) {
+                            log.debug(
+                                "Failed to update atifacts group for instance {} in component {} edge type {} error {}",
+                                instanceId, componentId, edgeLabelEnum, status);
+                            res = Either.right(status);
+                            break;
+                        }
                     }
                 }
             } else {