summaryrefslogtreecommitdiffstats
path: root/engine-d/src/main/java/org/onap/holmes/dsa/dmaappolling/DMaaPResponseUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'engine-d/src/main/java/org/onap/holmes/dsa/dmaappolling/DMaaPResponseUtil.java')
-rw-r--r--engine-d/src/main/java/org/onap/holmes/dsa/dmaappolling/DMaaPResponseUtil.java111
1 files changed, 43 insertions, 68 deletions
diff --git a/engine-d/src/main/java/org/onap/holmes/dsa/dmaappolling/DMaaPResponseUtil.java b/engine-d/src/main/java/org/onap/holmes/dsa/dmaappolling/DMaaPResponseUtil.java
index be30153..e7d6669 100644
--- a/engine-d/src/main/java/org/onap/holmes/dsa/dmaappolling/DMaaPResponseUtil.java
+++ b/engine-d/src/main/java/org/onap/holmes/dsa/dmaappolling/DMaaPResponseUtil.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,98 +15,73 @@
*/
package org.onap.holmes.dsa.dmaappolling;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import org.jvnet.hk2.annotations.Service;
import org.onap.holmes.common.api.stat.AlarmAdditionalField;
import org.onap.holmes.common.api.stat.VesAlarm;
-import java.io.IOException;
-import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+import static org.onap.holmes.common.utils.GsonUtil.*;
+
@Service
public class DMaaPResponseUtil {
- public VesAlarm convertJsonToVesAlarm(String responseJson) throws IOException {
- JSONObject jsonNode = JSON.parseObject(responseJson);
+ public VesAlarm convertJsonToVesAlarm(String responseJson) {
+ JsonObject jsonNode = JsonParser.parseString(responseJson).getAsJsonObject();
VesAlarm vesAlarm = new VesAlarm();
- JSONObject eventJson = JSON.parseObject(jsonNode.get("event") +"");
- JSONObject commonEventHeaderJson = JSON.parseObject(eventJson.get("commonEventHeader") +"");
+ JsonObject eventJson = JsonParser.parseString(jsonNode.get("event").toString()).getAsJsonObject();
+ JsonObject commonEventHeaderJson = JsonParser.parseString(eventJson.get("commonEventHeader").toString())
+ .getAsJsonObject();
convertCommonEventHeaderJsonToEvent(commonEventHeaderJson, vesAlarm);
- JSONObject faultFieldsJson = JSON.parseObject(eventJson.get("faultFields") +"");
+ JsonObject faultFieldsJson = JsonParser.parseString(eventJson.get("faultFields").toString())
+ .getAsJsonObject();
convertFaultFieldsJsonToEvent(faultFieldsJson, vesAlarm);
return vesAlarm;
}
- private void convertCommonEventHeaderJsonToEvent(JSONObject commonEventHeaderJson,
+ private void convertCommonEventHeaderJsonToEvent(JsonObject commonEventHeaderJson,
VesAlarm vesAlarm) {
- vesAlarm.setDomain((String) commonEventHeaderJson.get("domain"));
- vesAlarm.setEventId((String) commonEventHeaderJson.get("eventId"));
- vesAlarm.setEventName((String) commonEventHeaderJson.get("eventName"));
+ vesAlarm.setDomain(getAsString(commonEventHeaderJson, "domain"));
+ vesAlarm.setEventId(getAsString(commonEventHeaderJson, "eventId"));
+ vesAlarm.setEventName(getAsString(commonEventHeaderJson, "eventName"));
vesAlarm.setAlarmIsCleared(vesAlarm.getEventName().endsWith("Cleared") ? 1 : 0);
- vesAlarm.setEventType(getTextElementByNode(commonEventHeaderJson, "eventType"));
- vesAlarm.setInternalHeaderFields(
- getTextElementByNode(commonEventHeaderJson, "internalHeaderFields"));
- vesAlarm.setLastEpochMicrosec(commonEventHeaderJson.getLong("lastEpochMicrosec"));
- vesAlarm.setNfcNamingCode(getTextElementByNode(commonEventHeaderJson, "nfcNamingCode"));
- vesAlarm.setNfNamingCode(getTextElementByNode(commonEventHeaderJson, "nfNamingCode"));
- vesAlarm.setPriority((String) commonEventHeaderJson.get("priority"));
- vesAlarm.setReportingEntityId(
- getTextElementByNode(commonEventHeaderJson, "reportingEntityId"));
- vesAlarm.setReportingEntityName( (String) commonEventHeaderJson.get("reportingEntityName"));
- vesAlarm.setSequence((Integer) commonEventHeaderJson.get("sequence"));
- vesAlarm.setSourceId(getTextElementByNode(commonEventHeaderJson, "sourceId"));
- vesAlarm.setSourceName( (String) commonEventHeaderJson.get("sourceName"));
- vesAlarm.setStartEpochMicrosec(commonEventHeaderJson.getLong("startEpochMicrosec"));
- vesAlarm.setVersion(commonEventHeaderJson.getLong("version"));
+ vesAlarm.setEventType(getAsString(commonEventHeaderJson, "eventType"));
+ vesAlarm.setInternalHeaderFields(getAsString(commonEventHeaderJson, "internalHeaderFields"));
+ vesAlarm.setLastEpochMicrosec(getAsLong(commonEventHeaderJson, "lastEpochMicrosec"));
+ vesAlarm.setNfcNamingCode(getAsString(commonEventHeaderJson, "nfcNamingCode"));
+ vesAlarm.setNfNamingCode(getAsString(commonEventHeaderJson, "nfNamingCode"));
+ vesAlarm.setPriority(getAsString(commonEventHeaderJson, "priority"));
+ vesAlarm.setReportingEntityId(getAsString(commonEventHeaderJson, "reportingEntityId"));
+ vesAlarm.setReportingEntityName(getAsString(commonEventHeaderJson, "reportingEntityName"));
+ vesAlarm.setSequence(getAsInt(commonEventHeaderJson, "sequence"));
+ vesAlarm.setSourceId(getAsString(commonEventHeaderJson, "sourceId"));
+ vesAlarm.setSourceName(getAsString(commonEventHeaderJson, "sourceName"));
+ vesAlarm.setStartEpochMicrosec(getAsLong(commonEventHeaderJson, "startEpochMicrosec"));
+ vesAlarm.setVersion(getAsLong(commonEventHeaderJson, "version"));
}
- private void convertFaultFieldsJsonToEvent(JSONObject faultFieldsJson, VesAlarm vesAlarm) {
+ private void convertFaultFieldsJsonToEvent(JsonObject faultFieldsJson, VesAlarm vesAlarm) {
vesAlarm.setAlarmAdditionalInformation(getListElementByNode(faultFieldsJson, "alarmAdditionalInformation"));
- vesAlarm.setAlarmCondition(faultFieldsJson.getString("alarmCondition"));
- vesAlarm.setAlarmInterfaceA(getTextElementByNode(faultFieldsJson, "alarmInterfaceA"));
- vesAlarm.setEventCategory(getTextElementByNode(faultFieldsJson,"eventCategory"));
- vesAlarm.setEventSeverity(faultFieldsJson.getString("eventSeverity"));
- vesAlarm.setEventSourceType(faultFieldsJson.getString("eventSourceType"));
- vesAlarm.setFaultFieldsVersion(faultFieldsJson.getLong("faultFieldsVersion"));
- vesAlarm.setSpecificProblem(faultFieldsJson.getString("specificProblem"));
- vesAlarm.setVfStatus(faultFieldsJson.getString("vfStatus"));
- }
-
- private String getTextElementByNode(JSONObject jsonNode,String name){
- if(jsonNode.get(name) != null){
- return jsonNode.getString(name);
- }
- return null;
- }
-
- private Long getLongElementByNode(JSONObject jsonNode, String name) {
- if(jsonNode.get(name) != null){
- return jsonNode.getLong(name);
- }
- return null;
+ vesAlarm.setAlarmCondition(getAsString(faultFieldsJson, "alarmCondition"));
+ vesAlarm.setAlarmInterfaceA(getAsString(faultFieldsJson, "alarmInterfaceA"));
+ vesAlarm.setEventCategory(getAsString(faultFieldsJson, "eventCategory"));
+ vesAlarm.setEventSeverity(getAsString(faultFieldsJson, "eventSeverity"));
+ vesAlarm.setEventSourceType(getAsString(faultFieldsJson, "eventSourceType"));
+ vesAlarm.setFaultFieldsVersion(getAsLong(faultFieldsJson, "faultFieldsVersion"));
+ vesAlarm.setSpecificProblem(getAsString(faultFieldsJson, "specificProblem"));
+ vesAlarm.setVfStatus(getAsString(faultFieldsJson, "vfStatus"));
}
- private List<AlarmAdditionalField> getListElementByNode(JSONObject jsonNode, String name){
- List<AlarmAdditionalField> alarms = new ArrayList<AlarmAdditionalField>();
- if (jsonNode.get(name) != null) {
- JSONArray alarmAdditionalInformations = jsonNode.getJSONArray(name);
- for (int i = 0; i < alarmAdditionalInformations.size(); i++) {
- JSONObject jsonObject = alarmAdditionalInformations.getJSONObject(i);
- if (jsonObject.get("name") != null
- && jsonObject.get("value") != null) {
- AlarmAdditionalField field = new AlarmAdditionalField();
- field.setName(getTextElementByNode(jsonObject, "name"));
- field.setValue(getTextElementByNode(jsonObject, "value"));
- alarms.add(field);
- }
- }
+ private List<AlarmAdditionalField> getListElementByNode(JsonObject jsonNode, String name) {
+ if (jsonNode.has(name) && !jsonNode.get(name).isJsonNull()) {
+ return jsonToList(jsonNode.get(name).toString(), AlarmAdditionalField.class);
}
- return alarms;
+ return Collections.emptyList();
}
}