X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=holmes-actions%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fcommon%2Faai%2FAaiQuery.java;h=683836ea8da13ecb0bd8100cad30c2b5305bba94;hb=75b8475a3c9a55a154db8d5d2a05dd5f993907a0;hp=ef96476603aa0ecfb5cedd58362255f64061f46d;hpb=bf20ddf00200c5468da7a0090caf28beebb93e9c;p=holmes%2Fcommon.git diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java b/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java index ef96476..683836e 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java @@ -13,12 +13,16 @@ */ package org.onap.holmes.common.aai; +import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpRequestBase; +import org.apache.http.impl.client.CloseableHttpClient; import org.jvnet.hk2.annotations.Service; import org.onap.holmes.common.aai.config.AaiConfig; import org.onap.holmes.common.aai.entity.VmEntity; @@ -56,39 +60,33 @@ public class AaiQuery { private String getVmUrl(String vserverId, String vserverName) throws CorrelationException { String url = ""; String resourceLinkUrl = getVmResourceLinks(vserverId, vserverName); - String baseUrl = getBaseUrl(""); - if (baseUrl.startsWith("http")) { - url = baseUrl + getMsbSuffixAddr(resourceLinkUrl); - } else { - url = baseUrl + resourceLinkUrl; - } - return url; + return getBaseUrl("") + resourceLinkUrl; } private String getVmResourceLinks(String vserverId, String vserverName) throws CorrelationException { String response = getResourceLinksResponse(vserverId, vserverName); List linkList = aaiResponseUtil.convertJsonToVmResourceLink(response); - if (linkList.size() != 0) { + if (!linkList.isEmpty()) { return aaiResponseUtil.convertJsonToVmResourceLink(response).get(0).getResourceLink(); } return ""; } private String getResourceLinksResponse(String vserverId, String vserverName) throws CorrelationException { - String url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VM_ADDR) + "vserver-id:EQUALS:" + vserverId); + String url = getBaseUrl(AaiConfig.AaiConsts.AAI_VM_ADDR + "vserver-id:EQUALS:" + vserverId); String response = getResponse(url); if ("".equals(response) || "{}".equals(response)) { - url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VM_ADDR) + "vserver-name:EQUALS:" + vserverName); + url = getBaseUrl(AaiConfig.AaiConsts.AAI_VM_ADDR + "vserver-name:EQUALS:" + vserverName); response = getResponse(url); } return response; } private String getVnfDataResponse(String vnfId, String vnfName) throws CorrelationException { - String url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VNF_ADDR)+ "/" + vnfId); + String url = getBaseUrl(AaiConfig.AaiConsts.AAI_VNF_ADDR+ "/" + vnfId); String response = getResponse(url); if ("".equals(response) || "{}".equals(response)) { - url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VNF_ADDR) + "vnf-name=" + vnfName); + url = getBaseUrl(AaiConfig.AaiConsts.AAI_VNF_ADDR + "?vnf-name=" + vnfName); response = getResponse(url); } return response; @@ -97,8 +95,7 @@ public class AaiQuery { private String getBaseUrl(String suffixUrl) { String url = ""; try { - String[] msbUrl = MicroServiceConfig.getMsbServerAddrWithHttpPrefix().split(":"); - url = msbUrl[0] + ":" + msbUrl[1] + suffixUrl; + url = MicroServiceConfig.getMsbServerAddrWithHttpPrefix()+ suffixUrl; } catch (Exception e) { log.info("Failed to get msb address"); } @@ -130,7 +127,7 @@ public class AaiQuery { addrSplits[1] = addrSplits[0] + "-" + addrSplits[2]; addrSplits[2] = ret; addrSplits[0] = "api"; - StringBuffer stringBuffer = new StringBuffer(); + StringBuilder stringBuffer = new StringBuilder(); for (String split : addrSplits) { stringBuffer.append("/" + split); } @@ -139,11 +136,23 @@ public class AaiQuery { private String getResponse(String url) throws CorrelationException { String response; + CloseableHttpClient httpClient = null; + HttpGet httpGet = new HttpGet(url); try { - HttpResponse httpResponse = HttpsUtils.get(url, getHeaders()); + httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); + HttpResponse httpResponse = HttpsUtils.get(httpGet, getHeaders(), httpClient); response = HttpsUtils.extractResponseEntity(httpResponse); } catch (Exception e) { throw new CorrelationException("Failed to get data from aai", e); + } finally { + httpGet.releaseConnection(); + if (httpClient != null) { + try { + httpClient.close(); + } catch (IOException e) { + log.warn("Failed to close http client!"); + } + } } return response; }