X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=holmes-actions%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fcommon%2Fconfig%2FMicroServiceConfig.java;h=43fef116acfd41d7b8b9b681677398b79ab4995c;hb=6cc976de165087178e784c40423242bc7f1b07ee;hp=7cbbb3e24f463e443b23c00d34a8bace9e8cb0c4;hpb=59d22c8f5ed81e1221ee6e9c5364a8baf5bc3a20;p=holmes%2Fcommon.git diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java b/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java index 7cbbb3e..43fef11 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java @@ -1,5 +1,5 @@ /** - * Copyright 2017-2020 ZTE Corporation. + * Copyright 2017-2021 ZTE Corporation. *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,6 +15,7 @@ */ package org.onap.holmes.common.config; +import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import org.onap.holmes.common.constant.AlarmConst; @@ -26,6 +27,9 @@ import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.core.Response; import java.util.regex.Pattern; +import static org.onap.holmes.common.utils.CommonUtils.getEnv; +import static org.onap.holmes.common.utils.CommonUtils.isIpAddress; + public class MicroServiceConfig { final static public String CONSUL_ADDR_SUF = ":8500/v1/catalog/service/"; @@ -37,19 +41,11 @@ public class MicroServiceConfig { final static public String MSB_ADDR = "MSB_ADDR"; final static public String MSB_IAG_SERVICE_HOST = "MSB_IAG_SERVICE_HOST"; final static public String MSB_IAG_SERVICE_PORT = "MSB_IAG_SERVICE_PORT"; - final static public Pattern IP_REG = Pattern.compile("(http(s)?://)?(\\d+\\.\\d+\\.\\d+\\.\\d+)(:(\\d+))?"); + final static public String AAI_HOSTNAME = "aai.onap"; final static public Logger log = LoggerFactory.getLogger(MicroServiceConfig.class); - public static String getEnv(String name) { - String value = System.getenv(name); - if (value == null) { - value = System.getProperty(name); - } - return value; - } - public static String getConsulAddrInfo() { return "http://" + getEnv(CONSUL_HOST) + CONSUL_ADDR_SUF; } @@ -59,14 +55,16 @@ public class MicroServiceConfig { String queryString = getConsulAddrInfo() + hostname; log.info("Query the " + hostname + " address using the URL: " + queryString); try { - JsonObject addrJson = JsonParser.parseString(execQuery(queryString)) - .getAsJsonArray() - .get(0) - .getAsJsonObject(); - if (addrJson != null && addrJson.get("ServiceAddress") != null - && addrJson.get("ServicePort") != null) { - ret = "http://" + addrJson.get("ServiceAddress").getAsString() + ":" + addrJson - .get("ServicePort").getAsString(); + JsonArray addrArray = JsonParser.parseString(execQuery(queryString)).getAsJsonArray(); + if (addrArray.size() > 0) { + JsonObject addrJson = addrArray.get(0).getAsJsonObject(); + if (addrJson != null && addrJson.get("ServiceAddress") != null + && addrJson.get("ServicePort") != null) { + ret = "http://" + addrJson.get("ServiceAddress").getAsString() + ":" + addrJson + .get("ServicePort").getAsString(); + } + } else { + log.info("No service info is returned from DCAE Consul. Hostname: {}", hostname); } } catch (Exception e) { log.warn(e.getMessage(), e); @@ -107,7 +105,7 @@ public class MicroServiceConfig { } public static String[] getMsbIpAndPort() { - return new String[] {getEnv(MSB_IAG_SERVICE_HOST), getEnv(MSB_IAG_SERVICE_PORT)}; + return new String[]{getEnv(MSB_IAG_SERVICE_HOST), getEnv(MSB_IAG_SERVICE_PORT)}; } public static String[] getMicroServiceIpAndPort() { @@ -126,9 +124,7 @@ public class MicroServiceConfig { return serviceAddrInfo; } - public static boolean isIpAddress(String info) { - return IP_REG.matcher(info).matches(); - } + private static String[] split(String addr) { String ip;