public static DcaeConfigurations getDcaeConfigurations(String hostname)
throws CorrelationException {
- String serviceAddrInfo = MicroServiceConfig.getServiceConfigInfoFromCBS(hostname);
- String response;
- try {
- response = getDcaeResponse(serviceAddrInfo);
- } catch (Exception e) {
- throw new CorrelationException("Failed to connect to DCAE. ", e);
- }
- DcaeConfigurations dcaeConfigurations = null;
- dcaeConfigurations = DcaeConfigurationParser.parse(response);
- return dcaeConfigurations;
- }
-
- private static String getDcaeResponse(String serviceAddrInfo) {
- Client client = ClientBuilder.newClient(new ClientConfig());
- WebTarget webTarget = client.target(serviceAddrInfo);
- return webTarget.request("application/json").get()
- .readEntity(String.class);
+ String serviceConfig = MicroServiceConfig.getServiceConfigInfoFromCBS(hostname);
+ return DcaeConfigurationParser.parse(serviceConfig);
}
}
package org.onap.holmes.common.dcae.utils;\r
\r
import java.util.Arrays;\r
-import java.util.HashMap;\r
import java.util.List;\r
import java.util.Map.Entry;\r
import java.util.Set;\r
public static DcaeConfigurations parse(String jsonStr) throws CorrelationException {\r
if (StringUtils.isEmpty(jsonStr)) {\r
throw new CorrelationException(\r
- "Can not resolve configurations from DCAE. The configuration string is empty");\r
+ "Can not resolve configurations from DCAE. The configuration string is empty.");\r
}\r
\r
DcaeConfigurations ret = new DcaeConfigurations();\r
\r
fillInRules(ret, jsonObject);\r
fillInPublishesInfo(ret, jsonObject);\r
-\r
- if (jsonObject.containsKey("streams_subscribes")) {\r
-\r
- }\r
+ fillInSubscribesInfo(ret, jsonObject);\r
\r
JSONObject finalJsonObject = jsonObject;\r
Stream.of(jsonObject.keySet().toArray(new String[0]))\r
}\r
}\r
\r
+ private static void fillInSubscribesInfo(DcaeConfigurations ret, JSONObject jsonObject) {\r
+ if (jsonObject.containsKey("streams_subscribes")) {\r
+ JSONObject subscribes = jsonObject.getJSONObject("streams_subscribes");\r
+ for (Object key : subscribes.keySet()) {\r
+ ret.addSubSecInfo((String) key,\r
+ createSecurityInfo((String) key, subscribes.getJSONObject((String) key)));\r
+ }\r
+ }\r
+ }\r
+\r
private static SecurityInfo createSecurityInfo(String key, JSONObject entity) {\r
SecurityInfo securityInfo = new SecurityInfo();\r
- securityInfo.setType(entity.getString("type"));\r
- if (!entity.get("aaf_password").equals("null")) {\r
+ if (entity.containsKey("type")) {\r
+ securityInfo.setType(entity.getString("type"));\r
+ }\r
+ if (entity.containsKey("aaf_password")) {\r
securityInfo.setAafPassword(entity.getString("aaf_password"));\r
}\r
- if (!entity.get("aaf_username").equals("null")) {\r
+ if (entity.containsKey("aaf_username")) {\r
securityInfo.setAafUsername(entity.getString("aaf_username"));\r
}\r
securityInfo.setSecureTopic(!key.endsWith("unsecure"));\r
\r
private static void fillInDmaapInfo(SecurityInfo securityInfo, JSONObject jsonDmaapInfo) {\r
SecurityInfo.DmaapInfo dmaapInfo = securityInfo.getDmaapInfo();\r
- dmaapInfo.setLocation(jsonDmaapInfo.getString("location"));\r
- dmaapInfo.setTopicUrl(jsonDmaapInfo.getString("topic_url"));\r
- if (!jsonDmaapInfo.get("client_id").equals("null")) {\r
+ if (jsonDmaapInfo.containsKey("location")){\r
+ dmaapInfo.setLocation(jsonDmaapInfo.getString("location"));\r
+ }\r
+ if (jsonDmaapInfo.containsKey("topic_url")) {\r
+ dmaapInfo.setTopicUrl(jsonDmaapInfo.getString("topic_url"));\r
+ }\r
+ if (jsonDmaapInfo.containsKey("client_id")) {\r
dmaapInfo.setClientId(jsonDmaapInfo.getString("client_id"));\r
}\r
- if (!jsonDmaapInfo.get("client_role").equals("null")) {\r
+ if (jsonDmaapInfo.containsKey("client_role")) {\r
dmaapInfo.setClientRole(jsonDmaapInfo.getString("client_role"));\r
}\r
+ if (jsonDmaapInfo.containsKey("type")) {\r
+ dmaapInfo.setType(jsonDmaapInfo.getString("type"));\r
+ }\r
}\r
\r
private static void fillInRules(DcaeConfigurations ret, JSONObject jsonObject) {\r