X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=holmes-actions%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fcommon%2Faai%2FAaiQuery4Ccvpn2.java;h=cf39910105a74eb1dec1ccfd9bdac3eb9ed106d2;hb=490fc3c1fafe50d5fb0e23db5cfd10730be96866;hp=9b13b8e291cf22d748f0d1442ca1605ed7749aac;hpb=695d66a9635dd15c5fc8a16165f5651f50755c86;p=holmes%2Fcommon.git diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery4Ccvpn2.java b/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery4Ccvpn2.java index 9b13b8e..cf39910 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery4Ccvpn2.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery4Ccvpn2.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * org.onap.holmes.common.aai * ================================================================================ - * Copyright (C) 2018-2019 Huawei. All rights reserved. + * Copyright (C) 2018-2020 Huawei. 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. @@ -20,9 +20,9 @@ package org.onap.holmes.common.aai; -import com.alibaba.fastjson.JSON; -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; @@ -34,11 +34,7 @@ import javax.ws.rs.core.Response; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static org.onap.holmes.common.aai.AaiJsonParserUtil.extractJsonArray; -import static org.onap.holmes.common.aai.AaiJsonParserUtil.get; -import static org.onap.holmes.common.aai.AaiJsonParserUtil.getHostAddr; -import static org.onap.holmes.common.aai.AaiJsonParserUtil.getInfo; -import static org.onap.holmes.common.aai.AaiJsonParserUtil.getPath; +import static org.onap.holmes.common.aai.AaiJsonParserUtil.*; @Service @Slf4j @@ -62,22 +58,20 @@ public class AaiQuery4Ccvpn2 { private String getSiteVNFId(String siteService) throws CorrelationException { Response response = get(getHostAddr(), AaiConfig.MsbConsts.AAI_SITE_RESOURCES_QUERY); String resStr = response.readEntity(String.class); - JSONObject resObj = JSON.parseObject(resStr); - JSONArray siteResources = extractJsonArray(resObj, "site-resource"); + JsonObject resObj = JsonParser.parseString(resStr).getAsJsonObject(); + JsonArray siteResources = extractJsonArray(resObj, "site-resource"); if (siteResources != null) { for (int i = 0; i < siteResources.size(); i++) { - final JSONObject object = siteResources.getJSONObject(i); - if (siteService.equals(object.getString("site-resource-name"))) { - JSONObject vnfInfo = getInfo(object.toJSONString(), "vnf-instance"); - String vnfPath = vnfInfo.getString("related-link"); + final JsonObject object = siteResources.get(i).getAsJsonObject(); + if (siteService.equals(object.get("site-resource-name").getAsString())) { + JsonObject vnfInfo = getInfo(object.toString(), "generic-vnf"); + String vnfPath = vnfInfo.get("related-link").getAsString(); String vnfId = null; - Pattern pattern = Pattern.compile("/aai/v\\d+/business/customers/customer/(.+)" + - "/service-subscriptions/service-subscription/(.+)" + - "/vnf-instances/vnf-instance/(.+)"); + Pattern pattern = Pattern.compile("/aai/v\\d+/network/generic-vnfs/generic-vnf/(.+)"); Matcher matcher = pattern.matcher(vnfPath); if (matcher.find()) { - vnfId = matcher.group(3); + vnfId = matcher.group(1); } return vnfId; @@ -87,20 +81,23 @@ public class AaiQuery4Ccvpn2 { return null; } - private JSONObject getServiceInstanceByVnfId(String vnfId) throws CorrelationException { + private JsonObject getServiceInstanceByVnfId(String vnfId) throws CorrelationException { Response response = get(getHostAddr(), getPath(AaiConfig.MsbConsts.AAI_SITE_VNF_QUERY, "vnfId", vnfId)); String resStr = response.readEntity(String.class); return getInfo(resStr, "service-instance"); } - public JSONObject getSiteServiceInstance(String siteService) throws CorrelationException { + public JsonObject getSiteServiceInstance(String siteService) throws CorrelationException { String vnfId = getSiteVNFId(siteService); - JSONObject serviceInstanceInfo = getServiceInstanceByVnfId(vnfId); - String serviceInstancePath = serviceInstanceInfo.getString("related-link"); + if (vnfId == null) { + return null; + } + JsonObject serviceInstanceInfo = getServiceInstanceByVnfId(vnfId); + String serviceInstancePath = serviceInstanceInfo.get("related-link").getAsString(); Response response = get(getHostAddr(), getPath(serviceInstancePath)); String res = response.readEntity(String.class); - JSONObject instance = JSON.parseObject(res); + JsonObject instance = JsonParser.parseString(res).getAsJsonObject(); String[] params = new String[2]; Pattern pattern = Pattern.compile("/aai/v\\d+/business/customers/customer/(.+)" + "/service-subscriptions/service-subscription/(.+)" + @@ -110,9 +107,9 @@ public class AaiQuery4Ccvpn2 { params[0] = matcher.group(1); params[1] = matcher.group(2); } - instance.put("globalSubscriberId", params[0]); - instance.put("serviceType", params[1]); - instance.put("vnfId", vnfId); + instance.addProperty("globalSubscriberId", params[0]); + instance.addProperty("serviceType", params[1]); + instance.addProperty("vnfId", vnfId); return instance; } }