From 33e33dc04125cd320a870b567a51c48525ccad0f Mon Sep 17 00:00:00 2001 From: "r.bogacki" Date: Tue, 19 Feb 2019 15:03:41 +0100 Subject: Fixed possible NPE in WorkflowAction NullPointerException could be thrown in case when resource == null. Change-Id: I1f78e4733187f3086ac1915d2bfb098fb8c4aabd Issue-ID: SO-1530 Signed-off-by: Robert Bogacki --- .../infrastructure/workflow/tasks/WorkflowAction.java | 8 +++++--- .../workflow/tasks/WorkflowActionTest.java | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 7 deletions(-) (limited to 'bpmn') diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java index 99bda80e4f..8a3a778b06 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java @@ -1050,9 +1050,11 @@ public class WorkflowAction { executeBuildingBlock.setRequestDetails(requestDetails); if(isConfiguration){ ConfigurationResourceKeys configurationResourceKeys = new ConfigurationResourceKeys(); - configurationResourceKeys.setCvnfcCustomizationUUID(resource.getCvnfModuleCustomizationId()); - configurationResourceKeys.setVfModuleCustomizationUUID(resource.getVfModuleCustomizationId()); - configurationResourceKeys.setVnfResourceCustomizationUUID(resource.getVnfCustomizationId()); + if (resource != null){ + configurationResourceKeys.setCvnfcCustomizationUUID(resource.getCvnfModuleCustomizationId()); + configurationResourceKeys.setVfModuleCustomizationUUID(resource.getVfModuleCustomizationId()); + configurationResourceKeys.setVnfResourceCustomizationUUID(resource.getVnfCustomizationId()); + } executeBuildingBlock.setConfigurationResourceKeys(configurationResourceKeys); } return executeBuildingBlock; diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java index c74f590e6b..93d4b413f8 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionTest.java @@ -24,10 +24,7 @@ package org.onap.so.bpmn.infrastructure.workflow.tasks; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.equalTo; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertThat; +import static org.junit.Assert.*; import static org.mockito.ArgumentMatchers.anyObject; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Matchers.isA; @@ -1329,6 +1326,19 @@ public class WorkflowActionTest extends BaseTaskTest { execution.getVariable("WorkflowActionErrorMessage")); } + @Test + public void verifyLackOfNullPointerExceptionForNullResource(){ + ExecuteBuildingBlock result = null; + try { + result = workflowAction + .buildExecuteBuildingBlock(new OrchestrationFlow(), null, null, null, null, null, false, + null, null, null, false, null, true); + }catch (NullPointerException e){ + fail("NullPointerException should not be thrown when 'resource' is null"); + } + assertNotNull(result); + } + private List createFlowList (String... flowNames){ List result = new ArrayList<>(); for(String flowName : flowNames){ -- cgit 1.2.3-korg