} else if (alert.isFixed() && !OnmsSeverity.CLEARED.equals(alarm.getSeverity())) {
/** * Creates a criteria that provides <VertexRefs> matching the Alarm query from the users query * stored in the <SearchResult> that was created by this class during the query method. The SearchResult * and the Criterion use the AlarmID as the ID for dereferencing in the container. */ @Override public void addVertexHopCriteria(SearchResult searchResult, GraphContainer container) { LOG.debug("SearchProvider.addVertexHopCriteria: called with search result: '{}'", searchResult); AlarmSearchResult aResult = new AlarmSearchResult(searchResult); String id = searchResult.getId(); String query = searchResult.getQuery(); if (!OnmsSeverity.get(query).equals(OnmsSeverity.INDETERMINATE)) { aResult.setSeverityQuery(true); } else { aResult.setAlarmId(Integer.valueOf(id)); aResult.setSeverityQuery(false); } container.addCriteria(new AlarmHopCriteria(aResult, alarmProvider)); LOG.debug("SearchProvider.addVertexHop: adding hop criteria {}.", new AlarmHopCriteria(aResult, alarmProvider)); }
/** * Creates a criteria that provides <VertexRefs> matching the Alarm query from the users query * stored in the <SearchResult> that was created by this class during the query method. The SearchResult * and the Criterion use the AlarmID as the ID for dereferencing in the container. */ @Override public void addVertexHopCriteria(SearchResult searchResult, GraphContainer container) { LOG.debug("SearchProvider.addVertexHopCriteria: called with search result: '{}'", searchResult); AlarmSearchResult aResult = new AlarmSearchResult(searchResult); String id = searchResult.getId(); String query = searchResult.getQuery(); if (!OnmsSeverity.get(query).equals(OnmsSeverity.INDETERMINATE)) { aResult.setSeverityQuery(true); } else { aResult.setAlarmId(Integer.valueOf(id)); aResult.setSeverityQuery(false); } container.addCriteria(new AlarmHopCriteria(aResult, alarmProvider)); LOG.debug("SearchProvider.addVertexHop: adding hop criteria {}.", new AlarmHopCriteria(aResult, alarmProvider)); }
/** {@inheritDoc} */ @Override public void closeTicketForAlarm(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 closed.", alarmId, ticketId); return; } if (SKIP_CLOSE_WHEN_NOT_CLEARED) { final OnmsSeverity currentSeverity = alarm.getSeverity(); if (currentSeverity != null && !currentSeverity.equals(OnmsSeverity.CLEARED)) { LOG.info("Alarm with id {} is not currently cleared. Ticket with id '{}' will not be closed.", alarmId, ticketId); return; } } try { setTicketState(ticketId, State.CLOSED); alarm.setTTicketState(TroubleTicketState.CLOSED); } catch (PluginException e) { alarm.setTTicketState(TroubleTicketState.CLOSE_FAILED); LOG.error("Unable to close ticket for alarm: {}", e.getMessage(), e); m_eventIpcManager.sendNow(createEvent(e.getMessage())); } m_alarmDao.saveOrUpdate(alarm); }
/** {@inheritDoc} */ @Override public void closeTicketForAlarm(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 closed.", alarmId, ticketId); return; } if (SKIP_CLOSE_WHEN_NOT_CLEARED) { final OnmsSeverity currentSeverity = alarm.getSeverity(); if (currentSeverity != null && !currentSeverity.equals(OnmsSeverity.CLEARED)) { LOG.info("Alarm with id {} is not currently cleared. Ticket with id '{}' will not be closed.", alarmId, ticketId); return; } } try { setTicketState(ticketId, State.CLOSED); alarm.setTTicketState(TroubleTicketState.CLOSED); } catch (PluginException e) { alarm.setTTicketState(TroubleTicketState.CLOSE_FAILED); LOG.error("Unable to close ticket for alarm: {}", e.getMessage(), e); m_eventIpcManager.sendNow(createEvent(e.getMessage())); } m_alarmDao.saveOrUpdate(alarm); }
private List<OnmsAlarm> findAlarms(final List<SearchResult> results, final String queryString) { CriteriaBuilder bldr = new CriteriaBuilder(OnmsAlarm.class); OnmsSeverity severity = OnmsSeverity.get(queryString); List<OnmsAlarm> alarms; if (!OnmsSeverity.INDETERMINATE.equals(severity)) { bldr = new CriteriaBuilder(OnmsAlarm.class); bldr.eq("severity", severity); alarms = alarmProvider.findMatchingAlarms(bldr.toCriteria()); if (alarms.size() > 0) { AlarmSearchResult result = new AlarmSearchResult(queryString); result.setSeverityQuery(true); results.add(result); } } else { bldr.isNotNull("node").ilike("uei", "%"+queryString+"%").orderBy("node"); alarms = alarmProvider.findMatchingAlarms(bldr.toCriteria()); } return alarms; }
/** {@inheritDoc} */ @Override public void createTicketForAlarm(int alarmId, Map<String,String> attributes) { OnmsAlarm alarm = m_alarmDao.get(alarmId); if (alarm == null) { LOG.error("No alarm with id {} was found. No ticket will be created.", alarmId); return; } if (SKIP_CREATE_WHEN_CLEARED) { final OnmsSeverity currentSeverity = alarm.getSeverity(); if (currentSeverity != null && currentSeverity.equals(OnmsSeverity.CLEARED)) { LOG.info("Alarm with id {} is currently cleared. No ticket will be created.", alarmId); return; } } Ticket ticket = createTicketFromAlarm(alarm, attributes); try { m_ticketerPlugin.saveOrUpdate(ticket); alarm.setTTicketId(ticket.getId()); alarm.setTTicketState(TroubleTicketState.OPEN); } catch (PluginException e) { alarm.setTTicketState(TroubleTicketState.CREATE_FAILED); LOG.error("Unable to create ticket for alarm: {}", e.getMessage(), e); m_eventIpcManager.sendNow(createEvent(e.getMessage())); } m_alarmDao.saveOrUpdate(alarm); }
private List<OnmsAlarm> findAlarms(final List<SearchResult> results, final String queryString) { CriteriaBuilder bldr = new CriteriaBuilder(OnmsAlarm.class); OnmsSeverity severity = OnmsSeverity.get(queryString); List<OnmsAlarm> alarms; if (!OnmsSeverity.INDETERMINATE.equals(severity)) { bldr = new CriteriaBuilder(OnmsAlarm.class); bldr.eq("severity", severity); alarms = alarmProvider.findMatchingAlarms(bldr.toCriteria()); if (alarms.size() > 0) { AlarmSearchResult result = new AlarmSearchResult(queryString); result.setSeverityQuery(true); results.add(result); } } else { bldr.isNotNull("node").ilike("uei", "%"+queryString+"%").orderBy("node"); alarms = alarmProvider.findMatchingAlarms(bldr.toCriteria()); } return alarms; }
if (currentSeverity != null && currentSeverity.equals(OnmsSeverity.CLEARED)) { LOG.info("Alarm with id {} is currently cleared. No ticket will be created.", alarmId); return;
if (alarm == null || (m_createNewAlarmIfClearedAlarmExists && OnmsSeverity.CLEARED.equals(alarm.getSeverity()))) { if (LOG.isDebugEnabled()) { LOG.debug("addOrReduceEventAsAlarm: reductionKey:{} not found, instantiating new alarm", reductionKey);
if (alarm == null || (m_createNewAlarmIfClearedAlarmExists && OnmsSeverity.CLEARED.equals(alarm.getSeverity()))) { if (LOG.isDebugEnabled()) { LOG.debug("addOrReduceEventAsAlarm: reductionKey:{} not found, instantiating new alarm", reductionKey);