Code Review
/
holmes
/
common.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fixed the CLM Issues
[holmes/common.git]
/
holmes-actions
/
src
/
main
/
java
/
org
/
onap
/
holmes
/
common
/
config
/
MicroServiceConfig.java
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
f74d1b2
..
33bd1d2
100644
(file)
--- 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,12
+1,12
@@
/**
\r
/**
\r
- * Copyright 2017 ZTE Corporation.
\r
- *
\r
+ * Copyright 2017
-2020
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
* 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
- *
\r
- *
http://www.apache.org/licenses/LICENSE-2.0
\r
- *
\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
* 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
@@
-15,23
+15,30
@@
*/
\r
package org.onap.holmes.common.config;
\r
\r
*/
\r
package org.onap.holmes.common.config;
\r
\r
-import com.alibaba.fastjson.JSON;
\r
-import com.alibaba.fastjson.JSONObject;
\r
+import com.google.gson.JsonObject;
\r
+import com.google.gson.JsonParser;
\r
+import org.onap.holmes.common.constant.AlarmConst;
\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 javax.ws.rs.client.Client;
\r
import javax.ws.rs.client.ClientBuilder;
\r
import javax.ws.rs.core.Response;
\r
-import lombok.extern.slf4j.Slf4j;
\r
-import org.onap.holmes.common.constant.AlarmConst;
\r
+import java.util.regex.Pattern;
\r
\r
\r
-@Slf4j
\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
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 DOCKER_HOST = "DOCKER_HOST";
\r
final static public String MSB_ADDR = "MSB_ADDR";
\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 Pattern IP_REG = Pattern.compile("(http(s)?://)?(\\d+\\.\\d+\\.\\d+\\.\\d+)(:(\\d+))?");
\r
+ final static public String AAI_HOSTNAME = "aai.onap";
\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
\r
public static String getEnv(String name) {
\r
String value = System.getenv(name);
\r
@@
-50,11
+57,14
@@
public class MicroServiceConfig {
String queryString = getConsulAddrInfo() + hostname;
\r
log.info("Query the " + hostname + " address using the URL: " + queryString);
\r
try {
\r
String queryString = getConsulAddrInfo() + hostname;
\r
log.info("Query the " + hostname + " address using the URL: " + queryString);
\r
try {
\r
- JSONObject addrJson = (JSONObject) JSON.parseArray(execQuery(queryString)).get(0);
\r
+ JsonObject addrJson = JsonParser.parseString(execQuery(queryString))
\r
+ .getAsJsonArray()
\r
+ .get(0)
\r
+ .getAsJsonObject();
\r
if (addrJson != null && addrJson.get("ServiceAddress") != null
\r
&& addrJson.get("ServicePort") != null) {
\r
if (addrJson != null && addrJson.get("ServiceAddress") != null
\r
&& addrJson.get("ServicePort") != null) {
\r
- ret = "http://" + addrJson.get
String("ServiceAddress"
) + ":" + addrJson
\r
- .get
String("ServicePort"
);
\r
+ ret = "http://" + addrJson.get
("ServiceAddress").getAsString(
) + ":" + addrJson
\r
+ .get
("ServicePort").getAsString(
);
\r
}
\r
} catch (Exception e) {
\r
log.warn(e.getMessage(), e);
\r
}
\r
} catch (Exception e) {
\r
log.warn(e.getMessage(), e);
\r
@@
-84,12
+94,16
@@
public class MicroServiceConfig {
public static String getMsbServerAddrWithHttpPrefix() {
\r
String[] addrInfo = getMsbIpAndPort();
\r
String ret = addrInfo[0] + ":" + addrInfo[1];
\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
+ if (!ret.startsWith(AlarmConst.HTTP) || !ret.startsWith(AlarmConst.HTTPS))
{
\r
ret = AlarmConst.HTTP + ret;
\r
}
\r
return ret;
\r
}
\r
\r
ret = AlarmConst.HTTP + ret;
\r
}
\r
return ret;
\r
}
\r
\r
+ public static String getAaiAddr() {
\r
+ return AlarmConst.HTTPS + AAI_HOSTNAME + ":8443";
\r
+ }
\r
+
\r
public static String[] getMsbIpAndPort() {
\r
return split(getEnv(MSB_ADDR));
\r
}
\r
public static String[] getMsbIpAndPort() {
\r
return split(getEnv(MSB_ADDR));
\r
}
\r
@@
-98,7
+112,11
@@
public class MicroServiceConfig {
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
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
- if (info != null && !info.isEmpty()){
\r
+
\r
+ if (info != null && !info.isEmpty()) {
\r
+ if (!isIpAddress(info)) {
\r
+ info = getEnv(POD_IP);
\r
+ }
\r
serviceAddrInfo = split(info);
\r
} else {
\r
serviceAddrInfo = split(getEnv(HOSTNAME));
\r
serviceAddrInfo = split(info);
\r
} else {
\r
serviceAddrInfo = split(getEnv(HOSTNAME));
\r
@@
-106,10
+124,14
@@
public class MicroServiceConfig {
return serviceAddrInfo;
\r
}
\r
\r
return serviceAddrInfo;
\r
}
\r
\r
+ private static boolean isIpAddress(String info) {
\r
+ return IP_REG.matcher(info).matches();
\r
+ }
\r
+
\r
private static String[] split(String addr) {
\r
String ip;
\r
String port = "80";
\r
private static String[] split(String addr) {
\r
String ip;
\r
String port = "80";
\r
- if (addr.lastIndexOf(":") == -1){
\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
ip = addr;
\r
} else if (addr.lastIndexOf(":") < 5 && addr.indexOf("://") != -1) {
\r
ip = addr.substring(addr.indexOf("//") + 2); //remove the http(s):// prefix
\r
@@
-117,7
+139,7
@@
public class MicroServiceConfig {
ip = addr.substring(addr.indexOf("://") != -1 ? addr.indexOf("//") + 2 : 0, addr.lastIndexOf(":"));
\r
port = addr.substring(addr.lastIndexOf(":") + 1);
\r
}
\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
+ return new String[]{ip, port};
\r
}
\r
\r
}
\r
}
\r
\r
}
\r