/** * {@inheritDoc} */ @Transactional @Override public OnmsAlarm getAlarm(int alarmId) { return m_alarmDao.get(alarmId); }
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; } alarmDao.delete(alarmInTrans); alarmEntityNotifier.didDeleteAlarm(alarmInTrans); }
@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); }
@Override @Transactional public void unacknowledgeAlarm(OnmsAlarm alarm, Date now) { LOG.info("Un-Acknowledging alarm with id: {} @ {}", alarm.getId(), now); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping un-ack.", alarm); return; } OnmsAcknowledgment ack = new OnmsAcknowledgment(alarmInTrans, DEFAULT_USER, now); ack.setAckAction(AckAction.UNACKNOWLEDGE); acknowledgmentDao.processAck(ack); }
@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); }
@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); }
@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); }
@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 escalateAlarm(OnmsAlarm alarm, Date now) { LOG.info("Escalating alarm with id: {}", alarm.getId()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping escalate.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(OnmsSeverity.get(previousSeverity.getId() + 1)); updateAutomationTime(alarmInTrans, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
/** * {@inheritDoc} */ @Override @Transactional public void removeStickyMemo(Integer alarmId) { final OnmsAlarm onmsAlarm = m_alarmDao.get(alarmId); if (onmsAlarm != null && onmsAlarm.getStickyMemo() != null) { final OnmsMemo stickyMemo = onmsAlarm.getStickyMemo(); m_memoDao.delete(onmsAlarm.getStickyMemo()); onmsAlarm.setStickyMemo(null); m_alarmEntityNotifier.didDeleteStickyMemo(onmsAlarm, stickyMemo); } }
/** * {@inheritDoc} */ @Override @Transactional public void removeReductionKeyMemo(int alarmId) { OnmsAlarm onmsAlarm = m_alarmDao.get(alarmId); if (onmsAlarm != null && onmsAlarm.getReductionKeyMemo() != null) { final OnmsReductionKeyMemo reductionKeyMemo = onmsAlarm.getReductionKeyMemo(); m_memoDao.delete(onmsAlarm.getReductionKeyMemo()); onmsAlarm.setReductionKeyMemo(null); m_alarmEntityNotifier.didDeleteReductionKeyMemo(onmsAlarm, reductionKeyMemo); } }
@Override @Transactional public void escalateAlarm(OnmsAlarm alarm, Date now) { LOG.info("Escalating alarm with id: {}", alarm.getId()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping escalate.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(OnmsSeverity.get(previousSeverity.getId() + 1)); updateAutomationTime(alarmInTrans, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
@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); }
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 @Transactional public void acknowledgeAlarm(OnmsAlarm alarm, Date now) { LOG.info("Acknowledging alarm with id: {}", alarm.getId()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping ack.", alarm); return; } final String previousAckUser = alarmInTrans.getAlarmAckUser(); final Date previousAckTime = alarmInTrans.getAlarmAckTime(); alarmInTrans.setAlarmAckUser(DEFAULT_USER); alarmInTrans.setAlarmAckTime(now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didAcknowledgeAlarm(alarmInTrans, previousAckUser, previousAckTime); }
@Override @Transactional public void unclearAlarm(OnmsAlarm alarm, Date now) { LOG.info("Un-clearing alarm with id: {} at: {}", alarm.getId(), alarm.getLastEventTime()); final OnmsAlarm alarmInTrans = alarmDao.get(alarm.getId()); if (alarmInTrans == null) { LOG.warn("Alarm disappeared: {}. Skipping un-clear.", alarm); return; } final OnmsSeverity previousSeverity = alarmInTrans.getSeverity(); alarmInTrans.setSeverity(OnmsSeverity.get(alarmInTrans.getLastEvent().getEventSeverity())); updateAutomationTime(alarmInTrans, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
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 @Transactional public void unclearAlarm(OnmsAlarm alarm, Date now) { LOG.info("Un-clearing alarm with id: {} at: {}", alarm.getId(), alarm.getLastEventTime()); 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.get(alarmInTrans.getLastEvent().getEventSeverity())); updateAutomationTime(alarmInTrans, now); alarmDao.update(alarmInTrans); alarmEntityNotifier.didUpdateAlarmSeverity(alarmInTrans, previousSeverity); }
/** {@inheritDoc} */ @Override public void cancelTicketForAlarm(int alarmId, String ticketId) { OnmsAlarm alarm = m_alarmDao.get(alarmId); if (alarm == null) { LOG.error("No alarm with id {} was found. Ticket with id '{}' will not be canceled.", alarmId, ticketId); return; } try { setTicketState(ticketId, Ticket.State.CANCELLED); alarm.setTTicketState(TroubleTicketState.CANCELLED); } catch (PluginException e) { alarm.setTTicketState(TroubleTicketState.CANCEL_FAILED); LOG.error("Unable to cancel ticket for alarm: {}", e.getMessage(), e); m_eventIpcManager.sendNow(createEvent(e.getMessage())); } m_alarmDao.saveOrUpdate(alarm); }