@Override public Set<HeldLocksToken> getTokens(LockClient client) { Preconditions.checkNotNull(client); if (client.isAnonymous()) { throw new IllegalArgumentException("client must not be anonymous"); } else if (client.equals(INTERNAL_LOCK_GRANT_CLIENT)) { throw new IllegalArgumentException("Illegal client!"); } ImmutableSet.Builder<HeldLocksToken> tokens = ImmutableSet.builder(); synchronized (lockClientMultimap) { for (HeldLocksToken token : lockClientMultimap.get(client)) { @Nullable HeldLocks<HeldLocksToken> heldLocks = heldLocksTokenMap.get(token); if ((heldLocks != null) && !isFrozen(heldLocks.locks.getKeys())) { tokens.add(token); } } } ImmutableSet<HeldLocksToken> tokenSet = tokens.build(); if (log.isTraceEnabled()) { log.trace(".getTokens({}) returns {}", client, Iterables.transform(tokenSet, TOKEN_TO_ID)); } return tokenSet; }
Preconditions.checkArgument(!client.equals(INTERNAL_LOCK_GRANT_CLIENT)); Preconditions.checkArgument(request.getLockTimeout().compareTo(maxAllowedLockTimeout) <= 0, "Requested lock timeout (%s) is greater than maximum allowed lock timeout (%s)",