private List<String> prependChroot(List<String> clientPaths) { List<String> serverPaths = new ArrayList<String>(); for (String clientPath : clientPaths) { serverPaths.add(prependChroot(clientPath)); } return serverPaths; }
private List<String> prependChroot(List<String> clientPaths) { List<String> serverPaths = new ArrayList<String>(); for (String clientPath : clientPaths) { serverPaths.add(prependChroot(clientPath)); } return serverPaths; }
@Override public void unsubscribeChildChanges(String path, IZkChildListener listener) { String serverPath = prependChroot(path); _baseAccessor.unsubscribeChildChanges(serverPath, listener); }
@Override public void unsubscribeDataChanges(String path, IZkDataListener listener) { String serverPath = prependChroot(path); _baseAccessor.unsubscribeDataChanges(serverPath, listener); }
@Override public void subscribeDataChanges(String path, IZkDataListener listener) { String serverPath = prependChroot(path); _baseAccessor.subscribeDataChanges(serverPath, listener); }
@Override public void subscribe(String parentPath, HelixPropertyListener listener) { String serverPath = prependChroot(parentPath); _zkCache.subscribe(serverPath, listener); }
@Override public List<String> subscribeChildChanges(String path, IZkChildListener listener) { String serverPath = prependChroot(path); return _baseAccessor.subscribeChildChanges(serverPath, listener); }
@Override public void subscribe(String parentPath, HelixPropertyListener listener) { String serverPath = prependChroot(parentPath); _zkCache.subscribe(serverPath, listener); }
@Override public void unsubscribe(String parentPath, HelixPropertyListener listener) { String serverPath = prependChroot(parentPath); _zkCache.unsubscribe(serverPath, listener); }
@Override public void unsubscribeChildChanges(String path, IZkChildListener listener) { String serverPath = prependChroot(path); _baseAccessor.unsubscribeChildChanges(serverPath, listener); }
@Override public Stat[] getStats(List<String> paths, int options) { List<String> serverPaths = prependChroot(paths); return _baseAccessor.getStats(serverPaths, options); }
@Override public void subscribeDataChanges(String path, IZkDataListener listener) { String serverPath = prependChroot(path); _baseAccessor.subscribeDataChanges(serverPath, listener); }
@Override public Stat[] getStats(List<String> paths, int options) { List<String> serverPaths = prependChroot(paths); return _baseAccessor.getStats(serverPaths, options); }
@Override public void unsubscribeDataChanges(String path, IZkDataListener listener) { String serverPath = prependChroot(path); _baseAccessor.unsubscribeDataChanges(serverPath, listener); }
@Override public List<String> subscribeChildChanges(String path, IZkChildListener listener) { String serverPath = prependChroot(path); return _baseAccessor.subscribeChildChanges(serverPath, listener); }
@Override public void unsubscribe(String parentPath, HelixPropertyListener listener) { String serverPath = prependChroot(parentPath); _zkCache.unsubscribe(serverPath, listener); }
@Override public boolean exists(String path, int options) { String clientPath = path; String serverPath = prependChroot(clientPath); Cache<T> cache = getCache(serverPath); if (cache != null) { boolean exists = cache.exists(serverPath); if (exists) { return true; } } // if not exists in cache, always fall back to zk return _baseAccessor.exists(serverPath, options); }
@Override public boolean exists(String path, int options) { String clientPath = path; String serverPath = prependChroot(clientPath); Cache<T> cache = getCache(serverPath); if (cache != null) { boolean exists = cache.exists(serverPath); if (exists) { return true; } } // if not exists in cache, always fall back to zk return _baseAccessor.exists(serverPath, options); }
@Override public boolean[] remove(List<String> paths, int options) { final int size = paths.size(); List<String> serverPaths = prependChroot(paths); Cache<T> cache = getCache(serverPaths); if (cache != null) { try { cache.lockWrite(); boolean[] success = _baseAccessor.remove(serverPaths, options); for (int i = 0; i < size; i++) { if (success[i]) { cache.purgeRecursive(serverPaths.get(i)); } } return success; } finally { cache.unlockWrite(); } } // no cache return _baseAccessor.remove(serverPaths, options); }
@Override public boolean remove(String path, int options) { String clientPath = path; String serverPath = prependChroot(clientPath); Cache<T> cache = getCache(serverPath); if (cache != null) { try { cache.lockWrite(); boolean success = _baseAccessor.remove(serverPath, options); if (success) { cache.purgeRecursive(serverPath); } return success; } finally { cache.unlockWrite(); } } // no cache return _baseAccessor.remove(serverPath, options); }