public List getUpdates()

in nuget-feed/src/jetbrains/buildServer/nuget/feed/server/index/NuGetFeed.java [123:163]


  public List<NuGetIndexEntry> getUpdates(@NotNull final String packageIdsValue,
                                          @NotNull final String versionsValue,
                                          @NotNull final String versionConstraintsValue,
                                          @NotNull final String targetFrameworksValue,
                                          final boolean includePrerelease,
                                          final boolean includeAllVersions,
                                          final boolean includeSemVer2) {
    final List<String> packageIds = StringUtil.split(packageIdsValue, VALUE_SEPARATOR);
    final List<String> versions = StringUtil.split(versionsValue, VALUE_SEPARATOR);
    final List<String> versionConstraints = StringUtil.split(versionConstraintsValue, VALUE_SEPARATOR);
    final Set<String> targetFrameworks = new HashSet<>(StringUtil.split(targetFrameworksValue, VALUE_SEPARATOR));

    if (packageIds.size() != versions.size()) {
      return Collections.emptyList();
    }

    final List<NuGetIndexEntry> packages = new ArrayList<>();
    for (int i = 0; i < packageIds.size(); i++) {
      final String requestedPackageId = packageIds.get(i);
      final String versionString = versions.get(i);
      final SemanticVersion requestedVersion = SemanticVersion.valueOf(versionString);
      if (requestedVersion == null) {
        LOG.warn("Failed to create valid semantic version from string " + versionString);
        continue;
      }

      VersionConstraint versionConstraint = null;
      if (i < versionConstraints.size()) {
        final String versionConstraintString = versionConstraints.get(i);
        versionConstraint = VersionConstraint.valueOf(versionConstraintString);
        if (versionConstraint == null) {
          LOG.warn("Failed to create valid version constraint from string " + versionConstraintString);
        }
      }

      packages.addAll(getUpdateOfPackageWithId(includeAllVersions, includePrerelease, targetFrameworks, requestedPackageId, requestedVersion, versionConstraint, includeSemVer2));
    }

    LOG.debug(String.format("%d updated package(s) found", packages.size()));
    return packages;
  }