@Override public CacheEventType getType() { return CacheEventType.getByType(eventType); }
@Override public int hashCode() { int result = name != null ? name.hashCode() : 0; result = 31 * result + (eventType != null ? eventType.hashCode() : 0); result = 31 * result + (dataKey != null ? dataKey.hashCode() : 0); result = 31 * result + (dataNewValue != null ? dataNewValue.hashCode() : 0); result = 31 * result + (dataOldValue != null ? dataOldValue.hashCode() : 0); result = 31 * result + (isOldValueAvailable ? 1 : 0); return result; } }
/** * Converts a {@link CacheEventType} into {@link EventType}. * Just an Enum type conversion takes place. * * @param cacheEventType a {@link CacheEventType}. * @return same event of {@link EventType} enum. */ public static EventType convertToEventType(CacheEventType cacheEventType) { return EventType.valueOf(cacheEventType.name()); }
@Override public void writeData(ObjectDataOutput out) throws IOException { out.writeInt(eventType.getType()); out.writeInt(completionId); out.writeInt(events.size()); for (CacheEventData ced : events) { out.writeObject(ced); } }
private void handleEvent(int type, Collection<CacheEventData> keys) { final Iterable<CacheEntryEvent<? extends K, ? extends V>> cacheEntryEvent = createCacheEntryEvent(keys); CacheEventType eventType = CacheEventType.getByType(type); switch (eventType) { case CREATED: if (this.cacheEntryCreatedListener != null) { this.cacheEntryCreatedListener.onCreated(cacheEntryEvent); } break; case UPDATED: if (this.cacheEntryUpdatedListener != null) { this.cacheEntryUpdatedListener.onUpdated(cacheEntryEvent); } break; case REMOVED: if (this.cacheEntryRemovedListener != null) { this.cacheEntryRemovedListener.onRemoved(cacheEntryEvent); } break; case EXPIRED: if (this.cacheEntryExpiredListener != null) { this.cacheEntryExpiredListener.onExpired(cacheEntryEvent); } break; default: throw new IllegalArgumentException("Invalid event type: " + eventType.name()); } }
private Iterable<CacheEntryEvent<? extends K, ? extends V>> createCacheEntryEvent(Collection<CacheEventData> keys) { HashSet<CacheEntryEvent<? extends K, ? extends V>> evt = new HashSet<CacheEntryEvent<? extends K, ? extends V>>(); for (CacheEventData cacheEventData : keys) { EventType eventType = CacheEventType.convertToEventType(cacheEventData.getCacheEventType()); K key = toObject(cacheEventData.getDataKey()); boolean hasNewValue = !(eventType == EventType.REMOVED || eventType == EventType.EXPIRED);
@Override public void writeData(ObjectDataOutput out) throws IOException { out.writeInt(eventType.getType()); out.writeInt(completionId); out.writeInt(events.size()); for (CacheEventData ced : events) { out.writeObject(ced); } }
private void handleEvent(int type, Collection<CacheEventData> keys) { final Iterable<CacheEntryEvent<? extends K, ? extends V>> cacheEntryEvent = createCacheEntryEvent(keys); CacheEventType eventType = CacheEventType.getByType(type); switch (eventType) { case CREATED: if (this.cacheEntryCreatedListener != null) { this.cacheEntryCreatedListener.onCreated(cacheEntryEvent); } break; case UPDATED: if (this.cacheEntryUpdatedListener != null) { this.cacheEntryUpdatedListener.onUpdated(cacheEntryEvent); } break; case REMOVED: if (this.cacheEntryRemovedListener != null) { this.cacheEntryRemovedListener.onRemoved(cacheEntryEvent); } break; case EXPIRED: if (this.cacheEntryExpiredListener != null) { this.cacheEntryExpiredListener.onExpired(cacheEntryEvent); } break; default: throw new IllegalArgumentException("Invalid event type: " + eventType.name()); } }
private Iterable<CacheEntryEvent<? extends K, ? extends V>> createCacheEntryEvent(Collection<CacheEventData> keys) { HashSet<CacheEntryEvent<? extends K, ? extends V>> evt = new HashSet<CacheEntryEvent<? extends K, ? extends V>>(); for (CacheEventData cacheEventData : keys) { EventType eventType = CacheEventType.convertToEventType(cacheEventData.getCacheEventType()); K key = toObject(cacheEventData.getDataKey()); boolean hasNewValue = !(eventType == EventType.REMOVED || eventType == EventType.EXPIRED);
@Override public void handleEvent(Object eventObject) { final CachePartitionEventData eventData = (CachePartitionEventData) eventObject; final CachePartitionLostEvent event = new CachePartitionLostEvent(eventData.getName(), eventData.getMember(), CacheEventType.PARTITION_LOST.getType(), eventData.getPartitionId()); partitionLostListener.partitionLost(event); } }
@Override public CacheEventType getType() { return CacheEventType.getByType(eventType); }
/** * Converts a {@link CacheEventType} into {@link EventType}. * Just an Enum type conversion takes place. * * @param cacheEventType a {@link CacheEventType}. * @return same event of {@link EventType} enum. */ public static EventType convertToEventType(CacheEventType cacheEventType) { return EventType.valueOf(cacheEventType.name()); }
@Override public int hashCode() { int result = name != null ? name.hashCode() : 0; result = 31 * result + (eventType != null ? eventType.hashCode() : 0); result = 31 * result + (dataKey != null ? dataKey.hashCode() : 0); result = 31 * result + (dataNewValue != null ? dataNewValue.hashCode() : 0); result = 31 * result + (dataOldValue != null ? dataOldValue.hashCode() : 0); result = 31 * result + (isOldValueAvailable ? 1 : 0); return result; } }
@Override public void handleEvent(Object eventObject) { final CachePartitionEventData eventData = (CachePartitionEventData) eventObject; final CachePartitionLostEvent event = new CachePartitionLostEvent(eventData.getName(), eventData.getMember(), CacheEventType.PARTITION_LOST.getType(), eventData.getPartitionId()); partitionLostListener.partitionLost(event); } }
/** * Constructs a prototypical Cache Event. * * @param source The object on which the Event initially occurred. * @param member The interface to the cluster member (node). * @param eventType The event type as an enum {@link EntryEventType} integer. * @throws IllegalArgumentException if source is null. */ public AbstractICacheEvent(Object source, Member member, int eventType) { super(source); this.name = (String) source; this.member = member; this.cacheEventType = CacheEventType.getByType(eventType); }
default: throw new IllegalArgumentException( "Event Type not defined to create an eventData during publish: " + eventType.name());
@Override public void writeData(ObjectDataOutput out) throws IOException { out.writeUTF(name); out.writeInt(eventType.getType()); out.writeData(dataKey); out.writeData(dataNewValue); out.writeData(dataOldValue); out.writeBoolean(isOldValueAvailable); }
/** * Constructs a prototypical Cache Event. * * @param source The object on which the Event initially occurred. * @param member The interface to the cluster member (node). * @param eventType The event type as an enum {@link EntryEventType} integer. * @throws IllegalArgumentException if source is null. */ public AbstractICacheEvent(Object source, Member member, int eventType) { super(source); this.name = (String) source; this.member = member; this.cacheEventType = CacheEventType.getByType(eventType); }
default: throw new IllegalArgumentException( "Event Type not defined to create an eventData during publish: " + eventType.name());
@Override public void handleEvent(Object eventObject) { if (eventObject instanceof CacheEventSet) { CacheEventSet cacheEventSet = (CacheEventSet) eventObject; try { if (cacheEventSet.getEventType() != CacheEventType.COMPLETED) { handleEvent(cacheEventSet.getEventType().getType(), cacheEventSet.getEvents()); } } finally { ((CacheSyncListenerCompleter) source).countDownCompletionLatch(cacheEventSet.getCompletionId()); } } }