Print the short description of exception in OscA1Client
[nonrtric.git] / policy-agent / src / main / java / org / oransc / policyagent / clients / OscA1Client.java
index 0efe14d..c596bd5 100644 (file)
@@ -2,7 +2,7 @@
  * ========================LICENSE_START=================================
  * O-RAN-SC
  * %%
- * Copyright (C) 2019 Nordix Foundation
+ * Copyright (C) 2020 Nordix Foundation
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 package org.oransc.policyagent.clients;
 
 import java.lang.invoke.MethodHandles;
-import java.util.ArrayList;
 import java.util.List;
-import org.json.JSONArray;
-import org.json.JSONException;
+
 import org.json.JSONObject;
 import org.oransc.policyagent.configuration.RicConfig;
 import org.oransc.policyagent.repository.Policy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.util.UriComponentsBuilder;
+
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
@@ -123,12 +122,12 @@ public class OscA1Client implements A1Client {
 
     private Flux<String> getPolicyTypeIds() {
         return restClient.get(POLICY_TYPES) //
-            .flatMapMany(this::parseJsonArrayOfString);
+            .flatMapMany(JsonHelper::parseJsonArrayOfString);
     }
 
     private Flux<String> getPolicyIdentitiesByType(String typeId) {
         return restClient.get(POLICY_IDS_URI.buildAndExpand(typeId).toUriString()) //
-            .flatMapMany(this::parseJsonArrayOfString);
+            .flatMapMany(JsonHelper::parseJsonArrayOfString);
     }
 
     private Mono<String> getCreateSchema(String policyTypeResponse, String policyTypeId) {
@@ -138,7 +137,7 @@ public class OscA1Client implements A1Client {
             schemaObj.put(TITLE, policyTypeId);
             return Mono.just(schemaObj.toString());
         } catch (Exception e) {
-            logger.error("Unexcpected response for policy type: {}", policyTypeResponse, e);
+            logger.error("Unexpected response for policy type: {}, exception: {}", policyTypeResponse, e.toString());
             return Mono.error(e);
         }
     }
@@ -152,18 +151,4 @@ public class OscA1Client implements A1Client {
         return getPolicyIdentitiesByType(typeId) //
             .flatMap(policyId -> deletePolicyById(typeId, policyId));
     }
-
-    private Flux<String> parseJsonArrayOfString(String inputString) {
-        try {
-            List<String> arrayList = new ArrayList<>();
-            JSONArray jsonArray = new JSONArray(inputString);
-            for (int i = 0; i < jsonArray.length(); i++) {
-                arrayList.add(jsonArray.getString(i));
-            }
-            logger.debug("A1 client: received list = {}", arrayList);
-            return Flux.fromIterable(arrayList);
-        } catch (JSONException ex) { // invalid json
-            return Flux.error(ex);
-        }
-    }
 }