From 4ee79016fe49aadea2f9be161e4dbb58dedb8115 Mon Sep 17 00:00:00 2001 From: Hector Castejon Diaz Date: Wed, 3 Jun 2026 07:00:37 +0000 Subject: [PATCH] Fix Paginator dropping results on empty token pages The Paginator stopped iterating at the first empty page even when the response carried a non-empty next_page_token, silently dropping results on later pages. Token-paginated list methods (e.g. tables().list()) can return empty intermediate pages with a valid token, so results could be under-returned. Add two explicit pagination factories: - Paginator.newTokenPagination: iterate until nextPageFn returns null; empty pages are skipped, not treated as the end of results. - Paginator.newOffsetPagination: stop on the first empty page (offset, SCIM and legacy SQL APIs have no token and rely on this). The existing Paginator constructor is kept and deprecated (it retains its previous offset/limit behavior), so this is not a breaking change. Regenerate all *API.java list methods to the appropriate factory. Update hand-written APIs: SharesExtAPI -> newTokenPagination; SCIM Users/Groups/ServicePrincipals (and Account* variants) -> newOffsetPagination. Signed-off-by: Hector Castejon Diaz --- NEXT_CHANGELOG.md | 4 + .../databricks/sdk/service/apps/AppsAPI.java | 6 +- .../sdk/service/apps/AppsSettingsAPI.java | 2 +- .../sdk/service/billing/BudgetPolicyAPI.java | 2 +- .../sdk/service/billing/BudgetsAPI.java | 2 +- .../sdk/service/billing/LogDeliveryAPI.java | 2 +- .../sdk/service/bundle/BundleAPI.java | 8 +- .../AccountMetastoreAssignmentsAPI.java | 2 +- .../service/catalog/AccountMetastoresAPI.java | 2 +- .../catalog/AccountStorageCredentialsAPI.java | 2 +- .../sdk/service/catalog/CatalogsAPI.java | 2 +- .../sdk/service/catalog/ConnectionsAPI.java | 2 +- .../sdk/service/catalog/CredentialsAPI.java | 2 +- .../catalog/EntityTagAssignmentsAPI.java | 2 +- .../service/catalog/ExternalLineageAPI.java | 2 +- .../service/catalog/ExternalLocationsAPI.java | 2 +- .../service/catalog/ExternalMetadataAPI.java | 2 +- .../sdk/service/catalog/FunctionsAPI.java | 2 +- .../sdk/service/catalog/MetastoresAPI.java | 2 +- .../sdk/service/catalog/ModelVersionsAPI.java | 2 +- .../sdk/service/catalog/PoliciesAPI.java | 2 +- .../service/catalog/RegisteredModelsAPI.java | 2 +- .../service/catalog/ResourceQuotasAPI.java | 2 +- .../sdk/service/catalog/SchemasAPI.java | 2 +- .../sdk/service/catalog/SecretsUcAPI.java | 2 +- .../catalog/StorageCredentialsAPI.java | 2 +- .../sdk/service/catalog/SystemSchemasAPI.java | 2 +- .../sdk/service/catalog/TablesAPI.java | 4 +- .../sdk/service/catalog/VolumesAPI.java | 2 +- .../service/catalog/WorkspaceBindingsAPI.java | 2 +- .../CleanRoomAssetRevisionsAPI.java | 2 +- .../cleanrooms/CleanRoomAssetsAPI.java | 2 +- .../CleanRoomAutoApprovalRulesAPI.java | 2 +- .../cleanrooms/CleanRoomTaskRunsAPI.java | 2 +- .../sdk/service/cleanrooms/CleanRoomsAPI.java | 2 +- .../service/compute/ClusterPoliciesAPI.java | 2 +- .../sdk/service/compute/ClustersAPI.java | 4 +- .../service/compute/GlobalInitScriptsAPI.java | 2 +- .../sdk/service/compute/InstancePoolsAPI.java | 2 +- .../service/compute/InstanceProfilesAPI.java | 2 +- .../sdk/service/compute/LibrariesAPI.java | 4 +- .../PolicyComplianceForClustersAPI.java | 2 +- .../service/compute/PolicyFamiliesAPI.java | 2 +- .../sdk/service/dashboards/LakeviewAPI.java | 6 +- .../sdk/service/database/DatabaseAPI.java | 8 +- .../service/dataquality/DataQualityAPI.java | 4 +- .../disasterrecovery/DisasterRecoveryAPI.java | 4 +- .../service/environments/EnvironmentsAPI.java | 2 +- .../databricks/sdk/service/files/DbfsAPI.java | 3 +- .../sdk/service/files/FilesAPI.java | 2 +- .../sdk/service/iam/AccountGroupsAPI.java | 2 +- .../sdk/service/iam/AccountGroupsV2API.java | 2 +- .../iam/AccountServicePrincipalsAPI.java | 2 +- .../iam/AccountServicePrincipalsV2API.java | 2 +- .../sdk/service/iam/AccountUsersAPI.java | 2 +- .../sdk/service/iam/AccountUsersV2API.java | 2 +- .../databricks/sdk/service/iam/GroupsAPI.java | 2 +- .../sdk/service/iam/GroupsV2API.java | 2 +- .../sdk/service/iam/ServicePrincipalsAPI.java | 2 +- .../service/iam/ServicePrincipalsV2API.java | 2 +- .../databricks/sdk/service/iam/UsersAPI.java | 2 +- .../sdk/service/iam/UsersV2API.java | 2 +- .../service/iam/WorkspaceAssignmentAPI.java | 2 +- .../databricks/sdk/service/jobs/JobsAPI.java | 4 +- .../jobs/PolicyComplianceForJobsAPI.java | 2 +- .../KnowledgeAssistantsAPI.java | 6 +- .../marketplace/ConsumerFulfillmentsAPI.java | 4 +- .../marketplace/ConsumerInstallationsAPI.java | 4 +- .../marketplace/ConsumerListingsAPI.java | 4 +- .../ConsumerPersonalizationRequestsAPI.java | 2 +- .../marketplace/ConsumerProvidersAPI.java | 2 +- .../ProviderExchangeFiltersAPI.java | 2 +- .../marketplace/ProviderExchangesAPI.java | 6 +- .../service/marketplace/ProviderFilesAPI.java | 2 +- .../marketplace/ProviderListingsAPI.java | 2 +- .../ProviderPersonalizationRequestsAPI.java | 2 +- .../marketplace/ProviderProvidersAPI.java | 2 +- .../sdk/service/ml/ExperimentsAPI.java | 10 +- .../sdk/service/ml/FeatureEngineeringAPI.java | 8 +- .../sdk/service/ml/FeatureStoreAPI.java | 2 +- .../service/ml/MaterializedFeaturesAPI.java | 2 +- .../sdk/service/ml/ModelRegistryAPI.java | 12 +- .../sdk/service/networking/EndpointsAPI.java | 2 +- .../oauth2/AccountFederationPolicyAPI.java | 2 +- .../oauth2/CustomAppIntegrationAPI.java | 2 +- .../service/oauth2/OAuthPublishedAppsAPI.java | 2 +- .../oauth2/PublishedAppIntegrationAPI.java | 2 +- .../ServicePrincipalFederationPolicyAPI.java | 2 +- .../oauth2/ServicePrincipalSecretsAPI.java | 2 +- .../ServicePrincipalSecretsProxyAPI.java | 2 +- .../sdk/service/pipelines/PipelinesAPI.java | 4 +- .../sdk/service/postgres/PostgresAPI.java | 10 +- .../qualitymonitorv2/QualityMonitorV2API.java | 2 +- .../service/serving/ServingEndpointsAPI.java | 2 +- .../settings/AccountIpAccessListsAPI.java | 2 +- .../service/settings/IpAccessListsAPI.java | 2 +- .../settings/NetworkConnectivityAPI.java | 4 +- .../service/settings/NetworkPoliciesAPI.java | 2 +- .../settings/NotificationDestinationsAPI.java | 2 +- .../service/settings/TokenManagementAPI.java | 2 +- .../sdk/service/settings/TokensAPI.java | 2 +- .../settingsv2/AccountSettingsV2API.java | 4 +- .../settingsv2/WorkspaceSettingsV2API.java | 2 +- .../sdk/service/sharing/ProvidersAPI.java | 4 +- .../RecipientFederationPoliciesAPI.java | 2 +- .../sdk/service/sharing/RecipientsAPI.java | 2 +- .../sdk/service/sharing/SharesAPI.java | 2 +- .../sdk/service/sharing/SharesExtAPI.java | 2 +- .../databricks/sdk/service/sql/AlertsAPI.java | 2 +- .../sdk/service/sql/AlertsV2API.java | 2 +- .../sdk/service/sql/DashboardsAPI.java | 2 +- .../sdk/service/sql/QueriesAPI.java | 4 +- .../sdk/service/sql/QueriesLegacyAPI.java | 2 +- .../sdk/service/sql/WarehousesAPI.java | 4 +- .../supervisoragents/SupervisorAgentsAPI.java | 6 +- .../sdk/service/tags/TagPoliciesAPI.java | 2 +- .../WorkspaceEntityTagAssignmentsAPI.java | 2 +- .../VectorSearchEndpointsAPI.java | 2 +- .../vectorsearch/VectorSearchIndexesAPI.java | 2 +- .../service/workspace/GitCredentialsAPI.java | 2 +- .../sdk/service/workspace/ReposAPI.java | 2 +- .../sdk/service/workspace/SecretsAPI.java | 7 +- .../sdk/service/workspace/WorkspaceAPI.java | 3 +- .../com/databricks/sdk/support/Paginator.java | 93 +++++++++++++-- .../databricks/sdk/support/PaginatorTest.java | 112 ++++++++++++++++++ 125 files changed, 374 insertions(+), 180 deletions(-) create mode 100644 databricks-sdk-java/src/test/java/com/databricks/sdk/support/PaginatorTest.java diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 74791cd46..4fa1ef0f3 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -4,10 +4,14 @@ ### New Features and Improvements +* Added `Paginator.newTokenPagination(...)` and `Paginator.newOffsetPagination(...)` factory methods in `com.databricks.sdk.support`, which make the pagination strategy explicit. The `Paginator` constructor is now deprecated in favor of these; it keeps its previous (offset/limit) behavior. + ### Breaking Changes ### Bug Fixes +* Fixed `Paginator` silently dropping results when a token-paginated response returned an empty page with a non-empty `next_page_token`. List methods (e.g. `tables().list()`) now keep paging until the page token is absent instead of stopping at the first empty page. + ### Security Vulnerabilities ### Documentation diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsAPI.java index d4412af75..e40f6499c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsAPI.java @@ -356,7 +356,7 @@ public AppUpdate getUpdate(GetAppUpdateRequest request) { /** Lists all apps in the workspace. */ public Iterable list(ListAppsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListAppsResponse::getApps, @@ -375,7 +375,7 @@ public Iterable listDeployments(String appName) { /** Lists all app deployments for the app with the supplied name. */ public Iterable listDeployments(ListAppDeploymentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDeployments, ListAppDeploymentsResponse::getAppDeployments, @@ -390,7 +390,7 @@ public Iterable listDeployments(ListAppDeploymentsRequest request /** Lists all app spaces in the workspace. */ public Iterable listSpaces(ListSpacesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listSpaces, ListSpacesResponse::getSpaces, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsSettingsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsSettingsAPI.java index b9f117990..4097b33fb 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsSettingsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/apps/AppsSettingsAPI.java @@ -49,7 +49,7 @@ public CustomTemplate getCustomTemplate(GetCustomTemplateRequest request) { /** Lists all custom templates in the workspace. */ public Iterable listCustomTemplates(ListCustomTemplatesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listCustomTemplates, ListCustomTemplatesResponse::getTemplates, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetPolicyAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetPolicyAPI.java index 3ef7ee9e6..92f5559c5 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetPolicyAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetPolicyAPI.java @@ -51,7 +51,7 @@ public BudgetPolicy get(GetBudgetPolicyRequest request) { * Lists all policies. Policies are returned in the alphabetically ascending order of their names. */ public Iterable list(ListBudgetPoliciesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListBudgetPoliciesResponse::getPolicies, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetsAPI.java index f00b6a28d..9683a04a0 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/BudgetsAPI.java @@ -62,7 +62,7 @@ public GetBudgetConfigurationResponse get(GetBudgetConfigurationRequest request) /** Gets all budgets associated with this account. */ public Iterable list(ListBudgetConfigurationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListBudgetConfigurationsResponse::getBudgets, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/LogDeliveryAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/LogDeliveryAPI.java index fc70d6b6a..28364e50f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/LogDeliveryAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/billing/LogDeliveryAPI.java @@ -123,7 +123,7 @@ public GetLogDeliveryConfigurationResponse get(GetLogDeliveryRequest request) { /** Gets all Databricks log delivery configurations associated with an account specified by ID. */ public Iterable list(ListLogDeliveryRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, WrappedLogDeliveryConfigurations::getLogDeliveryConfigurations, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/BundleAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/BundleAPI.java index 66379d56f..21c50a839 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/BundleAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/bundle/BundleAPI.java @@ -135,7 +135,7 @@ public HeartbeatResponse heartbeat(HeartbeatRequest request) { /** Lists deployments in the workspace. */ public Iterable listDeployments(ListDeploymentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDeployments, ListDeploymentsResponse::getDeployments, @@ -154,7 +154,7 @@ public Iterable listOperations(String parent) { /** Lists resource operations under a version. */ public Iterable listOperations(ListOperationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listOperations, ListOperationsResponse::getOperations, @@ -173,7 +173,7 @@ public Iterable listResources(String parent) { /** Lists resources under a deployment. */ public Iterable listResources(ListResourcesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listResources, ListResourcesResponse::getResources, @@ -192,7 +192,7 @@ public Iterable listVersions(String parent) { /** Lists versions under a deployment, ordered by version_id descending (most recent first). */ public Iterable listVersions(ListVersionsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listVersions, ListVersionsResponse::getVersions, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoreAssignmentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoreAssignmentsAPI.java index fdd574273..a935ad6cd 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoreAssignmentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoreAssignmentsAPI.java @@ -62,7 +62,7 @@ public Iterable list(String metastoreId) { /** Gets a list of all Databricks workspace IDs that have been assigned to given metastore. */ public Iterable list(ListAccountMetastoreAssignmentsRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListAccountMetastoreAssignmentsResponse::getWorkspaceIds, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoresAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoresAPI.java index c0cccb1bd..2c57e67be 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoresAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountMetastoresAPI.java @@ -52,7 +52,7 @@ public AccountsGetMetastoreResponse get(GetAccountMetastoreRequest request) { /** Gets all Unity Catalog metastores associated with an account specified by ID. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), AccountsListMetastoresResponse::getMetastores, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountStorageCredentialsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountStorageCredentialsAPI.java index 8c9f78d97..8bee609fa 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountStorageCredentialsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/AccountStorageCredentialsAPI.java @@ -74,7 +74,7 @@ public Iterable list(String metastoreId) { /** Gets a list of all storage credentials that have been assigned to given metastore. */ public Iterable list(ListAccountStorageCredentialsRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListAccountStorageCredentialsResponse::getStorageCredentials, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java index 2b0b14808..ad279aa1d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CatalogsAPI.java @@ -83,7 +83,7 @@ public Iterable list(ListCatalogsRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListCatalogsResponse::getCatalogs, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java index ebe4368a4..95d7b10c7 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionsAPI.java @@ -78,7 +78,7 @@ public Iterable list(ListConnectionsRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListConnectionsResponse::getConnections, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CredentialsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CredentialsAPI.java index a76a01d11..149b025f6 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CredentialsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/CredentialsAPI.java @@ -90,7 +90,7 @@ public CredentialInfo getCredential(GetCredentialRequest request) { * absent, which is the only indication that the end of results has been reached. */ public Iterable listCredentials(ListCredentialsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listCredentials, ListCredentialsResponse::getCredentials, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java index af6be2968..e1e425506 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/EntityTagAssignmentsAPI.java @@ -97,7 +97,7 @@ public Iterable list(String entityType, String entityName) * absent, which is the only indication that the end of results has been reached. */ public Iterable list(ListEntityTagAssignmentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListEntityTagAssignmentsResponse::getTagAssignments, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLineageAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLineageAPI.java index e8578ce85..4b336b608 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLineageAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLineageAPI.java @@ -69,7 +69,7 @@ public Iterable listExternalLineageRelationships( */ public Iterable listExternalLineageRelationships( ListExternalLineageRelationshipsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listExternalLineageRelationships, ListExternalLineageRelationshipsResponse::getExternalLineageRelationships, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLocationsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLocationsAPI.java index 625c0454d..dcf5f6634 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLocationsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalLocationsAPI.java @@ -87,7 +87,7 @@ public Iterable list(ListExternalLocationsRequest request) if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListExternalLocationsResponse::getExternalLocations, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalMetadataAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalMetadataAPI.java index 10cae669e..c2b25c013 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalMetadataAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ExternalMetadataAPI.java @@ -72,7 +72,7 @@ public ExternalMetadata getExternalMetadata(GetExternalMetadataRequest request) * specific ordering of the elements in the array. */ public Iterable listExternalMetadata(ListExternalMetadataRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listExternalMetadata, ListExternalMetadataResponse::getExternalMetadata, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionsAPI.java index da719042a..6de23cd0e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/FunctionsAPI.java @@ -100,7 +100,7 @@ public Iterable list(ListFunctionsRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListFunctionsResponse::getFunctions, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/MetastoresAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/MetastoresAPI.java index 18a7d68f1..4704e9712 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/MetastoresAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/MetastoresAPI.java @@ -99,7 +99,7 @@ public Iterable list(ListMetastoresRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListMetastoresResponse::getMetastores, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java index 9708c466c..f59ca853e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ModelVersionsAPI.java @@ -102,7 +102,7 @@ public Iterable list(String fullName) { * absent, which is the only indication that the end of results has been reached. */ public Iterable list(ListModelVersionsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListModelVersionsResponse::getModelVersions, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/PoliciesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/PoliciesAPI.java index 8a9a01e54..1bfa8d190 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/PoliciesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/PoliciesAPI.java @@ -82,7 +82,7 @@ public Iterable listPolicies(String onSecurableType, String onSecura * absent, which is the only indication that the end of results has been reached. */ public Iterable listPolicies(ListPoliciesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listPolicies, ListPoliciesResponse::getPolicies, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java index ae9172cf1..c7737bf48 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RegisteredModelsAPI.java @@ -130,7 +130,7 @@ public RegisteredModelInfo get(GetRegisteredModelRequest request) { * absent, which is the only indication that the end of results has been reached. */ public Iterable list(ListRegisteredModelsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListRegisteredModelsResponse::getRegisteredModels, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ResourceQuotasAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ResourceQuotasAPI.java index 191e7d4ce..f392e0cd8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ResourceQuotasAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ResourceQuotasAPI.java @@ -60,7 +60,7 @@ public GetQuotaResponse getQuota(GetQuotaRequest request) { * absent, which is the only indication that the end of results has been reached. */ public Iterable listQuotas(ListQuotasRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listQuotas, ListQuotasResponse::getQuotas, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java index c258266b0..28bf44a5c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SchemasAPI.java @@ -84,7 +84,7 @@ public Iterable list(ListSchemasRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListSchemasResponse::getSchemas, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecretsUcAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecretsUcAPI.java index cbaa2c120..b9569f509 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecretsUcAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecretsUcAPI.java @@ -85,7 +85,7 @@ public Secret getSecret(GetSecretRequest request) { * to retrieve subsequent pages. */ public Iterable listSecrets(ListSecretsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listSecrets, ListSecretsResponse::getSecrets, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/StorageCredentialsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/StorageCredentialsAPI.java index 7fb47bc89..ff05dc3ec 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/StorageCredentialsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/StorageCredentialsAPI.java @@ -89,7 +89,7 @@ public Iterable list(ListStorageCredentialsRequest reques if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListStorageCredentialsResponse::getStorageCredentials, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java index 7fc499b01..03c34a27e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SystemSchemasAPI.java @@ -69,7 +69,7 @@ public Iterable list(ListSystemSchemasRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListSystemSchemasResponse::getSchemas, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TablesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TablesAPI.java index abe09ac9b..11114153c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TablesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/TablesAPI.java @@ -133,7 +133,7 @@ public Iterable list(ListTablesRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListTablesResponse::getTables, @@ -167,7 +167,7 @@ public Iterable listSummaries(String catalogName) { * absent, which is the only indication that the end of results has been reached. */ public Iterable listSummaries(ListSummariesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listSummaries, ListTableSummariesResponse::getTables, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java index 8b4f922c4..ebbf25311 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/VolumesAPI.java @@ -89,7 +89,7 @@ public Iterable list(String catalogName, String schemaName) { * absent, which is the only indication that the end of results has been reached. */ public Iterable list(ListVolumesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListVolumesResponseContent::getVolumes, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java index a90ac838d..ad41bcda5 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/WorkspaceBindingsAPI.java @@ -76,7 +76,7 @@ public Iterable getBindings(GetBindingsRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::getBindings, GetWorkspaceBindingsResponse::getBindings, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetRevisionsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetRevisionsAPI.java index 971e60ca1..1e58cdda7 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetRevisionsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetRevisionsAPI.java @@ -53,7 +53,7 @@ public Iterable list( /** List revisions for an asset */ public Iterable list(ListCleanRoomAssetRevisionsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListCleanRoomAssetRevisionsResponse::getRevisions, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetsAPI.java index 14f374a29..823c0bceb 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetsAPI.java @@ -76,7 +76,7 @@ public Iterable list(String cleanRoomName) { /** List assets. */ public Iterable list(ListCleanRoomAssetsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListCleanRoomAssetsResponse::getAssets, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAutoApprovalRulesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAutoApprovalRulesAPI.java index 6d418437e..9df0a8a30 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAutoApprovalRulesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAutoApprovalRulesAPI.java @@ -62,7 +62,7 @@ public Iterable list(String cleanRoomName) { /** List all auto-approval rules for the caller */ public Iterable list(ListCleanRoomAutoApprovalRulesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListCleanRoomAutoApprovalRulesResponse::getRules, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomTaskRunsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomTaskRunsAPI.java index 1a771b2e9..e20c6b853 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomTaskRunsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomTaskRunsAPI.java @@ -30,7 +30,7 @@ public Iterable list(String cleanRoomName) { /** List all the historical notebook task runs in a clean room. */ public Iterable list(ListCleanRoomNotebookTaskRunsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListCleanRoomNotebookTaskRunsResponse::getRuns, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomsAPI.java index 077ad9b01..f33cc5551 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomsAPI.java @@ -123,7 +123,7 @@ public CleanRoom get(GetCleanRoomRequest request) { * returned. */ public Iterable list(ListCleanRoomsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListCleanRoomsResponse::getCleanRooms, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClusterPoliciesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClusterPoliciesAPI.java index 6bd533283..b05b19567 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClusterPoliciesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClusterPoliciesAPI.java @@ -104,7 +104,7 @@ public ClusterPolicyPermissions getPermissions(GetClusterPolicyPermissionsReques /** Returns a list of policies accessible by the requesting user. */ public Iterable list(ListClusterPoliciesRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListPoliciesResponse::getPolicies, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClustersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClustersAPI.java index 5c888b195..26a9c8dd7 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClustersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/ClustersAPI.java @@ -215,7 +215,7 @@ public Wait edit(EditCluster request) { * page of events. */ public Iterable events(GetEvents request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::events, GetEventsResponse::getEvents, response -> response.getNextPage()); } @@ -255,7 +255,7 @@ public ClusterPermissions getPermissions(GetClusterPermissionsRequest request) { * last 30 days. Clusters terminated prior to this period are not included. */ public Iterable list(ListClustersRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListClustersResponse::getClusters, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/GlobalInitScriptsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/GlobalInitScriptsAPI.java index a0b8c0356..d0e9f31d8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/GlobalInitScriptsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/GlobalInitScriptsAPI.java @@ -61,7 +61,7 @@ public GlobalInitScriptDetailsWithContent get(GetGlobalInitScriptRequest request * global init script](:method:globalinitscripts/get) operation. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), ListGlobalInitScriptsResponse::getScripts, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstancePoolsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstancePoolsAPI.java index 38cdd03bf..5a38a18e2 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstancePoolsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstancePoolsAPI.java @@ -97,7 +97,7 @@ public InstancePoolPermissions getPermissions(GetInstancePoolPermissionsRequest /** Gets a list of instance pools with their statistics. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), ListInstancePools::getInstancePools, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesAPI.java index d4c6c28b3..f6582bbba 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/InstanceProfilesAPI.java @@ -66,7 +66,7 @@ public void edit(InstanceProfile request) { *

This API is available to all users. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), ListInstanceProfilesResponse::getInstanceProfiles, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/LibrariesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/LibrariesAPI.java index b7e736ae8..488e06abb 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/LibrariesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/LibrariesAPI.java @@ -45,7 +45,7 @@ public LibrariesAPI(LibrariesService mock) { * installed on this cluster via the API or the libraries UI. */ public Iterable allClusterStatuses() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.allClusterStatuses(), ListAllClusterLibraryStatusesResponse::getStatuses, @@ -64,7 +64,7 @@ public Iterable clusterStatus(String clusterId) { * this cluster or, but are now marked for removal, in no particular order, are returned last. */ public Iterable clusterStatus(ClusterStatus request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::clusterStatus, ClusterLibraryStatuses::getLibraryStatuses, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyComplianceForClustersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyComplianceForClustersAPI.java index c70aea53f..9933b1997 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyComplianceForClustersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyComplianceForClustersAPI.java @@ -74,7 +74,7 @@ public Iterable listCompliance(String policyId) { * out of compliance if their policy was updated after the cluster was last edited. */ public Iterable listCompliance(ListClusterCompliancesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listCompliance, ListClusterCompliancesResponse::getClusters, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyFamiliesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyFamiliesAPI.java index f0147ee76..e01e15536 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyFamiliesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/compute/PolicyFamiliesAPI.java @@ -48,7 +48,7 @@ public PolicyFamily get(GetPolicyFamilyRequest request) { * is paginated. */ public Iterable list(ListPolicyFamiliesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListPolicyFamiliesResponse::getPolicyFamilies, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java index cfb035a8a..35d3ca246 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dashboards/LakeviewAPI.java @@ -109,7 +109,7 @@ public Subscription getSubscription(GetSubscriptionRequest request) { /** List dashboards. */ public Iterable list(ListDashboardsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListDashboardsResponse::getDashboards, @@ -128,7 +128,7 @@ public Iterable listSchedules(String dashboardId) { /** List dashboard schedules. */ public Iterable listSchedules(ListSchedulesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listSchedules, ListSchedulesResponse::getSchedules, @@ -148,7 +148,7 @@ public Iterable listSubscriptions(String dashboardId, String sched /** List schedule subscriptions. */ public Iterable listSubscriptions(ListSubscriptionsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listSubscriptions, ListSubscriptionsResponse::getSubscriptions, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseAPI.java index b8fbfaaae..18ac94420 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/database/DatabaseAPI.java @@ -212,7 +212,7 @@ public Iterable listDatabaseCatalogs(String instanceName) { /** This API is currently unimplemented, but exposed for Terraform support. */ public Iterable listDatabaseCatalogs(ListDatabaseCatalogsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDatabaseCatalogs, ListDatabaseCatalogsResponse::getDatabaseCatalogs, @@ -238,7 +238,7 @@ public Iterable listDatabaseInstanceRoles(String instanceN */ public Iterable listDatabaseInstanceRoles( ListDatabaseInstanceRolesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDatabaseInstanceRoles, ListDatabaseInstanceRolesResponse::getDatabaseInstanceRoles, @@ -253,7 +253,7 @@ public Iterable listDatabaseInstanceRoles( /** List Database Instances. */ public Iterable listDatabaseInstances(ListDatabaseInstancesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDatabaseInstances, ListDatabaseInstancesResponse::getDatabaseInstances, @@ -274,7 +274,7 @@ public Iterable listSyncedDatabaseTables(String instanceNam /** This API is currently unimplemented, but exposed for Terraform support. */ public Iterable listSyncedDatabaseTables( ListSyncedDatabaseTablesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listSyncedDatabaseTables, ListSyncedDatabaseTablesResponse::getSyncedTables, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataquality/DataQualityAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataquality/DataQualityAPI.java index 620731811..2f0b7076c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataquality/DataQualityAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataquality/DataQualityAPI.java @@ -166,7 +166,7 @@ public Refresh getRefresh(GetRefreshRequest request) { /** (Unimplemented) List data quality monitors. */ public Iterable listMonitor(ListMonitorRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listMonitor, ListMonitorResponse::getMonitors, @@ -198,7 +198,7 @@ public Iterable listRefresh(String objectType, String objectId) { * **USE_CATALOG** on the schema's parent catalog, and **USE_SCHEMA** on the schema. */ public Iterable listRefresh(ListRefreshRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listRefresh, ListRefreshResponse::getRefreshes, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/disasterrecovery/DisasterRecoveryAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/disasterrecovery/DisasterRecoveryAPI.java index 0075e7b18..7b52629ec 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/disasterrecovery/DisasterRecoveryAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/disasterrecovery/DisasterRecoveryAPI.java @@ -81,7 +81,7 @@ public Iterable listFailoverGroups(String parent) { /** List failover groups. */ public Iterable listFailoverGroups(ListFailoverGroupsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listFailoverGroups, ListFailoverGroupsResponse::getFailoverGroups, @@ -100,7 +100,7 @@ public Iterable listStableUrls(String parent) { /** List stable URLs for an account. */ public Iterable listStableUrls(ListStableUrlsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listStableUrls, ListStableUrlsResponse::getStableUrls, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java index c00f8101c..9ff5042e9 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/environments/EnvironmentsAPI.java @@ -108,7 +108,7 @@ public WorkspaceBaseEnvironment getWorkspaceBaseEnvironment( */ public Iterable listWorkspaceBaseEnvironments( ListWorkspaceBaseEnvironmentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listWorkspaceBaseEnvironments, ListWorkspaceBaseEnvironmentsResponse::getWorkspaceBaseEnvironments, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/DbfsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/DbfsAPI.java index 3c5681fde..f50fc4a32 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/DbfsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/DbfsAPI.java @@ -114,7 +114,8 @@ public Iterable list(String path) { * same functionality without timing out. */ public Iterable list(ListDbfsRequest request) { - return new Paginator<>(request, impl::list, ListStatusResponse::getFiles, response -> null); + return Paginator.newOffsetPagination( + request, impl::list, ListStatusResponse::getFiles, response -> null); } public void mkdirs(String path) { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java index 2d2a86657..7a1de488d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/files/FilesAPI.java @@ -125,7 +125,7 @@ public Iterable listDirectoryContents(String directoryPath) { * returns a HTTP 404 error. */ public Iterable listDirectoryContents(ListDirectoryContentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDirectoryContents, ListDirectoryResponse::getContents, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsAPI.java index e54e978ee..b25e3dd1b 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsAPI.java @@ -66,7 +66,7 @@ public Iterable list(ListAccountGroupsRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListGroupsResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsV2API.java index 741098068..7ac313a48 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountGroupsV2API.java @@ -67,7 +67,7 @@ public Iterable list(ListAccountGroupsRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListAccountGroupsResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsAPI.java index 2f61b45c9..7e3b099dc 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsAPI.java @@ -59,7 +59,7 @@ public Iterable list(ListAccountServicePrincipalsRequest reque if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListServicePrincipalResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsV2API.java index 42173e14a..cbac8a067 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountServicePrincipalsV2API.java @@ -59,7 +59,7 @@ public Iterable list(ListAccountServicePrincipalsReques if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListAccountServicePrincipalsResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersAPI.java index 6763d07bc..c2f616923 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersAPI.java @@ -69,7 +69,7 @@ public Iterable list(ListAccountUsersRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListUsersResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersV2API.java index af29f791a..4332aa564 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/AccountUsersV2API.java @@ -69,7 +69,7 @@ public Iterable list(ListAccountUsersRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListAccountUsersResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsAPI.java index 0d3a94834..b99c026ec 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsAPI.java @@ -63,7 +63,7 @@ public Iterable list(ListGroupsRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListGroupsResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsV2API.java index 638be6c41..0870ee90c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GroupsV2API.java @@ -63,7 +63,7 @@ public Iterable list(ListGroupsRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListGroupsResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsAPI.java index 775e8d732..6b89aee49 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsAPI.java @@ -59,7 +59,7 @@ public Iterable list(ListServicePrincipalsRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListServicePrincipalResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsV2API.java index 53bfcf54a..314c9ed9a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/ServicePrincipalsV2API.java @@ -59,7 +59,7 @@ public Iterable list(ListServicePrincipalsRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListServicePrincipalResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersAPI.java index d484f717f..1c9873da9 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersAPI.java @@ -82,7 +82,7 @@ public Iterable list(ListUsersRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListUsersResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersV2API.java index 9c41a6766..29614bda8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UsersV2API.java @@ -83,7 +83,7 @@ public Iterable list(ListUsersRequest request) { if (request.getCount() == null) { request.setCount(10000L); } - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListUsersResponse::getResources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/WorkspaceAssignmentAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/WorkspaceAssignmentAPI.java index f5cabec7a..a920d7e35 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/WorkspaceAssignmentAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/WorkspaceAssignmentAPI.java @@ -59,7 +59,7 @@ public Iterable list(long workspaceId) { * Get the permission assignments for the specified Databricks account and Databricks workspace. */ public Iterable list(ListWorkspaceAssignmentRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, PermissionAssignments::getPermissionAssignments, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java index da097f96f..d4125be6e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/JobsAPI.java @@ -231,7 +231,7 @@ public RunOutput getRunOutput(GetRunOutputRequest request) { /** Retrieves a list of jobs. */ public Iterable list(ListJobsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListJobsResponse::getJobs, @@ -246,7 +246,7 @@ public Iterable list(ListJobsRequest request) { /** List runs in descending order by start time. */ public Iterable listRuns(ListRunsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listRuns, ListRunsResponse::getRuns, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PolicyComplianceForJobsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PolicyComplianceForJobsAPI.java index 9a4912efd..aab155881 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PolicyComplianceForJobsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PolicyComplianceForJobsAPI.java @@ -68,7 +68,7 @@ public Iterable listCompliance(String policyId) { * clusters no longer comply with the updated policy. */ public Iterable listCompliance(ListJobComplianceRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listCompliance, ListJobComplianceForPolicyResponse::getJobs, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/KnowledgeAssistantsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/KnowledgeAssistantsAPI.java index 7545ec5f7..eba3277b8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/KnowledgeAssistantsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/KnowledgeAssistantsAPI.java @@ -127,7 +127,7 @@ public Iterable listExamples(String parent) { /** Lists examples under a Knowledge Assistant. */ public Iterable listExamples(ListExamplesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listExamples, ListExamplesResponse::getExamples, @@ -143,7 +143,7 @@ public Iterable listExamples(ListExamplesRequest request) { /** List Knowledge Assistants */ public Iterable listKnowledgeAssistants( ListKnowledgeAssistantsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listKnowledgeAssistants, ListKnowledgeAssistantsResponse::getKnowledgeAssistants, @@ -162,7 +162,7 @@ public Iterable listKnowledgeSources(String parent) { /** Lists Knowledge Sources under a Knowledge Assistant. */ public Iterable listKnowledgeSources(ListKnowledgeSourcesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listKnowledgeSources, ListKnowledgeSourcesResponse::getKnowledgeSources, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerFulfillmentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerFulfillmentsAPI.java index 99475af00..1673a54c8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerFulfillmentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerFulfillmentsAPI.java @@ -30,7 +30,7 @@ public Iterable get(String listingId) { /** Get a high level preview of the metadata of listing installable content. */ public Iterable get(GetListingContentMetadataRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::get, GetListingContentMetadataResponse::getSharedDataObjects, @@ -54,7 +54,7 @@ public Iterable list(String listingId) { * attached share or git repo, as well as the Delta Sharing recipient type. */ public Iterable list(ListFulfillmentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListFulfillmentsResponse::getFulfillments, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerInstallationsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerInstallationsAPI.java index b1ee91230..0428f6f84 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerInstallationsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerInstallationsAPI.java @@ -43,7 +43,7 @@ public void delete(DeleteInstallationRequest request) { /** List all installations across all listings. */ public Iterable list(ListAllInstallationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListAllInstallationsResponse::getInstallations, @@ -62,7 +62,7 @@ public Iterable listListingInstallations(String listingId) { /** List all installations for a particular listing. */ public Iterable listListingInstallations(ListInstallationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listListingInstallations, ListInstallationsResponse::getInstallations, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerListingsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerListingsAPI.java index 17400dae3..0521933c1 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerListingsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerListingsAPI.java @@ -45,7 +45,7 @@ public GetListingResponse get(GetListingRequest request) { /** List all published listings in the Databricks Marketplace that the consumer has access to. */ public Iterable

list(ListListingsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListListingsResponse::getListings, @@ -67,7 +67,7 @@ public Iterable search(String query) { * query supports a variety of different search parameters and performs fuzzy matching. */ public Iterable search(SearchListingsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::search, SearchListingsResponse::getListings, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerPersonalizationRequestsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerPersonalizationRequestsAPI.java index 041a1ba28..94a762088 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerPersonalizationRequestsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerPersonalizationRequestsAPI.java @@ -47,7 +47,7 @@ public GetPersonalizationRequestResponse get(GetPersonalizationRequestRequest re /** List personalization requests for a consumer across all listings. */ public Iterable list(ListAllPersonalizationRequestsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListAllPersonalizationRequestsResponse::getPersonalizationRequests, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerProvidersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerProvidersAPI.java index 717185c15..4d9bb033f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerProvidersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ConsumerProvidersAPI.java @@ -40,7 +40,7 @@ public GetProviderResponse get(GetProviderRequest request) { /** List all providers in the Databricks Marketplace with at least one visible listing. */ public Iterable list(ListConsumerProvidersRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListProvidersResponse::getProviders, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangeFiltersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangeFiltersAPI.java index 4190317b6..975c90386 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangeFiltersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangeFiltersAPI.java @@ -44,7 +44,7 @@ public Iterable list(String exchangeId) { /** List exchange filter */ public Iterable list(ListExchangeFiltersRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListExchangeFiltersResponse::getFilters, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangesAPI.java index bc199e7e4..044eda3e5 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderExchangesAPI.java @@ -65,7 +65,7 @@ public GetExchangeResponse get(GetExchangeRequest request) { /** List exchanges visible to provider */ public Iterable list(ListExchangesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListExchangesResponse::getExchanges, @@ -84,7 +84,7 @@ public Iterable listExchangesForListing(String listingId) { /** List exchanges associated with a listing */ public Iterable listExchangesForListing(ListExchangesForListingRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listExchangesForListing, ListExchangesForListingResponse::getExchangeListing, @@ -103,7 +103,7 @@ public Iterable listListingsForExchange(String exchangeId) { /** List listings associated with an exchange */ public Iterable listListingsForExchange(ListListingsForExchangeRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listListingsForExchange, ListListingsForExchangeResponse::getExchangeListings, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderFilesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderFilesAPI.java index 90a97a1ca..7142f599f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderFilesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderFilesAPI.java @@ -56,7 +56,7 @@ public Iterable list(FileParent fileParent) { /** List files attached to a parent entity. */ public Iterable list(ListFilesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListFilesResponse::getFileInfos, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderListingsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderListingsAPI.java index deed60786..3f5485840 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderListingsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderListingsAPI.java @@ -52,7 +52,7 @@ public GetListingResponse get(GetListingRequest request) { /** List listings owned by this provider */ public Iterable list(GetListingsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, GetListingsResponse::getListings, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderPersonalizationRequestsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderPersonalizationRequestsAPI.java index de6fbd8c9..f7630b94a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderPersonalizationRequestsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderPersonalizationRequestsAPI.java @@ -33,7 +33,7 @@ public ProviderPersonalizationRequestsAPI(ProviderPersonalizationRequestsService * regardless of which listing they are for. */ public Iterable list(ListAllPersonalizationRequestsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListAllPersonalizationRequestsResponse::getPersonalizationRequests, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderProvidersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderProvidersAPI.java index db463ab07..451b5f97e 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderProvidersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/marketplace/ProviderProvidersAPI.java @@ -49,7 +49,7 @@ public GetProviderResponse get(GetProviderRequest request) { /** List provider profiles for account. */ public Iterable list(ListProvidersRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListProvidersResponse::getProviders, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java index 4585c5e74..9a4a51a61 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ExperimentsAPI.java @@ -144,7 +144,7 @@ public Iterable getHistory(String metricKey) { /** Gets a list of all values for the specified metric for a given run. */ public Iterable getHistory(GetHistoryRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::getHistory, GetMetricHistoryResponse::getMetrics, @@ -211,7 +211,7 @@ public GetRunResponse getRun(GetRunRequest request) { * API](/api/workspace/files/listdirectorycontents). */ public Iterable listArtifacts(ListArtifactsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listArtifacts, ListArtifactsResponse::getFiles, @@ -226,7 +226,7 @@ public Iterable listArtifacts(ListArtifactsRequest request) { /** Gets a list of all experiments. */ public Iterable listExperiments(ListExperimentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listExperiments, ListExperimentsResponse::getExperiments, @@ -367,7 +367,7 @@ public RestoreRunsResponse restoreRuns(RestoreRuns request) { /** Searches for experiments that satisfy specified search criteria. */ public Iterable searchExperiments(SearchExperiments request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::searchExperiments, SearchExperimentsResponse::getExperiments, @@ -391,7 +391,7 @@ public SearchLoggedModelsResponse searchLoggedModels(SearchLoggedModelsRequest r *

Search expressions can use `mlflowMetric` and `mlflowParam` keys. */ public Iterable searchRuns(SearchRuns request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::searchRuns, SearchRunsResponse::getRuns, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureEngineeringAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureEngineeringAPI.java index f26b55bdf..88e553f31 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureEngineeringAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureEngineeringAPI.java @@ -140,7 +140,7 @@ public Iterable listFeatures(String catalogName, String schemaName) { /** List Features. */ public Iterable listFeatures(ListFeaturesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listFeatures, ListFeaturesResponse::getFeatures, @@ -158,7 +158,7 @@ public Iterable listFeatures(ListFeaturesRequest request) { * under the entire metastore. Only the creator of the Kafka config can delete it. */ public Iterable listKafkaConfigs(ListKafkaConfigsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listKafkaConfigs, ListKafkaConfigsResponse::getKafkaConfigs, @@ -174,7 +174,7 @@ public Iterable listKafkaConfigs(ListKafkaConfigsRequest request) { /** List materialized features. */ public Iterable listMaterializedFeatures( ListMaterializedFeaturesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listMaterializedFeatures, ListMaterializedFeaturesResponse::getMaterializedFeatures, @@ -189,7 +189,7 @@ public Iterable listMaterializedFeatures( /** List Streams under a given catalog.schema parent. */ public Iterable listStreams(ListStreamsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listStreams, ListStreamsResponse::getStreams, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureStoreAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureStoreAPI.java index b287ef956..06d49bfc8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureStoreAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/FeatureStoreAPI.java @@ -65,7 +65,7 @@ public OnlineStore getOnlineStore(GetOnlineStoreRequest request) { /** List Online Feature Stores. */ public Iterable listOnlineStores(ListOnlineStoresRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listOnlineStores, ListOnlineStoresResponse::getOnlineStores, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeaturesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeaturesAPI.java index 5cd8ff588..a9d099283 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeaturesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/MaterializedFeaturesAPI.java @@ -72,7 +72,7 @@ public Iterable listFeatureTags(String tableName, String featureName /** Lists FeatureTags. */ public Iterable listFeatureTags(ListFeatureTagsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listFeatureTags, ListFeatureTagsResponse::getFeatureTags, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelRegistryAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelRegistryAPI.java index 7b6874526..e11d5c861 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelRegistryAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/ml/ModelRegistryAPI.java @@ -143,7 +143,7 @@ public void deleteWebhook(DeleteWebhookRequest request) { /** Gets the latest version of a registered model. */ public Iterable getLatestVersions(GetLatestVersionsRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::getLatestVersions, GetLatestVersionsResponse::getModelVersions, @@ -212,7 +212,7 @@ public RegisteredModelPermissions getPermissions(GetRegisteredModelPermissionsRe /** Lists all available registered models, up to the limit specified in __max_results__. */ public Iterable listModels(ListModelsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listModels, ListModelsResponse::getRegisteredModels, @@ -232,7 +232,7 @@ public Iterable listTransitionRequests(String name, String version) { /** Gets a list of all open stage transition requests for the model version. */ public Iterable listTransitionRequests(ListTransitionRequestsRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::listTransitionRequests, ListTransitionRequestsResponse::getRequests, @@ -241,7 +241,7 @@ public Iterable listTransitionRequests(ListTransitionRequestsRequest r /** **NOTE:** This endpoint is in Public Preview. Lists all registry webhooks. */ public Iterable listWebhooks(ListWebhooksRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listWebhooks, ListRegistryWebhooks::getWebhooks, @@ -266,7 +266,7 @@ public RenameModelResponse renameModel(RenameModelRequest request) { /** Searches for specific model versions based on the supplied __filter__. */ public Iterable searchModelVersions(SearchModelVersionsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::searchModelVersions, SearchModelVersionsResponse::getModelVersions, @@ -281,7 +281,7 @@ public Iterable searchModelVersions(SearchModelVersionsRequest req /** Search for registered models based on the specified __filter__. */ public Iterable searchModels(SearchModelsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::searchModels, SearchModelsResponse::getRegisteredModels, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java index d0ce9c4de..01fb89b18 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/networking/EndpointsAPI.java @@ -66,7 +66,7 @@ public Iterable listEndpoints(String parent) { /** Lists all network connectivity endpoints for the account. */ public Iterable listEndpoints(ListEndpointsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listEndpoints, ListEndpointsResponse::getItems, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/AccountFederationPolicyAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/AccountFederationPolicyAPI.java index c58b62a87..a736a0e3a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/AccountFederationPolicyAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/AccountFederationPolicyAPI.java @@ -91,7 +91,7 @@ public FederationPolicy get(GetAccountFederationPolicyRequest request) { /** List account federation policies. */ public Iterable list(ListAccountFederationPoliciesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListFederationPoliciesResponse::getPolicies, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/CustomAppIntegrationAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/CustomAppIntegrationAPI.java index 80df61c41..ecdba7ce3 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/CustomAppIntegrationAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/CustomAppIntegrationAPI.java @@ -59,7 +59,7 @@ public GetCustomAppIntegrationOutput get(GetCustomAppIntegrationRequest request) /** Get the list of custom OAuth app integrations for the specified Databricks account */ public Iterable list(ListCustomAppIntegrationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, GetCustomAppIntegrationsOutput::getApps, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/OAuthPublishedAppsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/OAuthPublishedAppsAPI.java index ea7a3ca69..203f35e2a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/OAuthPublishedAppsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/OAuthPublishedAppsAPI.java @@ -30,7 +30,7 @@ public OAuthPublishedAppsAPI(OAuthPublishedAppsService mock) { /** Get all the available published OAuth apps in Databricks. */ public Iterable list(ListOAuthPublishedAppsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, GetPublishedAppsOutput::getApps, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/PublishedAppIntegrationAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/PublishedAppIntegrationAPI.java index 631b40b47..88514bdfc 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/PublishedAppIntegrationAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/PublishedAppIntegrationAPI.java @@ -62,7 +62,7 @@ public GetPublishedAppIntegrationOutput get(GetPublishedAppIntegrationRequest re /** Get the list of published OAuth app integrations for the specified Databricks account */ public Iterable list( ListPublishedAppIntegrationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, GetPublishedAppIntegrationsOutput::getApps, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalFederationPolicyAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalFederationPolicyAPI.java index 2a5362945..865906a9c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalFederationPolicyAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalFederationPolicyAPI.java @@ -106,7 +106,7 @@ public Iterable list(long servicePrincipalId) { /** List account federation policies. */ public Iterable list(ListServicePrincipalFederationPoliciesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListFederationPoliciesResponse::getPolicies, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsAPI.java index d7ad47258..01125bb3f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsAPI.java @@ -64,7 +64,7 @@ public Iterable list(String servicePrincipalId) { * information about the secrets themselves and does not include the secret values. */ public Iterable list(ListServicePrincipalSecretsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListServicePrincipalSecretsResponse::getSecrets, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsProxyAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsProxyAPI.java index 5085fd7c1..f6ed62a76 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsProxyAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/oauth2/ServicePrincipalSecretsProxyAPI.java @@ -65,7 +65,7 @@ public Iterable list(String servicePrincipalId) { * information about the secrets themselves and does not include the secret values. */ public Iterable list(ListServicePrincipalSecretsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListServicePrincipalSecretsResponse::getSecrets, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/PipelinesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/PipelinesAPI.java index fcd0623fe..e8871d17c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/PipelinesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/PipelinesAPI.java @@ -172,7 +172,7 @@ public Iterable listPipelineEvents(String pipelineId) { /** Retrieves events for a pipeline. */ public Iterable listPipelineEvents(ListPipelineEventsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listPipelineEvents, ListPipelineEventsResponse::getEvents, @@ -187,7 +187,7 @@ public Iterable listPipelineEvents(ListPipelineEventsRequest requ /** Lists pipelines defined in the Spark Declarative Pipelines system. */ public Iterable listPipelines(ListPipelinesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listPipelines, ListPipelinesResponse::getStatuses, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java index 255b88164..9db4ad53c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/postgres/PostgresAPI.java @@ -245,7 +245,7 @@ public Iterable listBranches(String parent) { /** Returns a paginated list of database branches in the project. */ public Iterable listBranches(ListBranchesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listBranches, ListBranchesResponse::getBranches, @@ -264,7 +264,7 @@ public Iterable listDatabases(String parent) { /** List Databases. */ public Iterable listDatabases(ListDatabasesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDatabases, ListDatabasesResponse::getDatabases, @@ -283,7 +283,7 @@ public Iterable listEndpoints(String parent) { /** Returns a paginated list of compute endpoints in the branch. */ public Iterable listEndpoints(ListEndpointsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listEndpoints, ListEndpointsResponse::getEndpoints, @@ -301,7 +301,7 @@ public Iterable listEndpoints(ListEndpointsRequest request) { * access. */ public Iterable listProjects(ListProjectsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listProjects, ListProjectsResponse::getProjects, @@ -320,7 +320,7 @@ public Iterable listRoles(String parent) { /** Returns a paginated list of Postgres roles in the branch. */ public Iterable listRoles(ListRolesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listRoles, ListRolesResponse::getRoles, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/qualitymonitorv2/QualityMonitorV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/qualitymonitorv2/QualityMonitorV2API.java index 29f476ab8..11c987ebf 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/qualitymonitorv2/QualityMonitorV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/qualitymonitorv2/QualityMonitorV2API.java @@ -66,7 +66,7 @@ public QualityMonitor getQualityMonitor(GetQualityMonitorRequest request) { * (Unimplemented) List quality monitors. */ public Iterable listQualityMonitor(ListQualityMonitorRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listQualityMonitor, ListQualityMonitorResponse::getQualityMonitors, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsAPI.java index a57e9b817..d795e1294 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/serving/ServingEndpointsAPI.java @@ -193,7 +193,7 @@ public HttpRequestResponse httpRequest(ExternalFunctionRequest request) { /** Get all serving endpoints. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), ListEndpointsResponse::getEndpoints, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpAccessListsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpAccessListsAPI.java index 089ee1fbe..d36c9ef75 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpAccessListsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/AccountIpAccessListsAPI.java @@ -84,7 +84,7 @@ public GetIpAccessListResponse get(GetAccountIpAccessListRequest request) { /** Gets all IP access lists for the specified account. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), GetIpAccessListsResponse::getIpAccessLists, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/IpAccessListsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/IpAccessListsAPI.java index c012a0328..38601cfbc 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/IpAccessListsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/IpAccessListsAPI.java @@ -84,7 +84,7 @@ public FetchIpAccessListResponse get(GetIpAccessListRequest request) { /** Gets all IP access lists for the specified workspace. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), ListIpAccessListResponse::getIpAccessLists, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkConnectivityAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkConnectivityAPI.java index d8c648128..cf8d0d1ed 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkConnectivityAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkConnectivityAPI.java @@ -131,7 +131,7 @@ public NccPrivateEndpointRule getPrivateEndpointRule(GetPrivateEndpointRuleReque /** Gets an array of network connectivity configurations. */ public Iterable listNetworkConnectivityConfigurations( ListNetworkConnectivityConfigurationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listNetworkConnectivityConfigurations, ListNetworkConnectivityConfigurationsResponse::getItems, @@ -154,7 +154,7 @@ public Iterable listPrivateEndpointRules( /** Gets an array of private endpoint rules. */ public Iterable listPrivateEndpointRules( ListPrivateEndpointRulesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listPrivateEndpointRules, ListPrivateEndpointRulesResponse::getItems, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesAPI.java index c733b9761..4ea333f32 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NetworkPoliciesAPI.java @@ -59,7 +59,7 @@ public AccountNetworkPolicy getNetworkPolicyRpc(GetNetworkPolicyRequest request) /** Gets an array of network policies. */ public Iterable listNetworkPoliciesRpc(ListNetworkPoliciesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listNetworkPoliciesRpc, ListNetworkPoliciesResponse::getItems, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NotificationDestinationsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NotificationDestinationsAPI.java index a19d242cb..db48f0cd2 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NotificationDestinationsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/NotificationDestinationsAPI.java @@ -55,7 +55,7 @@ public NotificationDestination get(GetNotificationDestinationRequest request) { /** Lists notification destinations. */ public Iterable list( ListNotificationDestinationsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListNotificationDestinationsResponse::getResults, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokenManagementAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokenManagementAPI.java index becfa549a..25b39a34b 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokenManagementAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokenManagementAPI.java @@ -62,7 +62,7 @@ public TokenPermissions getPermissions() { /** Lists all tokens associated with the specified workspace or user. */ public Iterable list(ListTokenManagementRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListTokensResponse::getTokenInfos, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokensAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokensAPI.java index 2541b65df..3714ede4f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokensAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/TokensAPI.java @@ -52,7 +52,7 @@ public void delete(RevokeTokenRequest request) { /** Lists all the valid tokens for a user-workspace pair. */ public Iterable list() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.list(), ListPublicTokensResponse::getTokenInfos, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/AccountSettingsV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/AccountSettingsV2API.java index 75a78f4dd..004d81d83 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/AccountSettingsV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/AccountSettingsV2API.java @@ -59,7 +59,7 @@ public UserPreference getPublicAccountUserPreference( */ public Iterable listAccountSettingsMetadata( ListAccountSettingsMetadataRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listAccountSettingsMetadata, ListAccountSettingsMetadataResponse::getSettingsMetadata, @@ -86,7 +86,7 @@ public Iterable listAccountUserPreferencesMetadata(String user */ public Iterable listAccountUserPreferencesMetadata( ListAccountUserPreferencesMetadataRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listAccountUserPreferencesMetadata, ListAccountUserPreferencesMetadataResponse::getSettingsMetadata, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/WorkspaceSettingsV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/WorkspaceSettingsV2API.java index 511c84287..8f1a5d3f0 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/WorkspaceSettingsV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settingsv2/WorkspaceSettingsV2API.java @@ -43,7 +43,7 @@ public Setting getPublicWorkspaceSetting(GetPublicWorkspaceSettingRequest reques */ public Iterable listWorkspaceSettingsMetadata( ListWorkspaceSettingsMetadataRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listWorkspaceSettingsMetadata, ListWorkspaceSettingsMetadataResponse::getSettingsMetadata, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ProvidersAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ProvidersAPI.java index cc1972490..cffc86ce8 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ProvidersAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/ProvidersAPI.java @@ -71,7 +71,7 @@ public Iterable list(ListProvidersRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListProvidersResponse::getProviders, @@ -113,7 +113,7 @@ public Iterable listShares(ListSharesRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listShares, ListProviderSharesResponse::getShares, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesAPI.java index 0f588f8fb..e8ffa78df 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientFederationPoliciesAPI.java @@ -107,7 +107,7 @@ public Iterable list(String recipientName) { * non-Databricks recipients. The caller must have read access to the recipient. */ public Iterable list(ListFederationPoliciesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListFederationPoliciesResponse::getPolicies, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientsAPI.java index 461bcbce9..b126970f4 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/RecipientsAPI.java @@ -83,7 +83,7 @@ public Iterable list(ListRecipientsRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListRecipientsResponse::getRecipients, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesAPI.java index d28c6c73d..9b1e9290f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesAPI.java @@ -66,7 +66,7 @@ public Iterable listShares(SharesListRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listShares, ListSharesResponse::getShares, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesExtAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesExtAPI.java index 0c62ff999..f9c85971f 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesExtAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sharing/SharesExtAPI.java @@ -29,7 +29,7 @@ public Iterable list(ListSharesRequest request) { if (request.getMaxResults() == null) { request.setMaxResults(0L); } - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListSharesResponse::getShares, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsAPI.java index c9c2383d0..a41e2c455 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsAPI.java @@ -62,7 +62,7 @@ public Alert get(GetAlertRequest request) { * temporary ban. */ public Iterable list(ListAlertsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListAlertsResponse::getResults, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsV2API.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsV2API.java index 512e3bc41..3659424f2 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsV2API.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/AlertsV2API.java @@ -40,7 +40,7 @@ public AlertV2 getAlert(GetAlertV2Request request) { /** Gets a list of alerts accessible to the user, ordered by creation time. */ public Iterable listAlerts(ListAlertsV2Request request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listAlerts, ListAlertsV2Response::getAlerts, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/DashboardsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/DashboardsAPI.java index 379e235eb..8eac94418 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/DashboardsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/DashboardsAPI.java @@ -81,7 +81,7 @@ public Dashboard get(GetDashboardRequest request) { */ public Iterable list(ListDashboardsRequest request) { request.setPage(1L); - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListResponse::getResults, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesAPI.java index ddecdebb5..f44bdee1d 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesAPI.java @@ -62,7 +62,7 @@ public Query get(GetQueryRequest request) { * temporary ban. */ public Iterable list(ListQueriesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListQueryObjectsResponse::getResults, @@ -81,7 +81,7 @@ public Iterable listVisualizations(String id) { /** Gets a list of visualizations on a query. */ public Iterable listVisualizations(ListVisualizationsForQueryRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listVisualizations, ListVisualizationsForQueryResponse::getResults, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesLegacyAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesLegacyAPI.java index 1f457a1e3..61854673c 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesLegacyAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/QueriesLegacyAPI.java @@ -95,7 +95,7 @@ public LegacyQuery get(GetQueriesLegacyRequest request) { */ public Iterable list(ListQueriesLegacyRequest request) { request.setPage(1L); - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, QueryList::getResults, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehousesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehousesAPI.java index 84ade8bd8..dbe33d02a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehousesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WarehousesAPI.java @@ -224,7 +224,7 @@ public GetWorkspaceWarehouseConfigResponse getWorkspaceWarehouseConfig() { /** Lists all SQL warehouses that a user has access to. */ public Iterable list(ListWarehousesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListWarehousesResponse::getWarehouses, @@ -243,7 +243,7 @@ public Iterable list(ListWarehousesRequest request) { */ public Iterable listDefaultWarehouseOverrides( ListDefaultWarehouseOverridesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listDefaultWarehouseOverrides, ListDefaultWarehouseOverridesResponse::getDefaultWarehouseOverrides, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java index 802f45176..1092951e2 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java @@ -129,7 +129,7 @@ public Iterable listExamples(String parent) { /** Lists examples under a Supervisor Agent. */ public Iterable listExamples(ListExamplesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listExamples, ListExamplesResponse::getExamples, @@ -144,7 +144,7 @@ public Iterable listExamples(ListExamplesRequest request) { /** Lists Supervisor Agents. */ public Iterable listSupervisorAgents(ListSupervisorAgentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listSupervisorAgents, ListSupervisorAgentsResponse::getSupervisorAgents, @@ -163,7 +163,7 @@ public Iterable listTools(String parent) { /** Lists Tools under a Supervisor Agent. */ public Iterable listTools(ListToolsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listTools, ListToolsResponse::getTools, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagPoliciesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagPoliciesAPI.java index 7760a0f3e..fdc01e4b4 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagPoliciesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/TagPoliciesAPI.java @@ -91,7 +91,7 @@ public TagPolicy getTagPolicy(GetTagPolicyRequest request) { * https://registry.terraform.io/providers/databricks/databricks/latest/docs/data-sources/tag_policies */ public Iterable listTagPolicies(ListTagPoliciesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listTagPolicies, ListTagPoliciesResponse::getTagPolicies, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/WorkspaceEntityTagAssignmentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/WorkspaceEntityTagAssignmentsAPI.java index 52dd4cf54..24c0947ed 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/WorkspaceEntityTagAssignmentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/tags/WorkspaceEntityTagAssignmentsAPI.java @@ -62,7 +62,7 @@ public Iterable listTagAssignments(String entityType, String enti /** List the tag assignments for an entity */ public Iterable listTagAssignments(ListTagAssignmentsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listTagAssignments, ListTagAssignmentsResponse::getTagAssignments, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java index 8b8e75268..35b0ff858 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchEndpointsAPI.java @@ -133,7 +133,7 @@ public VectorSearchEndpointPermissions getPermissions( /** List all AI Search endpoints in the workspace. */ public Iterable listEndpoints(ListEndpointsRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listEndpoints, ListEndpointResponse::getEndpoints, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchIndexesAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchIndexesAPI.java index 46694fe0a..4b33adc17 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchIndexesAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/vectorsearch/VectorSearchIndexesAPI.java @@ -71,7 +71,7 @@ public Iterable listIndexes(String endpointName) { /** List all indexes in the given endpoint. */ public Iterable listIndexes(ListIndexesRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::listIndexes, ListVectorIndexesResponse::getVectorIndexes, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GitCredentialsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GitCredentialsAPI.java index 4b4dece25..07f0d9af3 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GitCredentialsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/GitCredentialsAPI.java @@ -58,7 +58,7 @@ public GetCredentialsResponse get(GetCredentialsRequest request) { /** Lists the calling user's Git credentials. */ public Iterable list(ListCredentialsRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::list, ListCredentialsResponse::getCredentials, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/ReposAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/ReposAPI.java index d3b32b12c..ca8395897 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/ReposAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/ReposAPI.java @@ -86,7 +86,7 @@ public RepoPermissions getPermissions(GetRepoPermissionsRequest request) { * through additional pages. */ public Iterable list(ListReposRequest request) { - return new Paginator<>( + return Paginator.newTokenPagination( request, impl::list, ListReposResponse::getRepos, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/SecretsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/SecretsAPI.java index 7fdee8987..a87b05966 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/SecretsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/SecretsAPI.java @@ -209,7 +209,8 @@ public Iterable listAcls(String scope) { * ``PERMISSION_DENIED`` if the user does not have permission to make this API call. */ public Iterable listAcls(ListAclsRequest request) { - return new Paginator<>(request, impl::listAcls, ListAclsResponse::getItems, response -> null); + return Paginator.newOffsetPagination( + request, impl::listAcls, ListAclsResponse::getItems, response -> null); } /** @@ -225,7 +226,7 @@ public Iterable listAcls(ListAclsRequest request) { *

Throws ``PERMISSION_DENIED`` if the user does not have permission to make this API call. */ public Iterable listScopes() { - return new Paginator<>( + return Paginator.newOffsetPagination( null, (Void v) -> impl.listScopes(), ListScopesResponse::getScopes, response -> null); } @@ -250,7 +251,7 @@ public Iterable listSecrets(String scope) { * ``PERMISSION_DENIED`` if the user does not have permission to make this API call. */ public Iterable listSecrets(ListSecretsRequest request) { - return new Paginator<>( + return Paginator.newOffsetPagination( request, impl::listSecrets, ListSecretsResponse::getSecrets, response -> null); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/WorkspaceAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/WorkspaceAPI.java index 67791f47e..58effc566 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/WorkspaceAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/workspace/WorkspaceAPI.java @@ -121,7 +121,8 @@ public Iterable list(String path) { * does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`. */ public Iterable list(ListWorkspaceRequest request) { - return new Paginator<>(request, impl::list, ListResponse::getObjects, response -> null); + return Paginator.newOffsetPagination( + request, impl::list, ListResponse::getObjects, response -> null); } public void mkdirs(String path) { diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/support/Paginator.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/support/Paginator.java index 47694813c..e82623b2e 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/support/Paginator.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/support/Paginator.java @@ -7,6 +7,11 @@ /** * Consistent pagination support for all APIs * + *

Databricks APIs use two pagination strategies. Token-based APIs may return an empty page that + * still carries a {@code next_page_token}, so iteration must continue until {@code nextPageFn} + * returns null ({@link #newTokenPagination}). Offset/limit APIs (SCIM, legacy SQL) carry no token + * and stop on the first empty page ({@link #newOffsetPagination}). + * * @param request type * @param response type * @param item type @@ -15,22 +20,54 @@ public class Paginator implements Iterable { private final Function requestFn; private final Function> itemsFn; private final Function nextPageFn; + private final boolean tokenBasedPagination; private RS response; private Iterator currentPage; private Iterator all; /** - * Repeatedly call `requestFn` until `nextPageFn` returns non-null result. + * Creates a paginator for token-based APIs, which continue past empty pages until {@code + * nextPageFn} returns null. * *

Example: - * return new Paginator<>(request, impl::listRuns, ListRunsResponse::getRuns, response -> { - * Long offset = request.getOffset(); - * if (offset == null) { - * offset = 0L; - * } - * offset += response.getRuns().size(); - * return request.setOffset(offset); - * }).withDedupe(BaseRun::getRunId); + * return Paginator.newTokenPagination(request, impl::list, ListTablesResponse::getTables, + * response -> { + * String token = response.getNextPageToken(); + * if (token == null || token.isEmpty()) { + * return null; + * } + * return request.setPageToken(token); + * }); + * + * + * @param request initial request to `requestFn` implementation, possibly with filters. + * @param requestFn implementation of request, that takes modified `request` and returns some + * results. + * @param itemsFn reference to the getter method, that returns `Collection` of results. + * @param nextPageFn return non-null request in case we need to fetch another page of results, + * null once the page token is absent. + */ + public static Paginator newTokenPagination( + RQ request, + Function requestFn, + Function> itemsFn, + Function nextPageFn) { + return new Paginator<>(request, requestFn, itemsFn, nextPageFn, true); + } + + /** + * Creates a paginator for offset/limit-based APIs, which stop on the first empty page. + * + *

Example: + * return Paginator.newOffsetPagination(request, impl::listRuns, ListRunsResponse::getRuns, + * response -> { + * Long offset = request.getOffset(); + * if (offset == null) { + * offset = 0L; + * } + * offset += response.getRuns().size(); + * return request.setOffset(offset); + * }).withDedupe(BaseRun::getRunId); * * * @param request initial request to `requestFn` implementation, possibly with filters. @@ -39,14 +76,46 @@ public class Paginator implements Iterable { * @param itemsFn reference to the getter method, that returns `Collection` of results. * @param nextPageFn return non-null request in case we need to fetch another page of results. */ + public static Paginator newOffsetPagination( + RQ request, + Function requestFn, + Function> itemsFn, + Function nextPageFn) { + return new Paginator<>(request, requestFn, itemsFn, nextPageFn, false); + } + + /** + * Repeatedly call `requestFn` until `nextPageFn` returns a null result. Uses offset/limit + * semantics: iteration stops on the first empty page. + * + * @deprecated Use {@link #newTokenPagination} or {@link #newOffsetPagination} instead, which make + * the pagination strategy explicit. Token-based APIs must use {@link #newTokenPagination} to + * avoid stopping early on an empty page that still carries a next-page token. + * @param request initial request to `requestFn` implementation, possibly with filters. + * @param requestFn implementation of request, that takes modified `request` and returns some + * results. + * @param itemsFn reference to the getter method, that returns `Collection` of results. + * @param nextPageFn return non-null request in case we need to fetch another page of results. + */ + @Deprecated public Paginator( RQ request, Function requestFn, Function> itemsFn, Function nextPageFn) { + this(request, requestFn, itemsFn, nextPageFn, false); + } + + private Paginator( + RQ request, + Function requestFn, + Function> itemsFn, + Function nextPageFn, + boolean tokenBasedPagination) { this.requestFn = requestFn; this.itemsFn = itemsFn; this.nextPageFn = nextPageFn; + this.tokenBasedPagination = tokenBasedPagination; all = outerIterator(); flipNextPage(request, true); } @@ -64,6 +133,12 @@ private boolean flipNextPage(RQ request, boolean firstRequest) { return false; } currentPage = results.iterator(); + // Token-based pagination may return an empty page that still carries a next_page_token, so + // advance to the next page (nextPageFn returns null once the token is absent) rather than + // treating an empty page as the end of results. + if (tokenBasedPagination && !currentPage.hasNext()) { + return flipNextPage(nextPageFn.apply(response), false); + } return currentPage.hasNext(); } diff --git a/databricks-sdk-java/src/test/java/com/databricks/sdk/support/PaginatorTest.java b/databricks-sdk-java/src/test/java/com/databricks/sdk/support/PaginatorTest.java new file mode 100644 index 000000000..bdf35a86c --- /dev/null +++ b/databricks-sdk-java/src/test/java/com/databricks/sdk/support/PaginatorTest.java @@ -0,0 +1,112 @@ +package com.databricks.sdk.support; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.jupiter.api.Test; + +public class PaginatorTest { + + /** Mutable request, mirroring the generated request types (setters return {@code this}). */ + private static class Req { + String token; + int offset; + + Req() {} + + Req(String token) { + this.token = token; + } + + Req setToken(String token) { + this.token = token; + return this; + } + + Req setOffset(int offset) { + this.offset = offset; + return this; + } + } + + private static class Resp { + final List items; + final String nextToken; + + Resp(List items, String nextToken) { + this.items = items; + this.nextToken = nextToken; + } + } + + private static List drain(Iterable it) { + List out = new ArrayList<>(); + for (String s : it) { + out.add(s); + } + return out; + } + + /** Regression test for DECO-27280: empty leading pages with a token must not end iteration. */ + @Test + public void tokenPaginationWalksPastEmptyLeadingPages() { + Map pages = new HashMap<>(); + pages.put(null, new Resp(Collections.emptyList(), "t1")); + pages.put("t1", new Resp(Collections.emptyList(), "t2")); + pages.put("t2", new Resp(Arrays.asList("A", "B"), null)); + + Paginator p = + Paginator.newTokenPagination( + new Req(), + req -> pages.get(req.token), + resp -> resp.items, + resp -> resp.nextToken == null ? null : new Req(resp.nextToken)); + + assertEquals(Arrays.asList("A", "B"), drain(p)); + } + + /** Empty pages interleaved between non-empty pages must not truncate the results. */ + @Test + public void tokenPaginationWalksPastEmptyIntermediatePages() { + Map pages = new HashMap<>(); + pages.put(null, new Resp(Collections.singletonList("A"), "t1")); + pages.put("t1", new Resp(Collections.emptyList(), "t2")); + pages.put("t2", new Resp(Collections.singletonList("B"), null)); + + Paginator p = + Paginator.newTokenPagination( + new Req(), + req -> pages.get(req.token), + resp -> resp.items, + resp -> resp.nextToken == null ? null : new Req(resp.nextToken)); + + assertEquals(Arrays.asList("A", "B"), drain(p)); + } + + /** + * Offset pagination must still stop at the first empty page, even though its nextPageFn never + * returns null. Otherwise it would loop forever re-requesting incremented offsets. + */ + @Test + public void offsetPaginationStopsOnEmptyPage() { + Map pages = new HashMap<>(); + pages.put(0, new Resp(Arrays.asList("A", "B"), null)); + pages.put(2, new Resp(Collections.singletonList("C"), null)); + pages.put(3, new Resp(Collections.emptyList(), null)); + + Req request = new Req(); + Paginator p = + Paginator.newOffsetPagination( + request, + req -> pages.get(req.offset), + resp -> resp.items, + resp -> request.setOffset(request.offset + resp.items.size())); + + assertEquals(Arrays.asList("A", "B", "C"), drain(p)); + } +}