private void deleteAlarms(final String foreignSource, final String foreignId) { final Map<String, String> eventParameters = new HashMap<>(); eventParameters.put("componentForeignSource", foreignSource); eventParameters.put("componentForeignId", foreignId); for(final OnmsAlarm alarm : m_alarmDao.getAlarmsForEventParameters(eventParameters)) { m_alarmDao.delete(alarm); } }
@Override @Transactional public void deleteAlarm(OnmsAlarm alarm) { LOG.info("Deleting alarm with id: {} with severity: {}", alarm.getId(), alarm.getSeverity()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping delete.", alarm); return; } alarmDao.delete(alarmInTrans); alarmEntityNotifier.didDeleteAlarm(alarmInTrans); }
@Override @Transactional public void deleteAlarm(OnmsAlarm alarm) { LOG.info("Deleting alarm with id: {} with severity: {}", alarm.getId(), alarm.getSeverity()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping delete.", alarm); return; } // If alarm was in Situation, calculate notifications for the Situation Map<OnmsAlarm, Set<OnmsAlarm>> priorRelatedAlarms = new HashMap<>(); if (alarmInTrans.isPartOfSituation()) { for (OnmsAlarm situation : alarmInTrans.getRelatedSituations()) { priorRelatedAlarms.put(situation, new HashSet<OnmsAlarm>(situation.getRelatedAlarms())); } } alarmDao.delete(alarmInTrans); // fire notifications after alarm has been deleted for (Entry<OnmsAlarm, Set<OnmsAlarm>> entry : priorRelatedAlarms.entrySet()) { alarmEntityNotifier.didUpdateRelatedAlarms(entry.getKey(), entry.getValue()); } alarmEntityNotifier.didDeleteAlarm(alarmInTrans); }
m_alarmDao.delete(alarm);