public void evictAll(Class cls) { _cache.onTypesChanged(new TypesChangedEvent(this, Collections.singleton(cls))); }
public void onTypesChanged(TypesChangedEvent ev) { if (_qk.changeInvalidatesQuery(ev.getTypes())) abortCaching(); } }
public void evictAll(Class cls) { _cache.onTypesChanged(new TypesChangedEvent(this, Collections.singleton(cls))); }
public void onTypesChanged(TypesChangedEvent ev) { if (_qk.changeInvalidatesQuery(ev.getTypes())) abortCaching(); } }
public void evictAll(Class cls) { _cache.onTypesChanged(new TypesChangedEvent(this, Collections.singleton(cls))); }
public void onTypesChanged(TypesChangedEvent ev) { if (_qk.changeInvalidatesQuery(ev.getTypes())) abortCaching(); } }
public void evictAll(Class cls) { _cache.onTypesChanged(new TypesChangedEvent(this, Collections.singleton(cls))); }
public void onTypesChanged(TypesChangedEvent ev) { if (_qk.changeInvalidatesQuery(ev.getTypes())) abortCaching(); } }
public void evictAll(Class cls) { _cache.onTypesChanged(new TypesChangedEvent(this, Collections.singleton(cls))); }
public void onTypesChanged(TypesChangedEvent ev) { if (_qk.changeInvalidatesQuery(ev.getTypes())) abortCaching(); } }
types.addAll(del); types.addAll(up); queryCache.onTypesChanged(new TypesChangedEvent(this, types));
types.addAll(del); types.addAll(up); queryCache.onTypesChanged(new TypesChangedEvent(this, types));
types.addAll(del); types.addAll(up); queryCache.onTypesChanged(new TypesChangedEvent(this, types));
types.addAll(del); types.addAll(up); queryCache.onTypesChanged(new TypesChangedEvent(this, types));
/** * Clear the cached queries associated with the access path * classes in the query. This is done when bulk operations * (such as deletes or updates) are performed so that the * cache remains up-to-date. */ private void clearAccessPath(StoreQuery q) { if (q == null) return; ClassMetaData[] cmd = getAccessPathMetaDatas(q); if (cmd == null || cmd.length == 0) return; List classes = new ArrayList(cmd.length); for (int i = 0; i < cmd.length; i++) classes.add(cmd[i].getDescribedType()); // evict from the query cache QueryCacheStoreQuery cq = (QueryCacheStoreQuery) q; cq.getCache().onTypesChanged(new TypesChangedEvent (q.getContext(), classes)); // evict from the data cache for (int i = 0; i < cmd.length; i++) { if (cmd[i].getDataCache() != null) cmd[i].getDataCache().removeAll( cmd[i].getDescribedType(), true); } }
public void onTypesChanged(TypesChangedEvent ev) { writeLock(); Collection keys = null; try { if (hasListeners()) fireEvent(ev); keys = keySet(); } finally { writeUnlock(); } QueryKey qk; List removes = null; for (Iterator iter = keys.iterator(); iter.hasNext();) { qk = (QueryKey) iter.next(); if (qk.changeInvalidatesQuery(ev.getTypes())) { if (removes == null) removes = new ArrayList(); removes.add(qk); } } if (removes != null) removeAllInternal(removes); }