Removed MSB Invocation During AAI Calling
[holmes/common.git] / holmes-actions / src / main / java / org / onap / holmes / common / config / MicroServiceConfig.java
index 43fef11..df3a7df 100644 (file)
@@ -18,17 +18,13 @@ package org.onap.holmes.common.config;
 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 javax.ws.rs.client.Client;\r
-import javax.ws.rs.client.ClientBuilder;\r
-import javax.ws.rs.core.Response;\r
-import java.util.regex.Pattern;\r
-\r
 import static org.onap.holmes.common.utils.CommonUtils.getEnv;\r
-import static org.onap.holmes.common.utils.CommonUtils.isIpAddress;\r
 \r
 public class MicroServiceConfig {\r
 \r
@@ -37,12 +33,17 @@ public class MicroServiceConfig {
     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 DOCKER_HOST = "DOCKER_HOST";\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
-\r
-    final static public String AAI_HOSTNAME = "aai.onap";\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
@@ -74,19 +75,12 @@ public class MicroServiceConfig {
     }\r
 \r
     private static String execQuery(String queryString) {\r
-        Client client = ClientBuilder.newBuilder().build();\r
-        Response response = client.target(queryString).request().get();\r
-        return response.readEntity(String.class);\r
+        return JerseyClient.newInstance().get(queryString);\r
     }\r
 \r
     public static String getServiceConfigInfoFromCBS(String hostname) {\r
-        String ret = null;\r
         String url = getServiceAddrInfoFromDcaeConsulByHostName(getEnv(CONFIG_BINDING_SERVICE)) + "/service_component/" + hostname;\r
-        try {\r
-            ret = execQuery(url);\r
-        } catch (Exception e) {\r
-            log.warn(e.getMessage(), e);\r
-        }\r
+        String ret = execQuery(url);\r
         log.info("The query url is: " + url + ". The corresponding configurations are " + ret);\r
         return ret;\r
     }\r
@@ -101,7 +95,15 @@ public class MicroServiceConfig {
     }\r
 \r
     public static String getAaiAddr() {\r
-        return AlarmConst.HTTPS + AAI_HOSTNAME + ":8443";\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
@@ -109,23 +111,14 @@ public class MicroServiceConfig {
     }\r
 \r
     public static String[] getMicroServiceIpAndPort() {\r
-        String[] serviceAddrInfo = null;\r
-        String info = getServiceAddrInfoFromDcaeConsulByHostName(getEnv(HOSTNAME));\r
-        log.info("Got the service information of \"" + getEnv(HOSTNAME) + "\" from Consul. The response is " + info + ".");\r
-\r
-        if (info != null && !info.isEmpty()) {\r
-            if (!isIpAddress(info)) {\r
-                info = getEnv(POD_IP);\r
-            }\r
-            serviceAddrInfo = split(info);\r
+        String info = getEnv(POD_IP);\r
+        if (info != null) {\r
+            return split(info);\r
         } else {\r
-            serviceAddrInfo = split(getEnv(HOSTNAME));\r
+            return split(getEnv(HOSTNAME));\r
         }\r
-        return serviceAddrInfo;\r
     }\r
 \r
-\r
-\r
     private static String[] split(String addr) {\r
         String ip;\r
         String port = "80";\r
@@ -140,4 +133,8 @@ public class MicroServiceConfig {
         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