Remove Alarm Info from DB when alarms are cleared
[holmes/engine-management.git] / engine-d / src / main / java / org / onap / holmes / engine / dmaap / DMaaPAlarmPolling.java
index 1446b14..99ba3d7 100644 (file)
@@ -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());