public void save()

in server/src/jetbrains/buildServer/sharedResources/server/report/BuildUsedResourcesReport.java [43:66]


  public void save(@NotNull final BuildPromotionEx promo,
                   @NotNull final Map<String, Resource> resources,
                   @NotNull final Map<Lock, String> takenLocks) {
    if (takenLocks.isEmpty()) return;
    final List<UsedResource> usedResources = new ArrayList<>();
    takenLocks.forEach((lock, value) -> {
      final Resource resource = resources.get(lock.getName());
      if (resource != null) {
        usedResources.add(new UsedResource(resource, Collections.singleton(Lock.createFrom(lock, value))));
      } else {
        LOG.warn("Resource with name " + lock.getName() + " was not found for used resources report for build promotion with id " + promo.getId());
      }
    });
    final File artifact = new File(promo.getArtifactsDirectory(), ARTIFACT_PATH);
    try {
      if (FileUtil.createParentDirs(artifact)) {
        try (FileWriter w = new FileWriter(artifact)) {
          mySerializer.write(usedResources, w);
        }
      }
    } catch (IOException | JsonIOException e) {
      LOG.warnAndDebugDetails("Failed to store resources and locks to " + artifact.getPath() + " for build promotion with id " + promo.getId(), e);
    }
  }