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);
});
}