Removed MSB Invocation During AAI Calling
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / aai / AaiJsonParserUtil.java
index e6cd207..2772c01 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * org.onap.holmes.common.aai
  * ================================================================================
- * Copyright (C) 2018-2019 Huawei. All rights reserved.
+ * Copyright (C) 2018-2023 Huawei, ZTE. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 package org.onap.holmes.common.aai;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
 import lombok.extern.slf4j.Slf4j;
-import org.jvnet.hk2.annotations.Service;
-import org.onap.holmes.common.aai.config.AaiConfig;
-import org.onap.holmes.common.config.MicroServiceConfig;
-import org.onap.holmes.common.exception.CorrelationException;
+import org.springframework.stereotype.Component;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 
-@Service
 @Slf4j
+@Component
 public class AaiJsonParserUtil {
 
     public static String getPath(String urlTemplate, String paramName, String paramValue) {
@@ -58,33 +49,14 @@ public class AaiJsonParserUtil {
         return ret;
     }
 
-    public static Response get(String host, String path) throws CorrelationException {
-        Client client = ClientBuilder.newClient();
-        WebTarget target = client.target(host).path(path);
-        try {
-            Response response = target.request().headers(getAaiHeaders()).get();
-            if (response.getStatusInfo().getFamily() != Response.Status.Family.SUCCESSFUL) {
-                throw new CorrelationException("Failed to connect to AAI. \nCause: "
-                                                       + response.getStatusInfo().getReasonPhrase() + "\nDetails: \n"
-                                                       + getErrorMsg(String.format("%s%s", host, path), null, response));
-            }
-            return response;
-        } catch (CorrelationException e) {
-            throw e;
-        } catch (Exception e) {
-            throw new CorrelationException(e.getMessage() + "More info: "
-                                                   + getErrorMsg(String.format("%s%s", host, path), null, null), e);
-        }
-    }
-
-    public static JSONObject getInfo(String response, String field) {
-        JSONObject jObject = JSONObject.parseObject(response);
-        JSONObject relationshipList = extractJsonObject(jObject, "relationship-list");
-        JSONArray relationShip = extractJsonArray(relationshipList, "relationship");
+    public static JsonObject getInfo(String response, String field) {
+        JsonObject jObject = JsonParser.parseString(response).getAsJsonObject();
+        JsonObject relationshipList = extractJsonObject(jObject, "relationship-list");
+        JsonArray relationShip = extractJsonArray(relationshipList, "relationship");
         if (relationShip != null) {
             for (int i = 0; i < relationShip.size(); ++i) {
-                final JSONObject object = relationShip.getJSONObject(i);
-                if (object.getString("related-to").equals(field)) {
+                final JsonObject object = relationShip.get(i).getAsJsonObject();
+                if (object.get("related-to").getAsString().equals(field)) {
                     return object;
                 }
             }
@@ -92,44 +64,17 @@ public class AaiJsonParserUtil {
         return null;
     }
 
-    public static JSONObject extractJsonObject(JSONObject obj, String key) {
-        if (obj != null && key != null && obj.containsKey(key)) {
-            return obj.getJSONObject(key);
+    public static JsonObject extractJsonObject(JsonObject obj, String key) {
+        if (obj != null && key != null && obj.has(key)) {
+            return obj.get(key).getAsJsonObject();
         }
         return null;
     }
 
-    public static JSONArray extractJsonArray(JSONObject obj, String key) {
-        if (obj != null && key != null && obj.containsKey(key)) {
-            return obj.getJSONArray(key);
+    public static JsonArray extractJsonArray(JsonObject obj, String key) {
+        if (obj != null && key != null && obj.has(key)) {
+            return obj.get(key).getAsJsonArray();
         }
         return null;
     }
-
-    public static String getHostAddr() {
-        return MicroServiceConfig.getMsbServerAddrWithHttpPrefix();
-    }
-
-    public static String getErrorMsg(String url, Map<String, Object> body, Response response) {
-        StringBuilder sb = new StringBuilder();
-        sb.append("Rerquest URL: ").append(url).append("\n");
-        sb.append("Request Header: ").append(JSONObject.toJSONString(getAaiHeaders())).append("\n");
-        if (body != null) {
-            sb.append("Request Body: ").append(JSONObject.toJSONString(body)).append("\n");
-        }
-        if (response != null) {
-            sb.append("Request Body: ").append(response.readEntity(String.class));
-        }
-        return sb.toString();
-    }
-
-    public static MultivaluedMap getAaiHeaders() {
-        MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
-        headers.add("X-TransactionId", AaiConfig.X_TRANSACTION_ID);
-        headers.add("X-FromAppId", AaiConfig.X_FROMAPP_ID);
-        headers.add("Authorization", AaiConfig.getAuthenticationCredentials());
-        headers.add("Accept", "application/json");
-        headers.add("Content-Type", "application/json");
-        return headers;
-    }
 }