public EventConfExtensionManager(EventConfDao eventConfDao) { super(Events.class, new Events()); this.eventConfDao = Objects.requireNonNull(eventConfDao); LOG.debug("EventConfExtensionManager initialized."); }
@Override protected Events getConfigForExtensions(Set<EventConfExtension> extensions) { final List<Event> orderedEvents = extensions.stream() .flatMap(ext -> ext.getEventDefinitions().stream()) .sorted(Comparator.comparing(EventDefinition::getPriority)) .map(EventConfExtensionManager::toEvent) .collect(Collectors.toList()); // Re-build the events final Events events = new Events(); events.getEvents().addAll(orderedEvents); return events; }
private void initExtensions() { m_extContainer = new ConfigReloadContainer.Builder<>(Events.class) .withMerger((source, target) -> { if (target == null) { target = new Events(); } if (source == null) { source = new Events(); } target.getEvents().addAll(source.getEvents()); return target; }) .build(); } }
@Override public void addEventToProgrammaticStore(Event event) { Events programmaticEvents = m_events.getLoadEventsByFile(m_programmaticStoreRelativePath); if (programmaticEvents == null) { programmaticEvents = new Events(); m_events.addLoadedEventFile(m_programmaticStoreRelativePath, programmaticEvents); } programmaticEvents.addEvent(event); m_events.initialize(m_partition, new EventOrdering()); }
/** * Convert MIB to events. * * @param module the module object * @param ueibase the UEI base * @return the events */ protected Events convertMibToEvents(SmiModule module, String ueibase) { Events events = new Events(); for (SmiNotificationType trap : module.getNotificationTypes()) { events.addEvent(getTrapEvent(trap, ueibase)); } for (SmiTrapType trap : module.getTrapTypes()) { events.addEvent(getTrapEvent(trap, ueibase)); } return events; }
/** * Convert MIB to events. * * @param module the module object * @param ueibase the UEI base * @return the events */ protected Events convertMibToEvents(SmiModule module, String ueibase) { Events events = new Events(); for (SmiNotificationType trap : module.getNotificationTypes()) { events.addEvent(getTrapEvent(trap, ueibase)); } for (SmiTrapType trap : module.getTrapTypes()) { events.addEvent(getTrapEvent(trap, ueibase)); } return events; }