@Test public void testFilterAndConverterCombined() { Map<Object, String> values = putValuesInCache(); Iterator<Map.Entry<Object, String>> iter = values.entrySet().iterator(); Map.Entry<Object, String> excludedEntry = iter.next(); // Remove it so comparison below will be correct iter.remove(); Cache<MagicKey, String> cache = cache(0, CACHE_NAME); KeyValueFilterConverter<MagicKey, String, String> filterConverter = new CompositeKeyValueFilterConverter<>( new KeyFilterAsKeyValueFilter<>(new CollectionKeyFilter<>(Collections.singleton(excludedEntry.getKey()))), new StringTruncator(2, 5)); try (CacheStream<CacheEntry<MagicKey, String>> stream = CacheFilters.filterAndConvert( cache.getAdvancedCache().cacheEntrySet().stream(), filterConverter)) { Map<MagicKey, String> results = mapFromStream(stream); assertEquals(values.size(), results.size()); for (Map.Entry<Object, String> entry : values.entrySet()) { assertEquals(entry.getValue().substring(2, 7), results.get(entry.getKey())); } } }
@Test public void simpleTestRemoteFilter() { Map<Object, String> values = putValuesInCache(); Iterator<Map.Entry<Object, String>> iter = values.entrySet().iterator(); Map.Entry<Object, String> excludedEntry = iter.next(); // Remove it so comparison below will be correct iter.remove(); Cache<MagicKey, String> cache = cache(1, CACHE_NAME); Iterator<CacheEntry<MagicKey, String>> iterator = cache.getAdvancedCache().cacheEntrySet().stream().filter( CacheFilters.predicate(new KeyFilterAsKeyValueFilter<>(new CollectionKeyFilter<>( Collections.singleton(excludedEntry.getKey()))))).iterator(); Map<MagicKey, String> results = mapFromIterator(iterator); assertEquals(values, results); } }
@Test public void simpleTestLocalFilter() { Map<Object, String> values = putValuesInCache(); Iterator<Map.Entry<Object, String>> iter = values.entrySet().iterator(); Map.Entry<Object, String> excludedEntry = iter.next(); // Remove it so comparison below will be correct iter.remove(); Cache<MagicKey, String> cache = cache(0, CACHE_NAME); KeyValueFilter<MagicKey, String> filter = new KeyFilterAsKeyValueFilter<>(new CollectionKeyFilter<>( Collections.singleton(excludedEntry.getKey()))); Iterator<CacheEntry<MagicKey, String>> iterator = cache.getAdvancedCache().cacheEntrySet().stream().filter( CacheFilters.predicate(filter)).iterator(); Map<MagicKey, String> results = mapFromIterator(iterator); assertEquals(values, results); }
new KeyFilterAsKeyValueFilter<>(new CollectionKeyFilter<>(acceptedKeys, true)), new StringTruncator(2, 5)); try (CacheStream<CacheEntry<Object, String>> stream = CacheFilters.filterAndConvert(
CacheFilters.predicate(new KeyFilterAsKeyValueFilter<>(new CollectionKeyFilter<>(Immutables .immutableSetCopy(originalValues.keySet()), true)))).iterator();
public void testFilterWithExistingTransaction() throws Exception { Map<Object, String> values = putValueInEachCache(3); Cache<Object, String> cache = cache(0, CACHE_NAME); TransactionManager tm = tm(cache); tm.begin(); try { Object key = "filtered-key"; cache.put(key, "filtered-value"); Iterator<CacheEntry<Object, String>> iterator = cache.getAdvancedCache().cacheEntrySet().stream(). filter(CacheFilters.predicate(new KeyFilterAsKeyValueFilter<>(new CollectionKeyFilter<>( Collections.singleton(key))))).iterator(); Map<Object, String> results = mapFromIterator(iterator); assertEquals(values, results); } finally { tm.rollback(); } }
CacheFilters.predicate(new KeyFilterAsKeyValueFilter<>(new CollectionKeyFilter<>(Immutables .immutableSetCopy(originalValues.keySet()), true)))).iterator();