X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=holmes-actions%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fcommon%2Fdcae%2Futils%2FDcaeConfigurationParser.java;h=377debb1e28ed58869ed0c3d300b273ea1660813;hb=ce0b806a18d8f370e1245c480836d18a04afa243;hp=2c878b0f1b89bea3e9088d299fac6ea60722a063;hpb=aa6978f0ab8e81ad3f5b8de549894b63131fde68;p=holmes%2Fcommon.git diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/dcae/utils/DcaeConfigurationParser.java b/holmes-actions/src/main/java/org/onap/holmes/common/dcae/utils/DcaeConfigurationParser.java index 2c878b0..377debb 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/dcae/utils/DcaeConfigurationParser.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/dcae/utils/DcaeConfigurationParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2017 ZTE Corporation. + * Copyright 2017-2020 ZTE Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,19 +15,23 @@ */ package org.onap.holmes.common.dcae.utils; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import java.util.Arrays; -import java.util.List; -import java.util.Map.Entry; -import java.util.Set; -import java.util.stream.Stream; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import org.apache.commons.lang3.StringUtils; import org.onap.holmes.common.dcae.entity.DcaeConfigurations; import org.onap.holmes.common.dcae.entity.Rule; import org.onap.holmes.common.dcae.entity.SecurityInfo; import org.onap.holmes.common.exception.CorrelationException; +import java.util.Arrays; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; +import java.util.stream.Stream; + +import static org.onap.holmes.common.utils.GsonUtil.getAsString; + public class DcaeConfigurationParser { private static final String RULE_CONTENT_SPLIT = "\\$\\$\\$"; @@ -43,9 +47,9 @@ public class DcaeConfigurationParser { DcaeConfigurations ret = new DcaeConfigurations(); - JSONObject jsonObject = null; + JsonObject jsonObject = null; try { - jsonObject = JSON.parseObject(jsonStr); + jsonObject = JsonParser.parseString(jsonStr).getAsJsonObject(); } catch (Exception e) { throw new CorrelationException(e.getMessage(), e); } @@ -54,73 +58,57 @@ public class DcaeConfigurationParser { fillInPublishesInfo(ret, jsonObject); fillInSubscribesInfo(ret, jsonObject); - JSONObject finalJsonObject = jsonObject; + JsonObject finalJsonObject = jsonObject; Stream.of(jsonObject.keySet().toArray(new String[0])) .filter(key -> !OBJECT_ATTRS.contains(key)) - .forEach(key -> ret.put(key, finalJsonObject.getString(String.valueOf(key)))); + .forEach(key -> ret.put(key, finalJsonObject.get(String.valueOf(key)).getAsString())); return ret; } - private static void fillInPublishesInfo(DcaeConfigurations ret, JSONObject jsonObject) { - if (jsonObject.containsKey("streams_publishes")) { - JSONObject publishes = jsonObject.getJSONObject("streams_publishes"); + private static void fillInPublishesInfo(DcaeConfigurations ret, JsonObject jsonObject) { + if (jsonObject.has("streams_publishes")) { + JsonObject publishes = jsonObject.get("streams_publishes").getAsJsonObject(); for (Object key : publishes.keySet()) { ret.addPubSecInfo((String) key, - createSecurityInfo((String) key, publishes.getJSONObject((String) key))); + createSecurityInfo((String) key, publishes.get((String) key).getAsJsonObject())); } } } - private static void fillInSubscribesInfo(DcaeConfigurations ret, JSONObject jsonObject) { - if (jsonObject.containsKey("streams_subscribes")) { - JSONObject subscribes = jsonObject.getJSONObject("streams_subscribes"); + private static void fillInSubscribesInfo(DcaeConfigurations ret, JsonObject jsonObject) { + if (jsonObject.has("streams_subscribes")) { + JsonObject subscribes = jsonObject.get("streams_subscribes").getAsJsonObject(); for (Object key : subscribes.keySet()) { ret.addSubSecInfo((String) key, - createSecurityInfo((String) key, subscribes.getJSONObject((String) key))); + createSecurityInfo((String) key, subscribes.get((String) key).getAsJsonObject())); } } } - private static SecurityInfo createSecurityInfo(String key, JSONObject entity) { + private static SecurityInfo createSecurityInfo(String key, JsonObject entity) { SecurityInfo securityInfo = new SecurityInfo(); - if (entity.containsKey("type")) { - securityInfo.setType(entity.getString("type")); - } - if (entity.containsKey("aaf_password")) { - securityInfo.setAafPassword(entity.getString("aaf_password")); - } - if (entity.containsKey("aaf_username")) { - securityInfo.setAafUsername(entity.getString("aaf_username")); - } + securityInfo.setType(getAsString(entity, "type")); + securityInfo.setAafPassword(getAsString(entity, "aaf_password")); + securityInfo.setAafUsername(getAsString(entity, "aaf_username")); securityInfo.setSecureTopic(!key.endsWith("unsecure")); - fillInDmaapInfo(securityInfo, entity.getJSONObject("dmaap_info")); + fillInDmaapInfo(securityInfo, entity.get("dmaap_info").getAsJsonObject()); return securityInfo; } - private static void fillInDmaapInfo(SecurityInfo securityInfo, JSONObject jsonDmaapInfo) { + private static void fillInDmaapInfo(SecurityInfo securityInfo, JsonObject jsonDmaapInfo) { SecurityInfo.DmaapInfo dmaapInfo = securityInfo.getDmaapInfo(); - if (jsonDmaapInfo.containsKey("location")){ - dmaapInfo.setLocation(jsonDmaapInfo.getString("location")); - } - if (jsonDmaapInfo.containsKey("topic_url")) { - dmaapInfo.setTopicUrl(jsonDmaapInfo.getString("topic_url")); - } - if (jsonDmaapInfo.containsKey("client_id")) { - dmaapInfo.setClientId(jsonDmaapInfo.getString("client_id")); - } - if (jsonDmaapInfo.containsKey("client_role")) { - dmaapInfo.setClientRole(jsonDmaapInfo.getString("client_role")); - } - if (jsonDmaapInfo.containsKey("type")) { - dmaapInfo.setType(jsonDmaapInfo.getString("type")); - } + dmaapInfo.setLocation(getAsString(jsonDmaapInfo, "location")); + dmaapInfo.setTopicUrl(getAsString(jsonDmaapInfo, "topic_url")); + dmaapInfo.setClientId(getAsString(jsonDmaapInfo, "client_id")); + dmaapInfo.setClientRole(getAsString(jsonDmaapInfo, "client_role")); + dmaapInfo.setType(getAsString(jsonDmaapInfo, "type")); } - private static void fillInRules(DcaeConfigurations ret, JSONObject jsonObject) { - Set> entries = jsonObject.entrySet(); - for (Entry entry : entries) { + private static void fillInRules(DcaeConfigurations ret, JsonObject jsonObject) { + Set> entries = jsonObject.entrySet(); + for (Entry entry : entries) { if (entry.getKey().startsWith("holmes.default.rule")) { - String value = (String) entry.getValue(); + String value = entry.getValue().getAsString(); String[] contents = value.split(RULE_CONTENT_SPLIT); ret.addDefaultRule(new Rule(entry.getKey(), contents[0], contents[1], 1)); }