diff options
author | r.bogacki <r.bogacki@samsung.com> | 2019-02-19 15:03:41 +0100 |
---|---|---|
committer | Robert Bogacki <r.bogacki@samsung.com> | 2019-02-20 14:00:20 +0000 |
commit | 33e33dc04125cd320a870b567a51c48525ccad0f (patch) | |
tree | 498732d0efcdaeb67d678c36036c47245003f3be /bpmn | |
parent | 20a24c8e780890d4e63b281e5de16080d322bf17 (diff) |
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 <r.bogacki@samsung.com>
Diffstat (limited to 'bpmn')
2 files changed, 19 insertions, 7 deletions
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<OrchestrationFlow> createFlowList (String... flowNames){ List<OrchestrationFlow> result = new ArrayList<>(); for(String flowName : flowNames){ |