private BuildArtifact findArtifact()

in teamcity-symbol-server/src/main/java/jetbrains/buildServer/symbols/DownloadSymbolsController.java [162:181]


  private BuildArtifact findArtifact(@NotNull BuildMetadataEntry entry) {
    final Map<String,String> metadata = entry.getMetadata();
    final String storedArtifactPath = metadata.get(BuildSymbolsIndexProvider.ARTIFACT_PATH_KEY);
    if(storedArtifactPath == null){
      LOG.debug(String.format("Metadata stored for guid '%s' is invalid.", entry.getKey()));
      return null;
    }

    final long buildId = entry.getBuildId();
    final SBuild build = myServer.findBuildInstanceById(buildId);
    if(build == null){
      LOG.debug(String.format("Build not found by id %d.", buildId));
      return null;
    }
    final BuildArtifact buildArtifact = build.getArtifacts(BuildArtifactsViewMode.VIEW_ALL_WITH_ARCHIVES_CONTENT).getArtifact(storedArtifactPath);
    if(buildArtifact == null){
      LOG.debug(String.format("Artifact not found by path %s for build with id %d.", storedArtifactPath, buildId));
    }
    return buildArtifact;
  }