public OlingoDataSource()

in nuget-feed/src/jetbrains/buildServer/nuget/feed/server/olingo/data/OlingoDataSource.java [33:70]


  public OlingoDataSource(@NotNull final NuGetFeed feed, @NotNull final NuGetAPIVersion apiVersion) {
    myFeed = feed;
    myApiVersion = apiVersion;

    myFunctions.put(MetadataConstants.SEARCH_FUNCTION_NAME, (parameters, queryParams) -> {
      final String searchTerm = (String) parameters.get(MetadataConstants.SEARCH_TERM);
      final String targetFramework = (String) parameters.get(MetadataConstants.TARGET_FRAMEWORK);
      final boolean includePrerelease = myApiVersion == NuGetAPIVersion.V2 && getBooleanValue(parameters.get(MetadataConstants.INCLUDE_PRERELEASE));
      if (searchTerm == null || targetFramework == null) {
        throw new UriSyntaxException(UriSyntaxException.MISSINGPARAMETER);
      }

      final boolean includeSemVer2 = includeSemVer2(queryParams);
      return myFeed.search(searchTerm, targetFramework, includePrerelease, includeSemVer2);
    });

    myFunctions.put(MetadataConstants.FIND_PACKAGES_BY_ID_FUNCTION_NAME, (parameters, queryParams) -> {
      final String id = (String) parameters.get(MetadataConstants.ID);
      if (id == null) {
        throw new UriSyntaxException(UriSyntaxException.MISSINGPARAMETER);
      }

      final boolean includeSemVer2 = includeSemVer2(queryParams);
      return myFeed.findPackagesById(id, includeSemVer2);
    });

    myFunctions.put(MetadataConstants.GET_UPDATES_FUNCTION_NAME, (parameters, queryParams) -> {
      final boolean includeSemVer2 = includeSemVer2(queryParams);
      return myFeed.getUpdates(
        getStringValue(parameters.get(MetadataConstants.PACKAGE_IDS)),
        getStringValue(parameters.get(MetadataConstants.VERSIONS)),
        getStringValue(parameters.get(MetadataConstants.VERSION_CONSTRAINTS)),
        getStringValue(parameters.get(MetadataConstants.TARGET_FRAMEWORKS)),
        getBooleanValue(parameters.get(MetadataConstants.INCLUDE_PRERELEASE)),
        getBooleanValue(parameters.get(MetadataConstants.INCLUDE_ALL_VERSIONS)),
        includeSemVer2);
    });
  }