From 8a369f5e279c66024658d5e4ba4c066d342f8551 Mon Sep 17 00:00:00 2001 From: JinmingHu Date: Tue, 27 Apr 2021 13:32:57 +0800 Subject: [PATCH] use Core::PagedResponse (#2158) * use Core::PagedResponse * null if continuation token is empty --- sdk/storage/azure-storage-blobs/CHANGELOG.md | 3 ++ .../azure/storage/blobs/blob_responses.hpp | 18 ++++--- .../src/blob_container_client.cpp | 4 +- .../src/blob_service_client.cpp | 4 +- .../test/ut/append_blob_client_test.cpp | 4 +- .../test/ut/blob_container_client_test.cpp | 12 ++--- .../test/ut/blob_service_client_test.cpp | 9 ++-- .../test/ut/block_blob_client_test.cpp | 8 ++-- .../test/ut/page_blob_client_test.cpp | 6 +-- sdk/storage/azure-storage-common/CHANGELOG.md | 1 + .../azure-storage-common/CMakeLists.txt | 1 - .../azure/storage/common/paged_response.hpp | 47 ------------------- .../azure-storage-files-datalake/CHANGELOG.md | 3 ++ .../files/datalake/datalake_responses.hpp | 5 +- .../src/datalake_directory_client.cpp | 2 +- .../src/datalake_file_system_client.cpp | 2 +- .../src/datalake_responses.cpp | 2 +- .../test/datalake_file_system_client_test.cpp | 5 +- .../test/datalake_service_client_test.cpp | 3 +- .../azure-storage-files-shares/CHANGELOG.md | 3 ++ .../storage/files/shares/share_responses.hpp | 11 +++-- .../src/share_directory_client.cpp | 4 +- .../src/share_file_client.cpp | 2 +- .../src/share_service_client.cpp | 2 +- .../test/share_client_test.cpp | 4 +- .../test/share_directory_client_test.cpp | 7 ++- .../test/share_file_client_test.cpp | 4 +- .../test/share_service_client_test.cpp | 2 +- 28 files changed, 70 insertions(+), 108 deletions(-) delete mode 100644 sdk/storage/azure-storage-common/inc/azure/storage/common/paged_response.hpp diff --git a/sdk/storage/azure-storage-blobs/CHANGELOG.md b/sdk/storage/azure-storage-blobs/CHANGELOG.md index 8ff12ca77..09c374db7 100644 --- a/sdk/storage/azure-storage-blobs/CHANGELOG.md +++ b/sdk/storage/azure-storage-blobs/CHANGELOG.md @@ -2,6 +2,9 @@ ## 12.0.0-beta.11 (Unreleased) +### Breaking Changes + +- Renamed `HasMorePages()` in paged response to `HasPage()`. ## 12.0.0-beta.10 (2021-04-16) diff --git a/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_responses.hpp b/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_responses.hpp index c6e841a06..fae6c69dd 100644 --- a/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_responses.hpp +++ b/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/blob_responses.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include "azure/storage/blobs/blob_options.hpp" #include "azure/storage/blobs/protocol/blob_rest_client.hpp" @@ -118,7 +118,8 @@ namespace Azure { namespace Storage { friend class Blobs::PageBlobClient; }; - class ListBlobContainersPagedResponse : public PagedResponse { + class ListBlobContainersPagedResponse + : public Azure::Core::PagedResponse { public: std::string ServiceEndpoint; std::string Prefix; @@ -135,7 +136,8 @@ namespace Azure { namespace Storage { friend class Files::DataLake::ListFileSystemsPagedResponse; }; - class FindBlobsByTagsPagedResponse : public PagedResponse { + class FindBlobsByTagsPagedResponse + : public Azure::Core::PagedResponse { public: std::string ServiceEndpoint; std::vector TaggedBlobs; @@ -151,7 +153,7 @@ namespace Azure { namespace Storage { friend class PagedResponse; }; - class ListBlobsPagedResponse : public PagedResponse { + class ListBlobsPagedResponse : public Azure::Core::PagedResponse { public: std::string ServiceEndpoint; std::string BlobContainerName; @@ -169,7 +171,7 @@ namespace Azure { namespace Storage { }; class ListBlobsByHierarchyPagedResponse - : public PagedResponse { + : public Azure::Core::PagedResponse { public: std::string ServiceEndpoint; std::string BlobContainerName; @@ -189,7 +191,8 @@ namespace Azure { namespace Storage { friend class PagedResponse; }; - class GetPageRangesPagedResponse : public PagedResponse { + class GetPageRangesPagedResponse + : public Azure::Core::PagedResponse { public: Azure::ETag ETag; Azure::DateTime LastModified; @@ -206,7 +209,8 @@ namespace Azure { namespace Storage { friend class PagedResponse; }; - class GetPageRangesDiffPagedResponse : public PagedResponse { + class GetPageRangesDiffPagedResponse + : public Azure::Core::PagedResponse { public: Azure::ETag ETag; Azure::DateTime LastModified; diff --git a/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp b/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp index d438764b6..71c2b0414 100644 --- a/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp +++ b/sdk/storage/azure-storage-blobs/src/blob_container_client.cpp @@ -270,7 +270,7 @@ namespace Azure { namespace Storage { namespace Blobs { pagedResponse.m_blobContainerClient = std::make_shared(*this); pagedResponse.m_operationOptions = options; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; @@ -323,7 +323,7 @@ namespace Azure { namespace Storage { namespace Blobs { pagedResponse.m_operationOptions = options; pagedResponse.m_delimiter = delimiter; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; diff --git a/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp b/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp index a223b6be5..bc976f38a 100644 --- a/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp +++ b/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp @@ -138,7 +138,7 @@ namespace Azure { namespace Storage { namespace Blobs { pagedResponse.m_blobServiceClient = std::make_shared(*this); pagedResponse.m_operationOptions = options; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; @@ -220,7 +220,7 @@ namespace Azure { namespace Storage { namespace Blobs { pagedResponse.m_operationOptions = options; pagedResponse.m_tagFilterSqlExpression = tagFilterSqlExpression; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; diff --git a/sdk/storage/azure-storage-blobs/test/ut/append_blob_client_test.cpp b/sdk/storage/azure-storage-blobs/test/ut/append_blob_client_test.cpp index b11a62c4c..bbc8c2d49 100644 --- a/sdk/storage/azure-storage-blobs/test/ut/append_blob_client_test.cpp +++ b/sdk/storage/azure-storage-blobs/test/ut/append_blob_client_test.cpp @@ -279,7 +279,7 @@ namespace Azure { namespace Storage { namespace Test { Azure::Storage::Blobs::ListBlobsOptions options; options.Prefix = blobName; - for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasMorePages(); + for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasPage(); pageResponse.MoveToNextPage()) { for (const auto& blob : pageResponse.Blobs) @@ -310,7 +310,7 @@ namespace Azure { namespace Storage { namespace Test { EXPECT_TRUE(getPropertiesResult.Value.IsSealed.HasValue()); EXPECT_TRUE(getPropertiesResult.Value.IsSealed.Value()); - for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasMorePages(); + for (auto pageResponse = m_blobContainerClient->ListBlobs(options); pageResponse.HasPage(); pageResponse.MoveToNextPage()) { for (const auto& blob : pageResponse.Blobs) diff --git a/sdk/storage/azure-storage-blobs/test/ut/blob_container_client_test.cpp b/sdk/storage/azure-storage-blobs/test/ut/blob_container_client_test.cpp index 68c7e06f0..74126b8ef 100644 --- a/sdk/storage/azure-storage-blobs/test/ut/blob_container_client_test.cpp +++ b/sdk/storage/azure-storage-blobs/test/ut/blob_container_client_test.cpp @@ -162,7 +162,7 @@ namespace Azure { namespace Storage { namespace Test { Azure::Storage::Blobs::ListBlobsOptions options; options.PageSizeHint = 4; std::set listBlobs; - for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages(); + for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty()); @@ -214,7 +214,7 @@ namespace Azure { namespace Storage { namespace Test { options.Prefix = prefix1; listBlobs.clear(); - for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages(); + for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { for (const auto& blob : pageResult.Blobs) @@ -248,7 +248,7 @@ namespace Azure { namespace Storage { namespace Test { options.Prefix = prefix; std::set items; for (auto pageResult = m_blobContainerClient->ListBlobsByHierarchy(delimiter, options); - pageResult.HasMorePages(); + pageResult.HasPage(); pageResult.MoveToNextPage()) { EXPECT_EQ(pageResult.Delimiter, delimiter); @@ -266,7 +266,7 @@ namespace Azure { namespace Storage { namespace Test { { options.Prefix = p + delimiter; for (auto pageResult = m_blobContainerClient->ListBlobsByHierarchy(delimiter, options); - pageResult.HasMorePages(); + pageResult.HasPage(); pageResult.MoveToNextPage()) { EXPECT_EQ(pageResult.Delimiter, delimiter); @@ -307,7 +307,7 @@ namespace Azure { namespace Storage { namespace Test { bool foundDeleted = false; bool foundMetadata = false; - for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages(); + for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { for (const auto& blob : pageResult.Blobs) @@ -730,7 +730,7 @@ namespace Azure { namespace Storage { namespace Test { for (int i = 0; i < 30; ++i) { for (auto pageResult = blobServiceClient.FindBlobsByTags(whereExpression); - pageResult.HasMorePages(); + pageResult.HasPage(); pageResult.MoveToNextPage()) { EXPECT_FALSE(pageResult.ServiceEndpoint.empty()); diff --git a/sdk/storage/azure-storage-blobs/test/ut/blob_service_client_test.cpp b/sdk/storage/azure-storage-blobs/test/ut/blob_service_client_test.cpp index 16baea4ce..73c9e498c 100644 --- a/sdk/storage/azure-storage-blobs/test/ut/blob_service_client_test.cpp +++ b/sdk/storage/azure-storage-blobs/test/ut/blob_service_client_test.cpp @@ -110,8 +110,7 @@ namespace Azure { namespace Storage { namespace Test { Azure::Storage::Blobs::ListBlobContainersOptions options; options.PageSizeHint = 4; std::set listContainers; - for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); - pageResult.HasMorePages(); + for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty()); @@ -132,8 +131,7 @@ namespace Azure { namespace Storage { namespace Test { options.Prefix = prefix1; listContainers.clear(); - for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); - pageResult.HasMorePages(); + for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { EXPECT_FALSE(pageResult.RawResponse->GetHeaders().at(_internal::HttpHeaderRequestId).empty()); @@ -367,8 +365,7 @@ namespace Azure { namespace Storage { namespace Test { Azure::Storage::Blobs::ListBlobContainersOptions options; options.Prefix = containerName; options.Include = Blobs::Models::ListBlobContainersIncludeFlags::Deleted; - for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); - pageResult.HasMorePages(); + for (auto pageResult = m_blobServiceClient.ListBlobContainers(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { for (const auto& container : pageResult.BlobContainers) diff --git a/sdk/storage/azure-storage-blobs/test/ut/block_blob_client_test.cpp b/sdk/storage/azure-storage-blobs/test/ut/block_blob_client_test.cpp index 725ca5130..cbeb96a07 100644 --- a/sdk/storage/azure-storage-blobs/test/ut/block_blob_client_test.cpp +++ b/sdk/storage/azure-storage-blobs/test/ut/block_blob_client_test.cpp @@ -154,7 +154,7 @@ namespace Azure { namespace Storage { namespace Test { Azure::Storage::Blobs::ListBlobsOptions options; options.Prefix = m_blobName; - for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages(); + for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { for (const auto& blob : pageResult.Blobs) @@ -322,7 +322,7 @@ namespace Azure { namespace Storage { namespace Test { Azure::Storage::Blobs::ListBlobsOptions options; options.Prefix = blobName; options.Include = Blobs::Models::ListBlobsIncludeFlags::Versions; - for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages(); + for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { for (const auto& blob : pageResult.Blobs) @@ -976,7 +976,7 @@ namespace Azure { namespace Storage { namespace Test { Azure::Storage::Blobs::ListBlobsOptions options; options.Prefix = blobName; - for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages(); + for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { for (const auto& blob : pageResult.Blobs) @@ -1002,7 +1002,7 @@ namespace Azure { namespace Storage { namespace Test { EXPECT_FALSE(properties.IsAccessTierInferred.Value()); EXPECT_TRUE(properties.AccessTierChangedOn.HasValue()); - for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasMorePages(); + for (auto pageResult = m_blobContainerClient->ListBlobs(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { for (const auto& blob : pageResult.Blobs) diff --git a/sdk/storage/azure-storage-blobs/test/ut/page_blob_client_test.cpp b/sdk/storage/azure-storage-blobs/test/ut/page_blob_client_test.cpp index 65f802d4e..cda8d6b97 100644 --- a/sdk/storage/azure-storage-blobs/test/ut/page_blob_client_test.cpp +++ b/sdk/storage/azure-storage-blobs/test/ut/page_blob_client_test.cpp @@ -100,7 +100,7 @@ namespace Azure { namespace Storage { namespace Test { EXPECT_EQ(ReadBodyStream(downloadContent.Value.BodyStream), blobContent); std::vector pageRanges; - for (auto pageResult = pageBlobClient.GetPageRanges(); pageResult.HasMorePages(); + for (auto pageResult = pageBlobClient.GetPageRanges(); pageResult.HasPage(); pageResult.MoveToNextPage()) { pageRanges.insert( @@ -115,7 +115,7 @@ namespace Azure { namespace Storage { namespace Test { options.Range.Value().Offset = 4_KB; options.Range.Value().Length = 1_KB; pageRanges.clear(); - for (auto pageResult = pageBlobClient.GetPageRanges(options); pageResult.HasMorePages(); + for (auto pageResult = pageBlobClient.GetPageRanges(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { pageRanges.insert( @@ -135,7 +135,7 @@ namespace Azure { namespace Storage { namespace Test { pageRanges.clear(); std::vector clearRanges; - for (auto pageResult = pageBlobClient.GetPageRangesDiff(snapshot); pageResult.HasMorePages(); + for (auto pageResult = pageBlobClient.GetPageRangesDiff(snapshot); pageResult.HasPage(); pageResult.MoveToNextPage()) { pageRanges.insert( diff --git a/sdk/storage/azure-storage-common/CHANGELOG.md b/sdk/storage/azure-storage-common/CHANGELOG.md index 49dddb810..6cb68fc41 100644 --- a/sdk/storage/azure-storage-common/CHANGELOG.md +++ b/sdk/storage/azure-storage-common/CHANGELOG.md @@ -2,6 +2,7 @@ ## 12.0.0-beta.11 (Unreleased) +- Removed `Azure::PagedResponse`. ## 12.0.0-beta.10 (2021-04-16) diff --git a/sdk/storage/azure-storage-common/CMakeLists.txt b/sdk/storage/azure-storage-common/CMakeLists.txt index 285ae93da..fd501a6ab 100644 --- a/sdk/storage/azure-storage-common/CMakeLists.txt +++ b/sdk/storage/azure-storage-common/CMakeLists.txt @@ -38,7 +38,6 @@ set( inc/azure/storage/common/crypt.hpp inc/azure/storage/common/dll_import_export.hpp inc/azure/storage/common/file_io.hpp - inc/azure/storage/common/paged_response.hpp inc/azure/storage/common/reliable_stream.hpp inc/azure/storage/common/shared_key_policy.hpp inc/azure/storage/common/storage_common.hpp diff --git a/sdk/storage/azure-storage-common/inc/azure/storage/common/paged_response.hpp b/sdk/storage/azure-storage-common/inc/azure/storage/common/paged_response.hpp deleted file mode 100644 index 4d2615671..000000000 --- a/sdk/storage/azure-storage-common/inc/azure/storage/common/paged_response.hpp +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// SPDX-License-Identifier: MIT - -#pragma once - -#include -#include - -#include -#include - -namespace Azure { - -template class PagedResponse { -public: - std::string CurrentPageToken; - std::string NextPageToken; - std::unique_ptr RawResponse; - - bool HasMorePages() const { return m_hasMorePages; } - - void MoveToNextPage(const Azure::Core::Context& context = Azure::Core::Context()) - { - static_assert( - std::is_base_of::value, - "The template argument \"Derived\" should derive from PagedResponse."); - - if (NextPageToken.empty()) - { - m_hasMorePages = false; - return; - } - // Developer of Derived class should make sure current page is kept unchanged if OnNextPage() - // throws exception. - static_cast(this)->OnNextPage(context); - } - -protected: - PagedResponse() = default; - PagedResponse(PagedResponse&&) = default; - PagedResponse& operator=(PagedResponse&&) = default; - -private: - bool m_hasMorePages = true; -}; - -} // namespace Azure diff --git a/sdk/storage/azure-storage-files-datalake/CHANGELOG.md b/sdk/storage/azure-storage-files-datalake/CHANGELOG.md index 5b5669ed7..c4d6212bd 100644 --- a/sdk/storage/azure-storage-files-datalake/CHANGELOG.md +++ b/sdk/storage/azure-storage-files-datalake/CHANGELOG.md @@ -2,6 +2,9 @@ ## 12.0.0-beta.11 (Unreleased) +### Breaking Changes + +- Renamed `HasMorePages()` in paged response to `HasPage()`. ## 12.0.0-beta.10 (2021-04-16) diff --git a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp index 3235846c5..a91247050 100644 --- a/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp +++ b/sdk/storage/azure-storage-files-datalake/inc/azure/storage/files/datalake/datalake_responses.hpp @@ -252,7 +252,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { } // namespace Models - class ListFileSystemsPagedResponse : public PagedResponse { + class ListFileSystemsPagedResponse + : public Azure::Core::PagedResponse { public: std::string ServiceEndpoint; std::string Prefix; @@ -268,7 +269,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { friend class PagedResponse; }; - class ListPathsPagedResponse : public PagedResponse { + class ListPathsPagedResponse : public Azure::Core::PagedResponse { public: std::vector Paths; diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp index 05e7f3752..adee25e25 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_directory_client.cpp @@ -246,7 +246,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { pagedResponse.Paths = std::move(response.Value.Items); pagedResponse.m_onNextPageFunc = func; pagedResponse.CurrentPageToken = continuationToken; - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp index c77aae384..4f7fbac3e 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_file_system_client.cpp @@ -292,7 +292,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { pagedResponse.Paths = std::move(response.Value.Items); pagedResponse.m_onNextPageFunc = func; pagedResponse.CurrentPageToken = continuationToken; - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; diff --git a/sdk/storage/azure-storage-files-datalake/src/datalake_responses.cpp b/sdk/storage/azure-storage-files-datalake/src/datalake_responses.cpp index eefc68c45..ddfb5b090 100644 --- a/sdk/storage/azure-storage-files-datalake/src/datalake_responses.cpp +++ b/sdk/storage/azure-storage-files-datalake/src/datalake_responses.cpp @@ -89,7 +89,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { void ListPathsPagedResponse::OnNextPage(const Azure::Core::Context& context) { - *this = m_onNextPageFunc(NextPageToken, context); + *this = m_onNextPageFunc(NextPageToken.Value(), context); } }}}} // namespace Azure::Storage::Files::DataLake diff --git a/sdk/storage/azure-storage-files-datalake/test/datalake_file_system_client_test.cpp b/sdk/storage/azure-storage-files-datalake/test/datalake_file_system_client_test.cpp index 3414614e7..19d2d1f11 100644 --- a/sdk/storage/azure-storage-files-datalake/test/datalake_file_system_client_test.cpp +++ b/sdk/storage/azure-storage-files-datalake/test/datalake_file_system_client_test.cpp @@ -65,7 +65,7 @@ namespace Azure { namespace Storage { namespace Test { if (directory.empty()) { for (auto pageResult = m_fileSystemClient->ListPaths(recursive, options); - pageResult.HasMorePages(); + pageResult.HasPage(); pageResult.MoveToNextPage()) { result.insert(result.end(), pageResult.Paths.begin(), pageResult.Paths.end()); @@ -74,8 +74,7 @@ namespace Azure { namespace Storage { namespace Test { else { auto directoryClient = m_fileSystemClient->GetDirectoryClient(directory); - for (auto pageResult = directoryClient.ListPaths(recursive, options); - pageResult.HasMorePages(); + for (auto pageResult = directoryClient.ListPaths(recursive, options); pageResult.HasPage(); pageResult.MoveToNextPage()) { result.insert(result.end(), pageResult.Paths.begin(), pageResult.Paths.end()); diff --git a/sdk/storage/azure-storage-files-datalake/test/datalake_service_client_test.cpp b/sdk/storage/azure-storage-files-datalake/test/datalake_service_client_test.cpp index 91006c9f4..e97b53426 100644 --- a/sdk/storage/azure-storage-files-datalake/test/datalake_service_client_test.cpp +++ b/sdk/storage/azure-storage-files-datalake/test/datalake_service_client_test.cpp @@ -63,8 +63,7 @@ namespace Azure { namespace Storage { namespace Test { { options.Prefix = prefix; } - for (auto pageResult = m_dataLakeServiceClient->ListFileSystems(options); - pageResult.HasMorePages(); + for (auto pageResult = m_dataLakeServiceClient->ListFileSystems(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { result.insert(result.end(), pageResult.FileSystems.begin(), pageResult.FileSystems.end()); diff --git a/sdk/storage/azure-storage-files-shares/CHANGELOG.md b/sdk/storage/azure-storage-files-shares/CHANGELOG.md index 8afdb5a3f..1128c31d6 100644 --- a/sdk/storage/azure-storage-files-shares/CHANGELOG.md +++ b/sdk/storage/azure-storage-files-shares/CHANGELOG.md @@ -2,6 +2,9 @@ ## 12.0.0-beta.11 (Unreleased) +### Breaking Changes + +- Renamed `HasMorePages()` in paged response to `HasPage()`. ## 12.0.0-beta.10 (2021-04-16) diff --git a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp index da5ac3669..2b265a4d1 100644 --- a/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp +++ b/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_responses.hpp @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include "azure/storage/files/shares/protocol/share_rest_client.hpp" #include "azure/storage/files/shares/share_constants.hpp" @@ -192,7 +192,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { friend class ShareFileClient; }; - class ListSharesPagedResponse : public PagedResponse { + class ListSharesPagedResponse : public Azure::Core::PagedResponse { public: std::string ServiceEndpoint; std::string Prefix; @@ -209,7 +209,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { }; class ListFilesAndDirectoriesPagedResponse - : public PagedResponse { + : public Azure::Core::PagedResponse { public: std::string ServiceEndpoint; std::string ShareName; @@ -229,7 +229,8 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { friend class PagedResponse; }; - class ListFileHandlesPagedResponse : public PagedResponse { + class ListFileHandlesPagedResponse + : public Azure::Core::PagedResponse { public: std::vector FileHandles; @@ -244,7 +245,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { }; class ListDirectoryHandlesPagedResponse - : public PagedResponse { + : public Azure::Core::PagedResponse { public: std::vector DirectoryHandles; diff --git a/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp index ec9984240..0673f354f 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_directory_client.cpp @@ -313,7 +313,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { pagedResponse.m_shareDirectoryClient = std::make_shared(*this); pagedResponse.m_operationOptions = options; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; @@ -339,7 +339,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { pagedResponse.m_shareDirectoryClient = std::make_shared(*this); pagedResponse.m_operationOptions = options; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; diff --git a/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp index 42aa33b59..a96d4d42f 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_file_client.cpp @@ -600,7 +600,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { pagedResponse.m_shareFileClient = std::make_shared(*this); pagedResponse.m_operationOptions = options; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; diff --git a/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp b/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp index 832290b03..510b711e6 100644 --- a/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp +++ b/sdk/storage/azure-storage-files-shares/src/share_service_client.cpp @@ -104,7 +104,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares { pagedResponse.m_shareServiceClient = std::make_shared(*this); pagedResponse.m_operationOptions = options; pagedResponse.CurrentPageToken = options.ContinuationToken.ValueOr(std::string()); - pagedResponse.NextPageToken = response.Value.ContinuationToken.ValueOr(std::string()); + pagedResponse.NextPageToken = response.Value.ContinuationToken; pagedResponse.RawResponse = std::move(response.RawResponse); return pagedResponse; diff --git a/sdk/storage/azure-storage-files-shares/test/share_client_test.cpp b/sdk/storage/azure-storage-files-shares/test/share_client_test.cpp index 88d7bbe89..a8579b043 100644 --- a/sdk/storage/azure-storage-files-shares/test/share_client_test.cpp +++ b/sdk/storage/azure-storage-files-shares/test/share_client_test.cpp @@ -442,7 +442,7 @@ namespace Azure { namespace Storage { namespace Test { for (auto pageResult = Files::Shares::ShareServiceClient::CreateFromConnectionString( StandardStorageConnectionString()) .ListShares(listOptions); - pageResult.HasMorePages(); + pageResult.HasPage(); pageResult.MoveToNextPage()) { shareItems.insert(shareItems.end(), pageResult.Shares.begin(), pageResult.Shares.end()); @@ -485,7 +485,7 @@ namespace Azure { namespace Storage { namespace Test { for (auto pageResult = Files::Shares::ShareServiceClient::CreateFromConnectionString( PremiumFileConnectionString()) .ListShares(listOptions); - pageResult.HasMorePages(); + pageResult.HasPage(); pageResult.MoveToNextPage()) { shareItems.insert(shareItems.end(), pageResult.Shares.begin(), pageResult.Shares.end()); diff --git a/sdk/storage/azure-storage-files-shares/test/share_directory_client_test.cpp b/sdk/storage/azure-storage-files-shares/test/share_directory_client_test.cpp index 077dcef59..b89230ced 100644 --- a/sdk/storage/azure-storage-files-shares/test/share_directory_client_test.cpp +++ b/sdk/storage/azure-storage-files-shares/test/share_directory_client_test.cpp @@ -57,8 +57,7 @@ namespace Azure { namespace Storage { namespace Test { } auto directoryClient = m_shareClient->GetRootDirectoryClient().GetSubdirectoryClient(directoryPath); - for (auto pageResult = directoryClient.ListFilesAndDirectories(options); - pageResult.HasMorePages(); + for (auto pageResult = directoryClient.ListFilesAndDirectories(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { directoryResult.insert( @@ -436,8 +435,8 @@ namespace Azure { namespace Storage { namespace Test { { auto result = m_fileShareDirectoryClient->ListHandles(); EXPECT_TRUE(result.DirectoryHandles.empty()); - EXPECT_TRUE(result.NextPageToken.empty()); - for (auto pageResult = m_fileShareDirectoryClient->ListHandles(); pageResult.HasMorePages(); + EXPECT_FALSE(result.NextPageToken.HasValue()); + for (auto pageResult = m_fileShareDirectoryClient->ListHandles(); pageResult.HasPage(); pageResult.MoveToNextPage()) { } diff --git a/sdk/storage/azure-storage-files-shares/test/share_file_client_test.cpp b/sdk/storage/azure-storage-files-shares/test/share_file_client_test.cpp index 3bc49ef5b..e67ae3e37 100644 --- a/sdk/storage/azure-storage-files-shares/test/share_file_client_test.cpp +++ b/sdk/storage/azure-storage-files-shares/test/share_file_client_test.cpp @@ -262,9 +262,9 @@ namespace Azure { namespace Storage { namespace Test { { auto result = m_fileClient->ListHandles(); EXPECT_TRUE(result.FileHandles.empty()); - EXPECT_TRUE(result.NextPageToken.empty()); + EXPECT_FALSE(result.NextPageToken.HasValue()); - for (auto pageResult = m_fileClient->ListHandles(); pageResult.HasMorePages(); + for (auto pageResult = m_fileClient->ListHandles(); pageResult.HasPage(); pageResult.MoveToNextPage()) { } diff --git a/sdk/storage/azure-storage-files-shares/test/share_service_client_test.cpp b/sdk/storage/azure-storage-files-shares/test/share_service_client_test.cpp index 5454d2ee3..8758d9569 100644 --- a/sdk/storage/azure-storage-files-shares/test/share_service_client_test.cpp +++ b/sdk/storage/azure-storage-files-shares/test/share_service_client_test.cpp @@ -70,7 +70,7 @@ namespace Azure { namespace Storage { namespace Test { { options.Prefix = prefix; } - for (auto pageResult = m_fileShareServiceClient->ListShares(options); pageResult.HasMorePages(); + for (auto pageResult = m_fileShareServiceClient->ListShares(options); pageResult.HasPage(); pageResult.MoveToNextPage()) { result.insert(result.end(), pageResult.Shares.begin(), pageResult.Shares.end());