// add node to caches; note that removes force notification
// of update to distributed caches
oidCache.remove(oid);
boolean removed = pathCache.remove(path);
CacheElement pathElement = pathCache.createElement(path, new DatabasePageManagerCacheObject(oid, path));
pathCache.put(pathElement);
// if a remove was not successful from the path cache, update
// notification to distributed peers was not performed;
// for updates of objects evicted from the cache or newly
// created ones, this is problematic: remove and put into
// path cache a second time to force
if (!removed && updatePathsList.contains(path))
{
pathCache.remove(path);
pathCache.put(pathElement);
}
// add node to local oid cache by key after removes from
// distributed path cache since those removes will remove
// from local oid cache in notifications, (despite the
// 'local' listener registration)
CacheElement element = oidCache.createElement(oid, node);
oidCache.put(element);
}
}