Fixed NPE in ResourceRequestBuilder 01/87001/2
authorr.bogacki <r.bogacki@samsung.com>
Mon, 6 May 2019 07:25:02 +0000 (09:25 +0200)
committerr.bogacki <r.bogacki@samsung.com>
Mon, 6 May 2019 09:27:59 +0000 (11:27 +0200)
Fixed possible NullPointerException in ResourceRequestBuilder
according to the Sonar analysis.

Change-Id: Ide97a1a6439342ef55fc490916c945d194d4e518
Issue-ID: SO-1498
Signed-off-by: Robert Bogacki <r.bogacki@samsung.com>
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java

index 58f775c..0df25be 100644 (file)
@@ -151,7 +151,7 @@ public class ResourceRequestBuilder {
             Map<String, String> resourceInputData = getResourceInputStr(serviceVnfCust, resourceCustomizationUuid);
 
             // find match in network resource
-            if (resourceInputData.size() == 0) {
+            if (resourceInputData != null && resourceInputData.isEmpty()) {
                 List<Map<String, Object>> serviceNetworkCust =
                         (List<Map<String, Object>>) serviceResources.get("serviceNetworks");
                 resourceInputData = getResourceInputStr(serviceNetworkCust, resourceCustomizationUuid);
@@ -164,15 +164,19 @@ public class ResourceRequestBuilder {
                 }
             }
 
-            String resourceInputStr = resourceInputData.get("resourceInput");
-            ResourceLevel resourceLevel = ResourceLevel.valueOf(resourceInputData.get("nodeType"));
+            String resourceInputStr = null;
+            ResourceLevel resourceLevel = null;
+            if (resourceInputData != null) {
+                resourceInputStr = resourceInputData.get("resourceInput");
+                resourceLevel = ResourceLevel.valueOf(resourceInputData.get("nodeType"));
+            }
 
-            if (resourceInputStr != null && !resourceInputStr.isEmpty()) {
+            if (resourceInputStr != null && !resourceInputStr.isEmpty() && resourceLevel != null) {
                 return getResourceInput(resourceInputStr, serviceInputs, resourceLevel, currentVFData);
             }
 
         } catch (Exception e) {
-            logger.error("not able to retrieve service instance");
+            logger.error("not able to retrieve service instance", e);
         }
         return new HashMap();
     }