in server/src/jetbrains/buildServer/sharedResources/server/runtime/TakenLocksImpl.java [94:111]
private void updateTakenLocks(@NotNull final Resource resource,
@NotNull final Lock lock,
@NotNull final BuildPromotionEx bpEx,
@NotNull final Map<Resource, TakenLock> result) {
if (resource instanceof CustomResource
&& lock.getType() == LockType.READ
&& lock.isAnyValueLock()) {
String reservedValue = (String)bpEx.getAttribute(getReservedResourceAttributeKey(resource.getId()));
if (reservedValue != null) {
getOrCreateTakenLock(result, resource).addLock(bpEx, Lock.createFrom(lock, reservedValue));
} else {
// the value is not yet reserved, just add a lock with empty value
getOrCreateTakenLock(result, resource).addLock(bpEx, lock);
}
} else {
getOrCreateTakenLock(result, resource).addLock(bpEx, lock);
}
}