summaryrefslogtreecommitdiffstats
path: root/engine-d/src/main/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPolling.java
diff options
context:
space:
mode:
Diffstat (limited to 'engine-d/src/main/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPolling.java')
-rw-r--r--engine-d/src/main/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPolling.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/engine-d/src/main/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPolling.java b/engine-d/src/main/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPolling.java
index 1446b14..99ba3d7 100644
--- a/engine-d/src/main/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPolling.java
+++ b/engine-d/src/main/java/org/onap/holmes/engine/dmaap/DMaaPAlarmPolling.java
@@ -49,9 +49,15 @@ public class DMaaPAlarmPolling implements Runnable {
vesAlarmList = subscriber.subscribe();
vesAlarmList.forEach(vesAlarm -> {
try {
- alarmInfoDao.saveAlarm(getAlarmInfo(vesAlarm));
+ AlarmInfo alarmInfo = getAlarmInfo(vesAlarm);
+ if (alarmInfo.getAlarmIsCleared() != 1) {
+ alarmInfoDao.saveAlarm(alarmInfo);
+ } else {
+ alarmInfoDao.deleteAlarm(alarmInfo);
+ }
droolsEngine.putRaisedIntoStream(vesAlarm);
- } catch(AlarmInfoException e) {
+
+ } catch (AlarmInfoException e) {
log.error("Failed to save alarm to database", e);
}
});
@@ -74,6 +80,7 @@ public class DMaaPAlarmPolling implements Runnable {
}
}
}
+
private AlarmInfo getAlarmInfo(VesAlarm vesAlarm) {
AlarmInfo alarmInfo = new AlarmInfo();
alarmInfo.setAlarmIsCleared(vesAlarm.getAlarmIsCleared());