/** * This method will return an empty array if there are no CacheListeners defined on the region. If * there are one or more than 1 CacheListeners defined, this method will return an array which has * the description of all the CacheListeners * * @return String[] the region's <code>CacheListeners</code> descriptions as a String array * @since GemFire 6.0 */ @Override public String[] getCacheListeners() { Object[] o = this.ra.getCacheListeners(); String[] ret = null; if (o == null || o.length == 0) { ret = new String[0]; } else { ret = new String[o.length]; for (int i = 0; i < o.length; i++) { ret[i] = o[i].toString(); } } return ret; }
private boolean regionHasExpirationListenerAttached(Region<?, ?> region) { return Arrays.stream(region.getAttributes().getCacheListeners()) .anyMatch(x -> x instanceof SessionExpirationCacheListener); }
@Override @SuppressWarnings("rawtypes") public void removeCacheListener() { AttributesMutator mutator = this.region.getAttributesMutator(); CacheListener[] listeners = this.region.getAttributes().getCacheListeners(); for (int i = 0; i < listeners.length; i++) { if (listeners[i] instanceof SerialSecondaryGatewayListener) { mutator.removeCacheListener(listeners[i]); break; } } }
private PartitionAttributes initializeAttributes(final Cache cache) { PartitionAttributes partitionAttributes = mock(PartitionAttributes.class); RegionAttributes attributes = mock(RegionAttributes.class); when(attributes.getCacheListeners()).thenReturn(new CacheListener[0]); when(attributes.getRegionTimeToLive()).thenReturn(ExpirationAttributes.DEFAULT); when(attributes.getRegionIdleTimeout()).thenReturn(ExpirationAttributes.DEFAULT); when(attributes.getEntryTimeToLive()).thenReturn(ExpirationAttributes.DEFAULT); when(attributes.getEntryIdleTimeout()).thenReturn(ExpirationAttributes.DEFAULT); when(attributes.getMembershipAttributes()).thenReturn(new MembershipAttributes()); when(cache.getRegionAttributes(RegionShortcut.PARTITION.toString())).thenReturn(attributes); when(partitionAttributes.getTotalNumBuckets()).thenReturn(113); return partitionAttributes; }
.isNotNull(); final CountingDistCacheListener<Object, Object> cdcl = (CountingDistCacheListener<Object, Object>) re.getAttributes().getCacheListeners()[0];
if (!equal(this.cacheListeners, Arrays.asList(other.getCacheListeners()))) { throw new RuntimeException( "CacheListeners are not the same");
assertEquals(Arrays.asList(new CacheListener[0]), Arrays.asList(ra.getCacheListeners())); assertEquals(Arrays.asList(new CacheListener[] {cl1}), Arrays.asList(ra.getCacheListeners())); assertEquals(Arrays.asList(new CacheListener[] {cl2}), Arrays.asList(ra.getCacheListeners())); assertEquals(Arrays.asList(new CacheListener[0]), Arrays.asList(ra.getCacheListeners())); Arrays.asList(ra.getCacheListeners())); assertEquals(Arrays.asList(new CacheListener[0]), Arrays.asList(ra.getCacheListeners())); assertEquals(Arrays.asList(new CacheListener[0]), Arrays.asList(ra.getCacheListeners())); assertEquals(Arrays.asList(new CacheListener[] {cl1}), Arrays.asList(ra.getCacheListeners())); factory.addCacheListener(cl2); ra = factory.create(); assertEquals(Arrays.asList(new CacheListener[] {cl1, cl2}), Arrays.asList(ra.getCacheListeners())); factory.initCacheListeners(new CacheListener[] {cl2}); ra = factory.create(); assertEquals(Arrays.asList(new CacheListener[] {cl2}), Arrays.asList(ra.getCacheListeners()));
CacheListener<?, ?>[] cacheListeners = ra.getCacheListeners();
CacheListener[] listeners = regAttrs.getCacheListeners();
CacheListener[] listeners = attrs.getCacheListeners(); for (int i = 0; i < listeners.length; i++) { generate(CACHE_LISTENER, listeners[i]);
this.cacheListeners = new ArrayList(Arrays.asList(attrs.getCacheListeners())); this.gatewaySenderIds = new HashSet<String>(attrs.getGatewaySenderIds()); this.asyncEventQueueIds = new HashSet<String>(attrs.getAsyncEventQueueIds());
storeCacheListenersField(attrs.getCacheListeners()); assignCacheLoader(attrs.getCacheLoader()); assignCacheWriter(attrs.getCacheWriter());
synchronized (this.regionAttributes) { this.regionAttributes.cacheListeners = new ArrayList<>(Arrays.asList(regionAttributes.getCacheListeners()));
this.cacheLoaderDesc = getDesc(attr.getCacheLoader()); this.cacheWriterDesc = getDesc(attr.getCacheWriter()); this.cacheListenerDescs = getDescs(attr.getCacheListeners()); this.keyConstraint = attr.getKeyConstraint(); this.valueConstraint = attr.getValueConstraint();
assertNull(attrs.getCacheWriter()); assertNull(attrs.getCacheListener()); assertEquals(Arrays.asList(new CacheListener[0]), Arrays.asList(attrs.getCacheListeners())); assertEquals(0, attrs.getRegionTimeToLive().getTimeout()); assertEquals(0, attrs.getRegionIdleTimeout().getTimeout());
if (parentIsUserSpecified) { if (parentWithHas.hasCacheListeners()) { initCacheListeners(parent.getCacheListeners()); initCacheListeners(parent.getCacheListeners());
mock(RegionAttributes.class, mockObjectIdentifier("MockRegionAttributes")); when(mockRegionAttributes.getCacheListeners()) .thenAnswer(newGetter(() -> cacheListeners.toArray(new CacheListener[cacheListeners.size()])));
new CopyOnWriteArrayList<>(nullSafeArray(baseRegionAttributes.getCacheListeners(), CacheListener.class)); .thenAnswer(invocation -> asSet(asyncEventQueueIds.toArray(new String[asyncEventQueueIds.size()]))); when(mockRegionAttributes.getCacheListeners()) .thenAnswer(invocation -> cacheListeners.toArray(new CacheListener[cacheListeners.size()]));
private Optional<String> configureWithRegionAttributes(ClientRegionFactory<K, V> clientRegionFactory) { AtomicReference<String> regionAttributesPoolName = new AtomicReference<>(null); Optional.ofNullable(getAttributes()).ifPresent(regionAttributes -> { regionAttributesPoolName.set(regionAttributes.getPoolName()); stream(nullSafeArray(regionAttributes.getCacheListeners(), CacheListener.class)) .forEach(clientRegionFactory::addCacheListener); clientRegionFactory.setCloningEnabled(regionAttributes.getCloningEnabled()); clientRegionFactory.setCompressor(regionAttributes.getCompressor()); clientRegionFactory.setConcurrencyChecksEnabled(regionAttributes.getConcurrencyChecksEnabled()); clientRegionFactory.setConcurrencyLevel(regionAttributes.getConcurrencyLevel()); clientRegionFactory.setCustomEntryIdleTimeout(regionAttributes.getCustomEntryIdleTimeout()); clientRegionFactory.setCustomEntryTimeToLive(regionAttributes.getCustomEntryTimeToLive()); clientRegionFactory.setDiskStoreName(regionAttributes.getDiskStoreName()); clientRegionFactory.setDiskSynchronous(regionAttributes.isDiskSynchronous()); clientRegionFactory.setEntryIdleTimeout(regionAttributes.getEntryIdleTimeout()); clientRegionFactory.setEntryTimeToLive(regionAttributes.getEntryTimeToLive()); clientRegionFactory.setEvictionAttributes(regionAttributes.getEvictionAttributes()); clientRegionFactory.setInitialCapacity(regionAttributes.getInitialCapacity()); clientRegionFactory.setKeyConstraint(regionAttributes.getKeyConstraint()); clientRegionFactory.setLoadFactor(regionAttributes.getLoadFactor()); clientRegionFactory.setRegionIdleTimeout(regionAttributes.getRegionIdleTimeout()); clientRegionFactory.setRegionTimeToLive(regionAttributes.getRegionTimeToLive()); clientRegionFactory.setStatisticsEnabled(regionAttributes.getStatisticsEnabled()); clientRegionFactory.setValueConstraint(regionAttributes.getValueConstraint()); }); return Optional.ofNullable(regionAttributesPoolName.get()).filter(StringUtils::hasText); }
private Optional<String> configureWithRegionAttributes(ClientRegionFactory<K, V> clientRegionFactory) { AtomicReference<String> regionAttributesPoolName = new AtomicReference<>(null); Optional.ofNullable(getAttributes()).ifPresent(regionAttributes -> { regionAttributesPoolName.set(regionAttributes.getPoolName()); stream(nullSafeArray(regionAttributes.getCacheListeners(), CacheListener.class)) .forEach(clientRegionFactory::addCacheListener); clientRegionFactory.setCloningEnabled(regionAttributes.getCloningEnabled()); clientRegionFactory.setCompressor(regionAttributes.getCompressor()); clientRegionFactory.setConcurrencyChecksEnabled(regionAttributes.getConcurrencyChecksEnabled()); clientRegionFactory.setConcurrencyLevel(regionAttributes.getConcurrencyLevel()); clientRegionFactory.setCustomEntryIdleTimeout(regionAttributes.getCustomEntryIdleTimeout()); clientRegionFactory.setCustomEntryTimeToLive(regionAttributes.getCustomEntryTimeToLive()); clientRegionFactory.setDiskStoreName(regionAttributes.getDiskStoreName()); clientRegionFactory.setDiskSynchronous(regionAttributes.isDiskSynchronous()); clientRegionFactory.setEntryIdleTimeout(regionAttributes.getEntryIdleTimeout()); clientRegionFactory.setEntryTimeToLive(regionAttributes.getEntryTimeToLive()); clientRegionFactory.setEvictionAttributes(regionAttributes.getEvictionAttributes()); clientRegionFactory.setInitialCapacity(regionAttributes.getInitialCapacity()); clientRegionFactory.setKeyConstraint(regionAttributes.getKeyConstraint()); clientRegionFactory.setLoadFactor(regionAttributes.getLoadFactor()); clientRegionFactory.setRegionIdleTimeout(regionAttributes.getRegionIdleTimeout()); clientRegionFactory.setRegionTimeToLive(regionAttributes.getRegionTimeToLive()); clientRegionFactory.setStatisticsEnabled(regionAttributes.getStatisticsEnabled()); clientRegionFactory.setValueConstraint(regionAttributes.getValueConstraint()); }); return Optional.ofNullable(regionAttributesPoolName.get()).filter(StringUtils::hasText); }