private void forEachEvent(Consumer<Event> callback) { forEachEvent(callback, this, null); }
@Override public Map<String, String> getEventLabels() { final Map<String,String> labels = new HashMap<String,String>(); m_events.forEachEvent(labels, new EventCallback<Map<String,String>>() { @Override public Map<String,String> process(final Map<String,String> labels, final Event event) { labels.put(event.getUei(), event.getEventLabel()); return labels; } }); return labels; }
@Override public Map<String, String> getEventLabels() { final Map<String,String> labels = new HashMap<String,String>(); m_events.forEachEvent(labels, new EventCallback<Map<String,String>>() { @Override public Map<String,String> process(final Map<String,String> labels, final Event event) { labels.put(event.getUei(), event.getEventLabel()); return labels; } }); return labels; }
@Override public List<String> getEventUEIs() { return m_events.forEachEvent(new ArrayList<String>(), new EventCallback<List<String>>() { @Override public List<String> process(List<String> ueis, Event event) { ueis.add(event.getUei()); return ueis; } }); }
@Override public Map<String, String> getEventLabels() { return m_events.forEachEvent(new TreeMap<String, String>(), new EventCallback<Map<String, String>>() { @Override public Map<String, String> process(Map<String, String> ueiToLabelMap, Event event) { ueiToLabelMap.put(event.getUei(), event.getEventLabel()); return ueiToLabelMap; } }); }
@Override public List<Event> getEvents(final String uei) { final List<Event> events = new ArrayList<>(); m_events.forEachEvent(events, new EventCallback<List<Event>>() { @Override public List<Event> process(final List<Event> events, final Event event) { if (uei.equals(event.getUei())) { events.add(event); } return events; } }); return events; }
@Override public List<Event> getEvents(final String uei) { final List<Event> events = new ArrayList<>(); m_events.forEachEvent(events, new EventCallback<List<Event>>() { @Override public List<Event> process(final List<Event> events, final Event event) { if (uei.equals(event.getUei())) { events.add(event); } return events; } }); return events; }
@Override public List<String> getEventUEIs() { final Set<String> ueis = new HashSet<>(); m_events.forEachEvent(ueis, new EventCallback<Set<String>>() { @Override public Set<String> process(final Set<String> ueis, final Event event) { ueis.add(event.getUei()); return ueis; } }); return new ArrayList<String>(ueis); }
@Override public List<String> getEventUEIs() { final Set<String> ueis = new HashSet<>(); m_events.forEachEvent(ueis, new EventCallback<Set<String>>() { @Override public Set<String> process(final Set<String> ueis, final Event event) { ueis.add(event.getUei()); return ueis; } }); return new ArrayList<String>(ueis); }
@Override public List<Event> getEvents(final String uei) { List<Event> events = m_events.forEachEvent(new ArrayList<Event>(), new EventCallback<List<Event>>() { @Override public List<Event> process(List<Event> accum, Event event) { if (uei.equals(event.getUei())) { accum.add(event); } return accum; } }); return events.isEmpty() ? null : events; }
public List<Event> getAllEvents() { return m_events.forEachEvent(new ArrayList<Event>(), new EventCallback<List<Event>>() { @Override public List<Event> process(List<Event> accum, Event event) { accum.add(event); return accum; } // remove duplicates: // event definitions with priority > 0 are copied up the configuration tree. // if they do not match we do not want to re-compare them when matching events to definitions. }).stream().distinct().collect(Collectors.toList()); }
public <T> T forEachEvent(final T initial, final EventCallback<T> callback) { T result = initial; for(final Event event : m_events) { result = callback.process(result, event); } for(final Entry<String, Events> loadedEvents : m_loadedEventFiles.entrySet()) { final Events events = loadedEvents.getValue(); result = events.forEachEvent(result, callback); } return result; }
private void forEachEvent(Consumer<Event> callback, Events eventFile, Set<String> filesProcessed) { for (final Event event : eventFile.m_events) { callback.accept(event); } if (filesProcessed == null) { filesProcessed = new HashSet<>(); } for (final Entry<String, Events> loadedEvents : m_loadedEventFiles.entrySet()) { if (filesProcessed.contains(loadedEvents.getKey())) { // We already processed this file, don't recurse - avoid stack overflows continue; } filesProcessed.add(loadedEvents.getKey()); forEachEvent(callback, loadedEvents.getValue(), filesProcessed); } } }
@Override public List<Event> getEventsByLabel() { SortedSet<Event> events = m_events.forEachEvent(new TreeSet<Event>(new EventLabelComparator()), new EventCallback<SortedSet<Event>>() { @Override public SortedSet<Event> process(SortedSet<Event> accum, Event event) { accum.add(event); return accum; } }); return new ArrayList<Event>(events); }
@Override public List<Event> getEventsByLabel() { SortedSet<Event> events = m_events.forEachEvent(new TreeSet<Event>(new EventLabelComparator()), new EventCallback<SortedSet<Event>>() { @Override public SortedSet<Event> process(SortedSet<Event> accum, Event event) { accum.add(event); return accum; } }); return new ArrayList<Event>(events); }
@Override public List<Event> getEventsByLabel() { SortedSet<Event> events = m_events.forEachEvent(new TreeSet<Event>(new EventLabelComparator()), new EventCallback<SortedSet<Event>>() { @Override public SortedSet<Event> process(SortedSet<Event> accum, Event event) { accum.add(event); return accum; } }); return new ArrayList<Event>(events); }
forEachEvent((e) -> { final String uei = e.getUei(); if (uei == null) { forEachEvent((e) -> { final Mask mask = e.getMask(); if (mask != null) {