public Collection getCommitBuildStatuses()

in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/stash/StashPublisher.java [599:625]


    public Collection<JsonStashBuildStatus> getCommitBuildStatuses(@NotNull StatusRequestData data, @NotNull String buildDescription) throws PublisherException {
      final String baseEndpointUrl = getBaseUrl(data.getVcsRootInstance().getProperty("url")) + "/rest/build-status/1.0/commits/" + data.getCommit();
      final ResponseEntityProcessor<DeprecatedJsonStashBuildStatuses> processor = new ResponseEntityProcessor<>(DeprecatedJsonStashBuildStatuses.class);
      int size = 25;
      int start = 0;
      Collection<JsonStashBuildStatus> result = new ArrayList<>();
      boolean shouldContinueSearch = true;
      final int statusesThreshold = TeamCityProperties.getInteger(Constants.STATUSES_TO_LOAD_THRESHOLD_PROPERTY, Constants.STATUSES_TO_LOAD_THRESHOLD_DEFAULT_VAL);
      do {
        DeprecatedJsonStashBuildStatuses statuses  = doLoadStatuses(baseEndpointUrl, processor, start, size, buildDescription, data);
        if (statuses == null || statuses.values == null || statuses.values.isEmpty()) {
          shouldContinueSearch = false;
        } else {
          boolean requiredStatusFound = false;
          for (DeprecatedJsonStashBuildStatuses.Status status : statuses.values) {
            if (data.getKey().equals(status.key)) {
              requiredStatusFound = true;
            }
            result.add(convertToActualStatus(status));
          }
          if (requiredStatusFound || statuses.isLastPage || result.size() >= statusesThreshold) {
            shouldContinueSearch = false;
          }
        }
      } while (shouldContinueSearch);
      return result;
    }