@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(HeldLocksToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromHeldLocksToken(token)); }
@Override public boolean unlock(LockRefreshToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromLockRefreshToken(token)); }
@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(HeldLocksToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromHeldLocksToken(token)); }
@Override public boolean unlock(LockRefreshToken token) { return delegate().unlockSimple(SimpleHeldLocksToken.fromLockRefreshToken(token)); }