service inventory empty when no service 31/44831/1
authorromaingimbert <romain.gimbert@orange.com>
Thu, 26 Apr 2018 08:56:56 +0000 (10:56 +0200)
committerromaingimbert <romain.gimbert@orange.com>
Thu, 26 Apr 2018 08:58:04 +0000 (10:58 +0200)
- fix code when a service type has no service-instance

Change-Id: I6035a459bdf90b724377acb76bb99be747bf03fb
Issue-ID: EXTAPI-78
Signed-off-by: romaingimbert <romain.gimbert@orange.com>
src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java
src/main/java/org/onap/nbi/apis/serviceinventory/ServiceInventoryService.java
src/test/resources/mappings/aai_get_6490_service-subscriptions.json

index 8fd3002..698981b 100644 (file)
@@ -17,6 +17,9 @@ package org.onap.nbi.apis.serviceinventory;
 
 import java.util.LinkedHashMap;
 import org.onap.nbi.OnapComponentsUrlPaths;
+import org.onap.nbi.exceptions.BackendFunctionalException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
@@ -39,6 +42,7 @@ public class AaiClient extends BaseClient {
 
     private static final String HEADER_AUTHORIZATION = "Authorization";
     private static final String X_FROM_APP_ID = "X-FromAppId";
+    private static final Logger LOGGER = LoggerFactory.getLogger(AaiClient.class);
 
     private HttpHeaders buildRequestHeaderForAAI() {
 
@@ -91,7 +95,12 @@ public class AaiClient extends BaseClient {
         String callUrlFormated = callURL.toString().replace(CUSTOMER_ID, customerId);
         callUrlFormated = callUrlFormated.replace("$serviceSpecName", serviceType);
 
-        ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
-        return (LinkedHashMap) response.getBody();
+        try{
+            ResponseEntity<Object> response = callApiGet(callUrlFormated, buildRequestHeaderForAAI());
+            return (LinkedHashMap) response.getBody();
+        } catch (BackendFunctionalException e) {
+            LOGGER.error("error on calling {0} , {1}" , callUrlFormated, e);
+            return null;
+        }
     }
 }
index a4347d4..3208de4 100644 (file)
@@ -24,6 +24,7 @@ import org.onap.nbi.exceptions.BackendFunctionalException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.MultiValueMap;
 import org.springframework.util.StringUtils;
 
@@ -156,11 +157,14 @@ public class ServiceInventoryService {
         List<LinkedHashMap> serviceInstancesForServiceType =
                 (List<LinkedHashMap>) serviceInstancesInAaiForCustomer.get("service-instance");
 
-        // add service type for jolt
-        for (LinkedHashMap serviceInstanceForServiceType : serviceInstancesForServiceType) {
-            serviceInstanceForServiceType.put("service-type", serviceType);
+        if(!CollectionUtils.isEmpty(serviceInstancesForServiceType)){
+            // add service type for jolt
+            for (LinkedHashMap serviceInstanceForServiceType : serviceInstancesForServiceType) {
+                serviceInstanceForServiceType.put("service-type", serviceType);
+            }
+            serviceInstances.addAll(serviceInstancesForServiceType);
         }
-        serviceInstances.addAll(serviceInstancesForServiceType);
+
 
     }
 
index 5582990..4995025 100644 (file)
           },
           {
             "service-type": "vFW",
-            "resource-version": "1519660513613"
+            "resource-version": "1519660513613",
+            "service-instances": {
+              "service-instance": [
+                {
+                  "service-instance-id": "39ff3f9d-f210-4566-9d19-fa37edf1697d",
+                  "service-instance-name": "vPCRF",
+                  "model-invariant-id": "a09e799f-58eb-4c00-bfcc-4fa371a557e3",
+                  "model-version-id": "4c393977-09ea-42c2-bcd9-f50302ebba48",
+                  "resource-version": "1524672125232"
+                }
+              ]
+            }
+
           }
         ]
     },