diff options
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.java | 11 |
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()); |