@Override public void close() { super.close(); dispose(); }
@Override public LockRefreshToken lock(String client, LockRequest request) throws InterruptedException { LockRefreshToken ret = super.lock(client, request); if (ret != null) { toRefresh.add(ret); } return ret; }
@Override public boolean unlock(LockRefreshToken token) { toRefresh.remove(token); return super.unlock(token); }
@Override public boolean unlockSimple(SimpleHeldLocksToken token) { toRefresh.remove(token.asLockRefreshToken()); return super.unlockSimple(token); }
@Override public boolean unlockAndFreeze(HeldLocksToken token) { toRefresh.remove(token.getLockRefreshToken()); return super.unlockAndFreeze(token); }
@Override public HeldLocksToken lockAndGetHeldLocks(String client, LockRequest request) throws InterruptedException { HeldLocksToken lock = super.lockAndGetHeldLocks(client, request); if (lock != null) { toRefresh.add(lock.getLockRefreshToken()); } return lock; }
@Override public LockResponse lockWithFullLockResponse(LockClient client, LockRequest request) throws InterruptedException { LockResponse lock = super.lockWithFullLockResponse(client, request); if (lock.getToken() != null) { toRefresh.add(lock.getToken().getLockRefreshToken()); } return lock; }
@Override public boolean unlock(HeldLocksToken token) { toRefresh.remove(token.getLockRefreshToken()); return super.unlock(token); }
@Override public boolean unlockSimple(SimpleHeldLocksToken token) { toRefresh.remove(token.asLockRefreshToken()); return super.unlockSimple(token); }
@Override public boolean unlockAndFreeze(HeldLocksToken token) { toRefresh.remove(token.getLockRefreshToken()); return super.unlockAndFreeze(token); }
@Override public HeldLocksToken lockAndGetHeldLocks(String client, LockRequest request) throws InterruptedException { HeldLocksToken lock = super.lockAndGetHeldLocks(client, request); if (lock != null) { toRefresh.add(lock.getLockRefreshToken()); } return lock; }
@Override public LockResponse lockWithFullLockResponse(LockClient client, LockRequest request) throws InterruptedException { LockResponse lock = super.lockWithFullLockResponse(client, request); if (lock.getToken() != null) { toRefresh.add(lock.getToken().getLockRefreshToken()); } return lock; }
@Override public Set<HeldLocksToken> refreshTokens(Iterable<HeldLocksToken> tokens) { Set<LockRefreshToken> refreshTokens = ImmutableSet.copyOf( Iterables.transform(tokens, HeldLocksTokens.getRefreshTokenFun())); Set<LockRefreshToken> goodTokens = delegate().refreshLockRefreshTokens(refreshTokens); Set<HeldLocksToken> ret = Sets.newHashSetWithExpectedSize(refreshTokens.size()); Map<LockRefreshToken, HeldLocksToken> tokenMap = Maps.uniqueIndex(tokens, HeldLocksTokens.getRefreshTokenFun()); for (LockRefreshToken goodToken : goodTokens) { HeldLocksToken lock = tokenMap.get(goodToken); ret.add(goodToken.refreshTokenWithExpriationDate(lock)); } return ret; }
@Override public boolean unlock(LockRefreshToken token) { toRefresh.remove(token); return super.unlock(token); }
@Override public LockRefreshToken lock(String client, LockRequest request) throws InterruptedException { LockRefreshToken ret = super.lock(client, request); if (ret != null) { toRefresh.add(ret); } return ret; }
@Override public void close() { super.close(); dispose(); }
@Override public boolean unlock(HeldLocksToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromHeldLocksToken(token)); }
@Override public boolean unlock(HeldLocksToken token) { toRefresh.remove(token.getLockRefreshToken()); return super.unlock(token); }
@Override public boolean unlock(LockRefreshToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromLockRefreshToken(token)); }