Search in sources :

Example 1 with KeyCacheEntryFilter

use of org.eclipse.scout.rt.shared.cache.KeyCacheEntryFilter in project scout.rt by eclipse.

the class InvalidateCacheNofificationCoalescerTest method testCoalesceNotificationsSet.

@Test
public void testCoalesceNotificationsSet() {
    InvalidateCacheNotificationCoalescer coalescer = new InvalidateCacheNotificationCoalescer();
    ICacheEntryFilter<Object, Object> filter1 = new KeyCacheEntryFilter<Object, Object>(CollectionUtility.<Object>arrayList(CodeType1.class));
    ICacheEntryFilter<Object, Object> filter2 = new KeyCacheEntryFilter<Object, Object>(CollectionUtility.<Object>arrayList(CodeType2.class));
    List<InvalidateCacheNotification> testList = CollectionUtility.arrayList(new InvalidateCacheNotification(CACHE_ID_1, filter1), new InvalidateCacheNotification(CACHE_ID_1, filter2), new InvalidateCacheNotification(CACHE_ID_2, filter2), new InvalidateCacheNotification(CACHE_ID_3, new AllCacheEntryFilter<>()), new InvalidateCacheNotification(CACHE_ID_3, filter2));
    List<InvalidateCacheNotification> res = coalescer.coalesce(testList);
    assertEquals(3, res.size());
    for (InvalidateCacheNotification notification : res) {
        if (CACHE_ID_1.equals(notification.getCacheId())) {
            Set<?> keys = ((KeyCacheEntryFilter<?, ?>) notification.getFilter()).getKeys();
            assertEquals(2, keys.size());
            assertTrue(keys.contains(CodeType1.class));
            assertTrue(keys.contains(CodeType2.class));
        } else if (CACHE_ID_2.equals(notification.getCacheId())) {
            Set<?> keys = ((KeyCacheEntryFilter<?, ?>) notification.getFilter()).getKeys();
            assertEquals(1, keys.size());
            assertTrue(keys.contains(CodeType2.class));
        } else if (CACHE_ID_3.equals(notification.getCacheId())) {
            assertTrue(notification.getFilter() instanceof AllCacheEntryFilter);
        } else {
            fail("invalid cacheId" + notification.getCacheId());
        }
    }
}
Also used : AllCacheEntryFilter(org.eclipse.scout.rt.shared.cache.AllCacheEntryFilter) Set(java.util.Set) KeyCacheEntryFilter(org.eclipse.scout.rt.shared.cache.KeyCacheEntryFilter) InvalidateCacheNotification(org.eclipse.scout.rt.shared.cache.InvalidateCacheNotification) Test(org.junit.Test)

Aggregations

Set (java.util.Set)1 AllCacheEntryFilter (org.eclipse.scout.rt.shared.cache.AllCacheEntryFilter)1 InvalidateCacheNotification (org.eclipse.scout.rt.shared.cache.InvalidateCacheNotification)1 KeyCacheEntryFilter (org.eclipse.scout.rt.shared.cache.KeyCacheEntryFilter)1 Test (org.junit.Test)1