/** {@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); }
/** {@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); }
/** {@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); }
/** {@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); }
} 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()));
/** {@inheritDoc} */ @Override public void updateTicketForAlarm(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 updated.", alarmId, ticketId); return; } Ticket ticket = null; try { ticket = m_ticketerPlugin.get(ticketId); if (ticket.getState() == Ticket.State.CANCELLED) { alarm.setTTicketState(TroubleTicketState.CANCELLED); } else if (ticket.getState() == Ticket.State.CLOSED) { alarm.setTTicketState(TroubleTicketState.CLOSED); } else if (ticket.getState() == Ticket.State.OPEN) { alarm.setTTicketState(TroubleTicketState.OPEN); } else { alarm.setTTicketState(TroubleTicketState.OPEN); } } catch (PluginException e) { alarm.setTTicketState(TroubleTicketState.UPDATE_FAILED); LOG.error("Unable to update ticket for alarm: {}", e.getMessage()); m_eventIpcManager.sendNow(createEvent(e.getMessage())); } m_alarmDao.saveOrUpdate(alarm); }
/** {@inheritDoc} */ @Override public void updateTicketForAlarm(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 updated.", alarmId, ticketId); return; } Ticket ticket = null; try { ticket = m_ticketerPlugin.get(ticketId); if (ticket.getState() == Ticket.State.CANCELLED) { alarm.setTTicketState(TroubleTicketState.CANCELLED); } else if (ticket.getState() == Ticket.State.CLOSED) { alarm.setTTicketState(TroubleTicketState.CLOSED); } else if (ticket.getState() == Ticket.State.OPEN) { alarm.setTTicketState(TroubleTicketState.OPEN); } else { alarm.setTTicketState(TroubleTicketState.OPEN); } } catch (PluginException e) { alarm.setTTicketState(TroubleTicketState.UPDATE_FAILED); LOG.error("Unable to update ticket for alarm: {}", e.getMessage()); m_eventIpcManager.sendNow(createEvent(e.getMessage())); } m_alarmDao.saveOrUpdate(alarm); }