private String alarmLastEventEventUei(OnmsAlarm onmsAlarm) { if ( onmsAlarm == null ) { return null; } OnmsEvent lastEvent = onmsAlarm.getLastEvent(); if ( lastEvent == null ) { return null; } String eventUei = lastEvent.getEventUei(); if ( eventUei == null ) { return null; } return eventUei; } }
@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); }
@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 String alarmLastEventEventUei(OnmsAlarm onmsAlarm) { if ( onmsAlarm == null ) { return null; } OnmsEvent lastEvent = onmsAlarm.getLastEvent(); if ( lastEvent == null ) { return null; } String eventUei = lastEvent.getEventUei(); if ( eventUei == null ) { return null; } return eventUei; } }
private Event getXMLEvent(OnmsAlarm alarm) { Event event = new Event(); event.setDbid(alarm.getLastEvent().getId()); if (alarm.getLastEvent().getEventSource() != null ) { event.setSource(alarm.getLastEvent().getEventSource()); if (alarm.getLastEvent().getEventHost() != null) { event.setHost(alarm.getLastEvent().getEventHost());
public AlarmBean(OnmsAlarm alarm) { this.alarm = Objects.requireNonNull(alarm); this.attributes = alarm.getDetails() != null ? ImmutableMap.copyOf(alarm.getDetails()) : Collections.emptyMap(); this.node = alarm.getNode() != null ? new NodeBean(alarm.getNode()) : null; this.severity = ModelMappers.toSeverity(alarm.getSeverity()); this.relatedAlarms = alarm.getRelatedAlarms().stream().map(AlarmBean::new).collect(Collectors.toList()); this.lastEvent = ModelMappers.toEvent(alarm.getLastEvent()); }
builder.setReductionKey(alarm.getReductionKey()); if (toEvent(alarm.getLastEvent()) != null) { builder.setLastEvent(toEvent(alarm.getLastEvent()));
private void handleNewOrUpdatedAlarmNoLock(OnmsAlarm alarm) { final KieSession kieSession = getKieSession(); // Initialize any related objects that are needed for rule execution Hibernate.initialize(alarm.getAssociatedAlarms()); if (alarm.getLastEvent() != null) { // The last event may be null in unit tests Hibernate.initialize(alarm.getLastEvent().getEventParameters()); } final AlarmAndFact alarmAndFact = alarmsById.get(alarm.getId()); if (alarmAndFact == null) { LOG.debug("Inserting alarm into session: {}", alarm); final FactHandle fact = getKieSession().insert(alarm); alarmsById.put(alarm.getId(), new AlarmAndFact(alarm, fact)); } else { // Updating the fact doesn't always give us to expected results so we resort to deleting it // and adding it again instead LOG.trace("Deleting alarm from session (for re-insertion): {}", alarm); kieSession.delete(alarmAndFact.getFact()); // Reinsert LOG.trace("Re-inserting alarm into session: {}", alarm); final FactHandle fact = kieSession.insert(alarm); alarmsById.put(alarm.getId(), new AlarmAndFact(alarm, fact)); } handleRelatedAlarms(alarm); stateTracker.trackNewOrUpdatedAlarm(alarm.getId(), alarm.getReductionKey()); }
builder.setReductionKey(alarm.getReductionKey()); if (toEvent(alarm.getLastEvent()) != null) { builder.setLastEvent(toEvent(alarm.getLastEvent()));
private void handleNewOrUpdatedAlarmNoLock(OnmsAlarm alarm) { final KieSession kieSession = getKieSession(); // Initialize any related objects that are needed for rule execution Hibernate.initialize(alarm.getRelatedAlarms()); if (alarm.getLastEvent() != null) { // The last event may be null in unit tests Hibernate.initialize(alarm.getLastEvent().getEventParameters()); } final AlarmAndFact alarmAndFact = alarmsById.get(alarm.getId()); if (alarmAndFact == null) { LOG.debug("Inserting alarm into session: {}", alarm); final FactHandle fact = getKieSession().insert(alarm); alarmsById.put(alarm.getId(), new AlarmAndFact(alarm, fact)); } else { // Updating the fact doesn't always give us to expected results so we resort to deleting it // and adding it again instead LOG.trace("Deleting alarm from session (for re-insertion): {}", alarm); kieSession.delete(alarmAndFact.getFact()); // Reinsert LOG.trace("Re-inserting alarm into session: {}", alarm); final FactHandle fact = kieSession.insert(alarm); alarmsById.put(alarm.getId(), new AlarmAndFact(alarm, fact)); } stateTracker.trackNewOrUpdatedAlarm(alarm.getId(), alarm.getReductionKey()); }
alarmDTO.setLastEvent( eventMapper.eventToEventDTO( alarm.getLastEvent() ) );
private void updateSubObjects(final OnmsAlarm alarm) { // Assume that the system ID is the ID of an OpenNMS system // instead of a Minion or Remote Poller getDistPollerDao().save((OnmsDistPoller)alarm.getDistPoller()); getEventDao().save(alarm.getLastEvent()); getNodeDao().save(alarm.getNode()); getServiceTypeDao().save(alarm.getServiceType()); }
alarmDTO.setLastEvent( eventMapper.eventToEventDTO( alarm.getLastEvent() ) );
private void updateSubObjects(final OnmsAlarm alarm) { // Assume that the system ID is the ID of an OpenNMS system // instead of a Minion or Remote Poller getDistPollerDao().save((OnmsDistPoller)alarm.getDistPoller()); getEventDao().save(alarm.getLastEvent()); getNodeDao().save(alarm.getNode()); getServiceTypeDao().save(alarm.getServiceType()); }