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=ef96476603aa0ecfb5cedd58362255f64061f46d;hb=bf20ddf00200c5468da7a0090caf28beebb93e9c;hp=fb8a8ca82236daba414598fe6d0aac686c2847de;hpb=105437a89bd5bcfcaf40dac25e2c087aafb0996b;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 fb8a8ca..ef96476 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 @@ -14,9 +14,11 @@ package org.onap.holmes.common.aai; 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.jvnet.hk2.annotations.Service; import org.onap.holmes.common.aai.config.AaiConfig; import org.onap.holmes.common.aai.entity.VmEntity; @@ -65,28 +67,28 @@ public class AaiQuery { private String getVmResourceLinks(String vserverId, String vserverName) throws CorrelationException { String response = getResourceLinksResponse(vserverId, vserverName); - try { + List linkList = aaiResponseUtil.convertJsonToVmResourceLink(response); + if (linkList.size() != 0) { return aaiResponseUtil.convertJsonToVmResourceLink(response).get(0).getResourceLink(); - } catch (Exception e) { - throw new CorrelationException("Failed to get aai resource link", e); } + return ""; } private String getResourceLinksResponse(String vserverId, String vserverName) throws CorrelationException { - String url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VNF_ADDR) + "vserver-id:EQUALS:" + vserverId); + String url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VM_ADDR) + "vserver-id:EQUALS:" + vserverId); String response = getResponse(url); if ("".equals(response) || "{}".equals(response)) { - url = getBaseUrl(AaiConfig.AAI_VM_ADDR + "vserver-name:EQUALS:" + vserverName); + url = getBaseUrl(getMsbSuffixAddr(AaiConfig.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_VM_ADDR)+ "vnf-id=" + vnfId); + String url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VNF_ADDR)+ "/" + vnfId); String response = getResponse(url); if ("".equals(response) || "{}".equals(response)) { - url = getBaseUrl(AaiConfig.AAI_VNF_ADDR + "vnf-name=" + vnfName); + url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VNF_ADDR) + "vnf-name=" + vnfName); response = getResponse(url); } return response; @@ -95,26 +97,39 @@ public class AaiQuery { private String getBaseUrl(String suffixUrl) { String url = ""; try { - url = MicroServiceConfig.getMsbServerAddr() + suffixUrl; + String[] msbUrl = MicroServiceConfig.getMsbServerAddrWithHttpPrefix().split(":"); + url = msbUrl[0] + ":" + msbUrl[1] + suffixUrl; } catch (Exception e) { log.info("Failed to get msb address"); } - if (url.equals("")) { + if ("".equals(url)) { try { - url = "https:\\\\" + MicroServiceConfig.getServiceAddrInfoFromCBS("aai_config") + url = "https://" + MicroServiceConfig.getServiceConfigInfoFromCBS("aai_config").replace("http://", "") + suffixUrl; } catch (Exception e) { - log.info("Failed to get aai address"); + log.info("Failed to get the address of A&AI.", e); } } return url; } private String getMsbSuffixAddr(String suffixUrl) { + if (suffixUrl.length() <= 0) { + return ""; + } String[] addrSplits = suffixUrl.substring(1).split("/"); + String[] conv = addrSplits[2].split("-"); + addrSplits[2] = conv[0]; + if (conv.length > 1) { + for(int i = 1; i < conv.length; i++) { + addrSplits[2] = addrSplits[2] + conv[i].substring(0, 1).toUpperCase() + conv[i] + .substring(1); + } + } String ret = addrSplits[1]; - addrSplits[1] = addrSplits[2]; + addrSplits[1] = addrSplits[0] + "-" + addrSplits[2]; addrSplits[2] = ret; + addrSplits[0] = "api"; StringBuffer stringBuffer = new StringBuffer(); for (String split : addrSplits) { stringBuffer.append("/" + split); @@ -123,9 +138,10 @@ public class AaiQuery { } private String getResponse(String url) throws CorrelationException { - String response = ""; + String response; try { - response = HttpsUtils.get(url, getHeaders()); + HttpResponse httpResponse = HttpsUtils.get(url, getHeaders()); + response = HttpsUtils.extractResponseEntity(httpResponse); } catch (Exception e) { throw new CorrelationException("Failed to get data from aai", e); }