@Override public Boolean apply(EventRegistration eventRegistration) { EventFilter filter = eventRegistration.getFilter(); return filter instanceof EventListenerFilter && filter.eval(INVALIDATION.getType()); } }
@Override public Boolean apply(EventRegistration eventRegistration) { EventFilter filter = eventRegistration.getFilter(); return filter instanceof EventListenerFilter && filter.eval(INVALIDATION.getType()); } }
@Override public void publishMapPartitionLostEvent(Address caller, String mapName, int partitionId) { Collection<EventRegistration> registrations = new LinkedList<EventRegistration>(); for (EventRegistration registration : getRegistrations(mapName)) { if (registration.getFilter() instanceof MapPartitionLostEventFilter) { registrations.add(registration); } } if (registrations.isEmpty()) { return; } String thisNodesAddress = getThisNodesAddress(); MapPartitionEventData eventData = new MapPartitionEventData(thisNodesAddress, mapName, caller, partitionId); publishEventInternal(registrations, eventData, partitionId); }
@Override public void publishMapPartitionLostEvent(Address caller, String mapName, int partitionId) { Collection<EventRegistration> registrations = new LinkedList<EventRegistration>(); for (EventRegistration registration : getRegistrations(mapName)) { if (registration.getFilter() instanceof MapPartitionLostEventFilter) { registrations.add(registration); } } if (registrations.isEmpty()) { return; } String thisNodesAddress = getThisNodesAddress(); MapPartitionEventData eventData = new MapPartitionEventData(thisNodesAddress, mapName, caller, partitionId); publishEventInternal(registrations, eventData, partitionId); }
public void fireEntryListenerEvent(Data key, Data oldValue, Data value, EntryEventType eventType, String name, Address caller) { Collection<EventRegistration> registrations = eventService.getRegistrations(SERVICE_NAME, name); if (registrations.isEmpty()) { return; } EntryEventData eventData = new EntryEventData(name, name, caller, key, value, oldValue, eventType.getType()); for (EventRegistration registration : registrations) { if (!shouldPublish(key, oldValue, value, eventType, registration.getFilter())) { continue; } eventService.publishEvent(SERVICE_NAME, registration, eventData, key.hashCode()); } }
protected void publishCachePartitionLostEvent(String cacheName, int partitionId) { Collection<EventRegistration> registrations = new LinkedList<EventRegistration>(); for (EventRegistration registration : getRegistrations(cacheName)) { if (registration.getFilter() instanceof CachePartitionLostEventFilter) { registrations.add(registration); } } if (registrations.isEmpty()) { return; } Member member = nodeEngine.getLocalMember(); CacheEventData eventData = new CachePartitionEventData(cacheName, partitionId, member); EventService eventService = nodeEngine.getEventService(); eventService.publishEvent(SERVICE_NAME, registrations, eventData, partitionId); }
protected void publishCachePartitionLostEvent(String cacheName, int partitionId) { Collection<EventRegistration> registrations = new LinkedList<EventRegistration>(); for (EventRegistration registration : getRegistrations(cacheName)) { if (registration.getFilter() instanceof CachePartitionLostEventFilter) { registrations.add(registration); } } if (registrations.isEmpty()) { return; } Member member = nodeEngine.getLocalMember(); CacheEventData eventData = new CachePartitionEventData(cacheName, partitionId, member); EventService eventService = nodeEngine.getEventService(); eventService.publishEvent(SERVICE_NAME, registrations, eventData, partitionId); }
public void fireEntryListenerEvent(Data key, Data oldValue, Data value, EntryEventType eventType, String name, Address caller) { Collection<EventRegistration> registrations = eventService.getRegistrations(SERVICE_NAME, name); if (registrations.isEmpty()) { return; } EntryEventData eventData = new EntryEventData(name, name, caller, key, value, oldValue, eventType.getType()); for (EventRegistration registration : registrations) { if (!shouldPublish(key, oldValue, value, eventType, registration.getFilter())) { continue; } eventService.publishEvent(SERVICE_NAME, registration, eventData, key.hashCode()); } }
@Override public void onDeregister(Object service, String serviceName, String topic, EventRegistration registration) { EventFilter filter = registration.getFilter(); if (!(filter instanceof EventListenerFilter) || !filter.eval(INVALIDATION.getType())) { return; } MapContainer mapContainer = mapServiceContext.getMapContainer(topic); mapContainer.decreaseInvalidationListenerCount(); }
@Override public void onRegister(Object service, String serviceName, String topic, EventRegistration registration) { EventFilter filter = registration.getFilter(); if (!(filter instanceof EventListenerFilter) || !filter.eval(INVALIDATION.getType())) { return; } MapContainer mapContainer = mapServiceContext.getMapContainer(topic); mapContainer.increaseInvalidationListenerCount(); }
@Override public void onDeregister(Object service, String serviceName, String topic, EventRegistration registration) { EventFilter filter = registration.getFilter(); if (!(filter instanceof EventListenerFilter) || !filter.eval(INVALIDATION.getType())) { return; } MapContainer mapContainer = mapServiceContext.getMapContainer(topic); mapContainer.decreaseInvalidationListenerCount(); }
@Override public void onRegister(Object service, String serviceName, String topic, EventRegistration registration) { EventFilter filter = registration.getFilter(); if (!(filter instanceof EventListenerFilter) || !filter.eval(INVALIDATION.getType())) { return; } MapContainer mapContainer = mapServiceContext.getMapContainer(topic); mapContainer.increaseInvalidationListenerCount(); }
@Override public void publishLoadedOrAdded(Address caller, String mapName, Data dataKey, Object dataOldValue, Object dataValue) { Collection<EventRegistration> registrations = getRegistrations(mapName); for (EventRegistration registration : registrations) { EventFilter filter = registration.getFilter(); if (filter instanceof EventListenerFilter) { if (filter.eval(ADDED.getType()) && !filter.eval(LOADED.getType())) { publishEvent(singleton(registration), caller, mapName, ADDED, dataKey, dataOldValue, dataValue, null); } else if (filter.eval(LOADED.getType())) { publishEvent(singleton(registration), caller, mapName, LOADED, dataKey, dataOldValue, dataValue, null); } } } }
@Override public void publishLoadedOrAdded(Address caller, String mapName, Data dataKey, Object dataOldValue, Object dataValue) { Collection<EventRegistration> registrations = getRegistrations(mapName); for (EventRegistration registration : registrations) { EventFilter filter = registration.getFilter(); if (filter instanceof EventListenerFilter) { if (filter.eval(ADDED.getType()) && !filter.eval(LOADED.getType())) { publishEvent(singleton(registration), caller, mapName, ADDED, dataKey, dataOldValue, dataValue, null); } else if (filter.eval(LOADED.getType())) { publishEvent(singleton(registration), caller, mapName, LOADED, dataKey, dataOldValue, dataValue, null); } } } }
protected void publishEvent(ItemEventType eventType, Data data) { EventService eventService = getNodeEngine().getEventService(); Collection<EventRegistration> registrations = eventService.getRegistrations(getServiceName(), name); final Address address = getNodeEngine().getThisAddress(); for (EventRegistration registration : registrations) { CollectionEventFilter filter = (CollectionEventFilter) registration.getFilter(); final boolean includeValue = filter.isIncludeValue(); CollectionEvent event = new CollectionEvent(name, includeValue ? data : null, eventType, address); eventService.publishEvent(getServiceName(), registration, event, name.hashCode()); } }
protected void publishEvent(ItemEventType eventType, Data data) { EventService eventService = getNodeEngine().getEventService(); Collection<EventRegistration> registrations = eventService.getRegistrations(getServiceName(), name); final Address address = getNodeEngine().getThisAddress(); for (EventRegistration registration : registrations) { CollectionEventFilter filter = (CollectionEventFilter) registration.getFilter(); final boolean includeValue = filter.isIncludeValue(); CollectionEvent event = new CollectionEvent(name, includeValue ? data : null, eventType, address); eventService.publishEvent(getServiceName(), registration, event, name.hashCode()); } }
public void publishEvent(ItemEventType eventType, Data data) { EventService eventService = getNodeEngine().getEventService(); Collection<EventRegistration> registrations = eventService.getRegistrations(getServiceName(), name); Address thisAddress = getNodeEngine().getThisAddress(); for (EventRegistration registration : registrations) { QueueEventFilter filter = (QueueEventFilter) registration.getFilter(); QueueEvent event = new QueueEvent(name, filter.isIncludeValue() ? data : null, eventType, thisAddress); eventService.publishEvent(getServiceName(), registration, event, name.hashCode()); } }
public void publishEvent(ItemEventType eventType, Data data) { EventService eventService = getNodeEngine().getEventService(); Collection<EventRegistration> registrations = eventService.getRegistrations(getServiceName(), name); Address thisAddress = getNodeEngine().getThisAddress(); for (EventRegistration registration : registrations) { QueueEventFilter filter = (QueueEventFilter) registration.getFilter(); QueueEvent event = new QueueEvent(name, filter.isIncludeValue() ? data : null, eventType, thisAddress); eventService.publishEvent(getServiceName(), registration, event, name.hashCode()); } }
public final void publishEntryEvent(String multiMapName, EntryEventType eventType, Data key, Object newValue, Object oldValue) { EventService eventService = nodeEngine.getEventService(); Collection<EventRegistration> registrations = eventService.getRegistrations(MultiMapService.SERVICE_NAME, multiMapName); for (EventRegistration registration : registrations) { MultiMapEventFilter filter = (MultiMapEventFilter) registration.getFilter(); if (filter.getKey() == null || filter.getKey().equals(key)) { Data dataNewValue = filter.isIncludeValue() ? nodeEngine.toData(newValue) : null; Data dataOldValue = filter.isIncludeValue() ? nodeEngine.toData(oldValue) : null; Address caller = nodeEngine.getThisAddress(); String source = caller.toString(); EntryEventData event = new EntryEventData(source, multiMapName, caller, key, dataNewValue, dataOldValue, eventType.getType()); eventService.publishEvent(MultiMapService.SERVICE_NAME, registration, event, multiMapName.hashCode()); } } } }
public final void publishEntryEvent(String multiMapName, EntryEventType eventType, Data key, Object newValue, Object oldValue) { EventService eventService = nodeEngine.getEventService(); Collection<EventRegistration> registrations = eventService.getRegistrations(MultiMapService.SERVICE_NAME, multiMapName); for (EventRegistration registration : registrations) { MultiMapEventFilter filter = (MultiMapEventFilter) registration.getFilter(); if (filter.getKey() == null || filter.getKey().equals(key)) { Data dataNewValue = filter.isIncludeValue() ? nodeEngine.toData(newValue) : null; Data dataOldValue = filter.isIncludeValue() ? nodeEngine.toData(oldValue) : null; Address caller = nodeEngine.getThisAddress(); String source = caller.toString(); EntryEventData event = new EntryEventData(source, multiMapName, caller, key, dataNewValue, dataOldValue, eventType.getType()); eventService.publishEvent(MultiMapService.SERVICE_NAME, registration, event, multiMapName.hashCode()); } } } }