Change the value of AAI env var to AAI_ADDR 90/133690/1
authorGuangrong Fu <fu.guangrong@zte.com.cn>
Mon, 20 Mar 2023 07:22:28 +0000 (15:22 +0800)
committerGuangrong Fu <fu.guangrong@zte.com.cn>
Mon, 20 Mar 2023 07:22:28 +0000 (15:22 +0800)
Issue-ID: HOLMES-327
Signed-off-by: Guangrong Fu <fu.guangrong@zte.com.cn>
Change-Id: Ia29ee5b90547ce9f4c92c254acafcc4416348c4d

holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java

index df3a7df..621e23b 100644 (file)
-/**\r
- * Copyright  2017-2021 ZTE Corporation.\r
- * <p>\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * <p>\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * <p>\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-package org.onap.holmes.common.config;\r
-\r
-import com.google.gson.JsonArray;\r
-import com.google.gson.JsonObject;\r
-import com.google.gson.JsonParser;\r
-import org.apache.commons.lang3.StringUtils;\r
-import org.onap.holmes.common.constant.AlarmConst;\r
-import org.onap.holmes.common.utils.JerseyClient;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-\r
-import static org.onap.holmes.common.utils.CommonUtils.getEnv;\r
-\r
-public class MicroServiceConfig {\r
-\r
-    final static public String CONSUL_ADDR_SUF = ":8500/v1/catalog/service/";\r
-    final static public String CONSUL_HOST = "CONSUL_HOST";\r
-    final static public String HOSTNAME = "HOSTNAME";\r
-    final static public String POD_IP = "POD_IP";\r
-    final static public String CONFIG_BINDING_SERVICE = "CONFIG_BINDING_SERVICE";\r
-    final static public String MSB_ADDR = "MSB_ADDR";\r
-    final static public String MSB_IAG_SERVICE_HOST = "MSB_IAG_SERVICE_HOST";\r
-    final static public String MSB_IAG_SERVICE_PORT = "MSB_IAG_SERVICE_PORT";\r
-    final static public String BASE_URL = "BASE_URL";\r
-    final static public String PRE_ADDR = "PRE_ADDR";\r
-    final static public String POST_ADDR = "POST_ADDR";\r
-    final static public String AAI_ADDR = "AAI_BASEADDR";\r
-    final static public String PROTOCOL_HTTP = "http";\r
-    final static public String PROTOCOL_HTTPS = "https";\r
-    final static public int PLAIN_PORT = 80;\r
-    final static public int TLS_PORT = 443;\r
-\r
-    final static public Logger log = LoggerFactory.getLogger(MicroServiceConfig.class);\r
-\r
-    public static String getConsulAddrInfo() {\r
-        return "http://" + getEnv(CONSUL_HOST) + CONSUL_ADDR_SUF;\r
-    }\r
-\r
-    public static String getServiceAddrInfoFromDcaeConsulByHostName(String hostname) {\r
-        String ret = null;\r
-        String queryString = getConsulAddrInfo() + hostname;\r
-        log.info("Query the " + hostname + " address using the URL: " + queryString);\r
-        try {\r
-            JsonArray addrArray = JsonParser.parseString(execQuery(queryString)).getAsJsonArray();\r
-            if (addrArray.size() > 0) {\r
-                JsonObject addrJson = addrArray.get(0).getAsJsonObject();\r
-                if (addrJson != null && addrJson.get("ServiceAddress") != null\r
-                        && addrJson.get("ServicePort") != null) {\r
-                    ret = "http://" + addrJson.get("ServiceAddress").getAsString() + ":" + addrJson\r
-                            .get("ServicePort").getAsString();\r
-                }\r
-            } else {\r
-                log.info("No service info is returned from DCAE Consul. Hostname: {}", hostname);\r
-            }\r
-        } catch (Exception e) {\r
-            log.warn(e.getMessage(), e);\r
-        }\r
-        log.info("The " + hostname + " address is " + ret);\r
-        return ret;\r
-    }\r
-\r
-    private static String execQuery(String queryString) {\r
-        return JerseyClient.newInstance().get(queryString);\r
-    }\r
-\r
-    public static String getServiceConfigInfoFromCBS(String hostname) {\r
-        String url = getServiceAddrInfoFromDcaeConsulByHostName(getEnv(CONFIG_BINDING_SERVICE)) + "/service_component/" + hostname;\r
-        String ret = execQuery(url);\r
-        log.info("The query url is: " + url + ". The corresponding configurations are " + ret);\r
-        return ret;\r
-    }\r
-\r
-    public static String getMsbServerAddrWithHttpPrefix() {\r
-        String[] addrInfo = getMsbIpAndPort();\r
-        String ret = addrInfo[0] + ":" + addrInfo[1];\r
-        if (!ret.startsWith(AlarmConst.HTTP) || !ret.startsWith(AlarmConst.HTTPS)) {\r
-            ret = AlarmConst.HTTP + ret;\r
-        }\r
-        return ret;\r
-    }\r
-\r
-    public static String getAaiAddr() {\r
-        boolean tlsEnabled = Boolean.valueOf(getEnv("ENABLE_ENCRYPT"));\r
-\r
-        return String.format("%s://%s%s%s.%s:%d",\r
-                tlsEnabled ? PROTOCOL_HTTPS : PROTOCOL_HTTP,\r
-                nullToEmptyString(getEnv(PRE_ADDR)),\r
-                nullToEmptyString(getEnv(AAI_ADDR)),\r
-                nullToEmptyString(getEnv(POST_ADDR)),\r
-                nullToEmptyString(getEnv(BASE_URL)),\r
-                tlsEnabled ? TLS_PORT : PLAIN_PORT);\r
-    }\r
-\r
-    public static String[] getMsbIpAndPort() {\r
-        return new String[]{getEnv(MSB_IAG_SERVICE_HOST), getEnv(MSB_IAG_SERVICE_PORT)};\r
-    }\r
-\r
-    public static String[] getMicroServiceIpAndPort() {\r
-        String info = getEnv(POD_IP);\r
-        if (info != null) {\r
-            return split(info);\r
-        } else {\r
-            return split(getEnv(HOSTNAME));\r
-        }\r
-    }\r
-\r
-    private static String[] split(String addr) {\r
-        String ip;\r
-        String port = "80";\r
-        if (addr.lastIndexOf(":") == -1) {\r
-            ip = addr;\r
-        } else if (addr.lastIndexOf(":") < 5 && addr.indexOf("://") != -1) {\r
-            ip = addr.substring(addr.indexOf("//") + 2);    //remove the http(s):// prefix\r
-        } else {\r
-            ip = addr.substring(addr.indexOf("://") != -1 ? addr.indexOf("//") + 2 : 0, addr.lastIndexOf(":"));\r
-            port = addr.substring(addr.lastIndexOf(":") + 1);\r
-        }\r
-        return new String[]{ip, port};\r
-    }\r
-\r
-    private static String nullToEmptyString(String input) {\r
-        return input == null ? StringUtils.EMPTY : input;\r
-    }\r
-\r
-}\r
+/**
+ * Copyright  2017-2021 ZTE Corporation.
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.holmes.common.config;
+
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.holmes.common.constant.AlarmConst;
+import org.onap.holmes.common.utils.JerseyClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.onap.holmes.common.utils.CommonUtils.getEnv;
+
+public class MicroServiceConfig {
+
+    final static public String CONSUL_ADDR_SUF = ":8500/v1/catalog/service/";
+    final static public String CONSUL_HOST = "CONSUL_HOST";
+    final static public String HOSTNAME = "HOSTNAME";
+    final static public String POD_IP = "POD_IP";
+    final static public String CONFIG_BINDING_SERVICE = "CONFIG_BINDING_SERVICE";
+    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 String BASE_URL = "BASE_URL";
+    final static public String PRE_ADDR = "PRE_ADDR";
+    final static public String POST_ADDR = "POST_ADDR";
+    final static public String AAI_ADDR = "AAI_ADDR";
+    final static public String PROTOCOL_HTTP = "http";
+    final static public String PROTOCOL_HTTPS = "https";
+    final static public int PLAIN_PORT = 80;
+    final static public int TLS_PORT = 443;
+
+    final static public Logger log = LoggerFactory.getLogger(MicroServiceConfig.class);
+
+    public static String getConsulAddrInfo() {
+        return "http://" + getEnv(CONSUL_HOST) + CONSUL_ADDR_SUF;
+    }
+
+    public static String getServiceAddrInfoFromDcaeConsulByHostName(String hostname) {
+        String ret = null;
+        String queryString = getConsulAddrInfo() + hostname;
+        log.info("Query the " + hostname + " address using the URL: " + queryString);
+        try {
+            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);
+        }
+        log.info("The " + hostname + " address is " + ret);
+        return ret;
+    }
+
+    private static String execQuery(String queryString) {
+        return JerseyClient.newInstance().get(queryString);
+    }
+
+    public static String getServiceConfigInfoFromCBS(String hostname) {
+        String url = getServiceAddrInfoFromDcaeConsulByHostName(getEnv(CONFIG_BINDING_SERVICE)) + "/service_component/" + hostname;
+        String ret = execQuery(url);
+        log.info("The query url is: " + url + ". The corresponding configurations are " + ret);
+        return ret;
+    }
+
+    public static String getMsbServerAddrWithHttpPrefix() {
+        String[] addrInfo = getMsbIpAndPort();
+        String ret = addrInfo[0] + ":" + addrInfo[1];
+        if (!ret.startsWith(AlarmConst.HTTP) || !ret.startsWith(AlarmConst.HTTPS)) {
+            ret = AlarmConst.HTTP + ret;
+        }
+        return ret;
+    }
+
+    public static String getAaiAddr() {
+        boolean tlsEnabled = Boolean.valueOf(getEnv("ENABLE_ENCRYPT"));
+
+        return String.format("%s://%s%s%s.%s:%d",
+                tlsEnabled ? PROTOCOL_HTTPS : PROTOCOL_HTTP,
+                nullToEmptyString(getEnv(PRE_ADDR)),
+                nullToEmptyString(getEnv(AAI_ADDR)),
+                nullToEmptyString(getEnv(POST_ADDR)),
+                nullToEmptyString(getEnv(BASE_URL)),
+                tlsEnabled ? TLS_PORT : PLAIN_PORT);
+    }
+
+    public static String[] getMsbIpAndPort() {
+        return new String[]{getEnv(MSB_IAG_SERVICE_HOST), getEnv(MSB_IAG_SERVICE_PORT)};
+    }
+
+    public static String[] getMicroServiceIpAndPort() {
+        String info = getEnv(POD_IP);
+        if (info != null) {
+            return split(info);
+        } else {
+            return split(getEnv(HOSTNAME));
+        }
+    }
+
+    private static String[] split(String addr) {
+        String ip;
+        String port = "80";
+        if (addr.lastIndexOf(":") == -1) {
+            ip = addr;
+        } else if (addr.lastIndexOf(":") < 5 && addr.indexOf("://") != -1) {
+            ip = addr.substring(addr.indexOf("//") + 2);    //remove the http(s):// prefix
+        } else {
+            ip = addr.substring(addr.indexOf("://") != -1 ? addr.indexOf("//") + 2 : 0, addr.lastIndexOf(":"));
+            port = addr.substring(addr.lastIndexOf(":") + 1);
+        }
+        return new String[]{ip, port};
+    }
+
+    private static String nullToEmptyString(String input) {
+        return input == null ? StringUtils.EMPTY : input;
+    }
+
+}