@Override public List<OnmsAlarm> findMatchingAlarms(org.opennms.core.criteria.Criteria criteria) { return alarmDao.findMatching(criteria); } }
@Override public void acknowledgeAlarm(String ackUser, Date ackTime, Function<OnmsAlarm, Boolean> filter) { m_transactionTemplate.execute((t) -> { final List<OnmsAlarm> alarms = m_alarmDao.findAll().stream() .filter(filter::apply) .collect(Collectors.toList()); alarms.forEach(a -> { m_alarmService.acknowledgeAlarm(a, ackTime); }); return null; }); }
private void changeTicket(Integer alarmId, TroubleTicketState newState, String uei,Map<String,String> attributes) { OnmsAlarm alarm = m_alarmDao.get(alarmId); alarm.setTTicketState(newState); m_alarmDao.saveOrUpdate(alarm); EventBuilder bldr = createEventBuilder(uei, alarm, attributes); send(bldr.getEvent()); }
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 public Map<String, AlarmWrapper> lookup(Set<String> reductionKeys) { if (reductionKeys == null || reductionKeys.isEmpty()) { return new HashMap<>(); } if (reductionKeys.size() <= threshold) { List<OnmsAlarm> alarms = alarmDao.findMatching(new CriteriaBuilder(OnmsAlarm.class).in("reductionKey", reductionKeys).toCriteria()); return alarms.stream().collect(Collectors.toMap(OnmsAlarm::getReductionKey, AlarmWrapperImpl::new)); } else { return alarmDao.findAll().stream() .filter(a -> reductionKeys.contains(a.getReductionKey())) .collect(Collectors.toMap(OnmsAlarm::getReductionKey, AlarmWrapperImpl::new)); } }
@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 setSeverity(OnmsAlarm alarm, OnmsSeverity severity, Date now) { LOG.info("Updating severity {} on alarm with id: {}", severity, alarm.getId()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping severity update.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(severity); updateAutomationTime(alarm, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
/** * {@inheritDoc} */ @Transactional @Override public OnmsAlarm getAlarm(int alarmId) { return m_alarmDao.get(alarmId); }
/** * {@inheritDoc} */ @Transactional @Override public int countMatchingAlarms(OnmsCriteria criteria) { return m_alarmDao.countMatching(criteria); }
private Map<Integer, AlarmSummary> getAlarmSummaries(Set<Integer> nodeIds) { return alarmDao.getNodeAlarmSummariesIncludeAcknowledgedOnes(new ArrayList<>(nodeIds)) .stream() .collect(Collectors.toMap(AlarmSummary::getNodeId, Function.identity())); } }
@Override @Transactional public void setSeverity(OnmsAlarm alarm, OnmsSeverity severity, Date now) { LOG.info("Updating severity on alarm with id: {}", alarm.getId()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping severity update.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(severity); updateAutomationTime(alarm, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
private String getReductionKey(int situationId) throws FeedbackException { OnmsAlarm situation = alarmDao.get(situationId); if (situation == null) { throw new FeedbackException("No Situation found with ID " + situationId); } return situation.getReductionKey(); }
@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); }
@Transactional @Override public int getAcknowledgedCount(final Criteria criteria) { criteria.addRestriction(org.opennms.core.criteria.restrictions.Restrictions.isNotNull("alarmAckUser")); return m_alarmDao.countMatching(criteria); }
private Map<Integer, AlarmSummary> getAlarmSummaries(Set<Integer> nodeIds) { return alarmDao.getNodeAlarmSummariesIncludeAcknowledgedOnes(new ArrayList<>(nodeIds)) .stream() .collect(Collectors.toMap(AlarmSummary::getNodeId, Function.identity())); } }
private void changeTicket(Integer alarmId, TroubleTicketState newState, String uei,Map<String,String> attributes) { OnmsAlarm alarm = m_alarmDao.get(alarmId); alarm.setTTicketState(newState); m_alarmDao.saveOrUpdate(alarm); EventBuilder bldr = createEventBuilder(uei, alarm, attributes); send(bldr.getEvent()); }
@Override public List<OnmsAlarm> findMatchingAlarms(org.opennms.core.criteria.Criteria criteria) { return alarmDao.findMatching(criteria); } }
@Override @Transactional public void clearAlarm(OnmsAlarm alarm, Date clearTime) { LOG.info("Clearing alarm with id: {} with current severity: {} at: {}", alarm.getId(), alarm.getSeverity(), clearTime); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping clear.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(OnmsSeverity.CLEARED); updateAutomationTime(alarmInTrans, clearTime); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
@Override @Transactional public void acknowledgeAlarm(OnmsAlarm alarm, Date now) { LOG.info("Acknowledging alarm with id: {} @ {}", alarm.getId(), now); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping ack.", alarm); return; } OnmsAcknowledgment ack = new OnmsAcknowledgment(alarmInTrans, DEFAULT_USER, now); ack.setAckAction(AckAction.ACKNOWLEDGE); acknowledgmentDao.processAck(ack); }