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
+import static org.onap.holmes.common.utils.CommonUtils.getEnv;\r
\r
public class MicroServiceConfig {\r
\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 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
- final static public Pattern IP_REG = Pattern.compile("(http(s)?://)?(\\d+\\.\\d+\\.\\d+\\.\\d+)(:(\\d+))?");\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
- public static String getEnv(String name) {\r
- String value = System.getenv(name);\r
- if (value == null) {\r
- value = System.getProperty(name);\r
- }\r
- return value;\r
- }\r
-\r
public static String getConsulAddrInfo() {\r
return "http://" + getEnv(CONSUL_HOST) + CONSUL_ADDR_SUF;\r
}\r
}\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
}\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
}\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
- public static boolean isIpAddress(String info) {\r
- return IP_REG.matcher(info).matches();\r
}\r
\r
private static String[] split(String addr) {\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