/** * Via this method, event filters are registered with the event logger service for live * notification about events of interest. * * @param filter the filter to register */ public synchronized void registerFilterForLiveEvents(EventFilter filter) { if (log.isDebugEnabled()) log.debug("Registering event filter for live events: " + filter.getUuid()); // hibernate proxy prefetch workaround if (filter.getTemplate().getContext() != null) { if (Ranger.isEnumerationRange(filter.getTemplate().getContext())) { for (Deployment d : Ranger.castToEnumerationRange(filter.getTemplate().getContext()).getEnumeration()) { d.getDeployedComponent().getCode(); } } else { filter.getTemplate().getContext().getDeployedComponent().getCode(); } } this.eventFiltersByUuid.put(filter.getUuid(), filter); if (log.isDebugEnabled()) log.debug("Event filter for live events registered."); }
/** * Via this method, event filters are registered with the event logger service for live * notification about events of interest. Before this happens though, the template in the filter * is used to query the event registry. Matching events in this registry are sent to the client * first before live event notification is established via <code>doRegisterEventFilter()</code>. * * @param filter the event filter to register */ public void registerEventFilter(EventFilter filter, int limit) { if (log.isDebugEnabled()) log.debug("Passing event filter on to registration: " + filter.toString()); // hibernate proxy prefetch workaround if (filter.getTemplate().getContext() != null) { if (Ranger.isEnumerationRange(filter.getTemplate().getContext())) { for (Deployment d : Ranger.castToEnumerationRange(filter.getTemplate().getContext()).getEnumeration()) { d.getDeployedComponent().getCode(); } } else { filter.getTemplate().getContext().getDeployedComponent().getCode(); } } EventFilterRegistrationHandler eventFilterRegistrationHandler = this.createEventFilterRegistrationHandler(filter, limit); this.eventFilterRegistrationThreadPool.execute(eventFilterRegistrationHandler); }