private void updateTakenLocks()

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);
    }
  }