diff --git a/.chronus/changes/http-client-java-async-page-size.md b/.chronus/changes/http-client-java-async-page-size.md new file mode 100644 index 00000000000..de1ad572cdf --- /dev/null +++ b/.chronus/changes/http-client-java-async-page-size.md @@ -0,0 +1,7 @@ +--- +changeKind: fix +packages: + - "@typespec/http-client-java" +--- + +Forward page-size overrides from typed asynchronous paging methods to protocol requests. diff --git a/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/ConvenienceAsyncMethodTemplate.java b/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/ConvenienceAsyncMethodTemplate.java index 09ab038422f..1b4dcbdf3f0 100644 --- a/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/ConvenienceAsyncMethodTemplate.java +++ b/packages/http-client-java/generator/http-client-generator-core/src/main/java/com/microsoft/typespec/http/client/generator/core/template/ConvenienceAsyncMethodTemplate.java @@ -93,9 +93,14 @@ && isResponseHeadersAsModel(convenienceMethod)) { methodBlock.methodReturn(String.format( "PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {\n" - + " Flux> flux = (continuationTokenParam == null)\n" - + " ? pagedFluxResponse.byPage().take(1)\n" - + " : pagedFluxResponse.byPage(continuationTokenParam).take(1);\n" + + " Flux> flux;\n" + " if (pageSizeParam == null) {\n" + + " flux = (continuationTokenParam == null)\n" + + " ? pagedFluxResponse.byPage().take(1)\n" + + " : pagedFluxResponse.byPage(continuationTokenParam).take(1);\n" + " } else {\n" + + " flux = (continuationTokenParam == null)\n" + + " ? pagedFluxResponse.byPage(pageSizeParam).take(1)\n" + + " : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1);\n" + + " }\n" + " return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),\n" + " pagedResponse.getStatusCode(),\n" + " pagedResponse.getHeaders(),\n" + " pagedResponse.getValue().stream().map(%2$s).collect(Collectors.toList()),\n" diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/clientgenerator/core/nextlinkverb/NextLinkVerbAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/clientgenerator/core/nextlinkverb/NextLinkVerbAsyncClient.java index ceaadd6b727..6eaea9f4b50 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/clientgenerator/core/nextlinkverb/NextLinkVerbAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/clientgenerator/core/nextlinkverb/NextLinkVerbAsyncClient.java @@ -82,9 +82,16 @@ public PagedFlux listItems() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listItems(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/basic/BasicAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/basic/BasicAsyncClient.java index 1395fc7c961..b215959d106 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/basic/BasicAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/basic/BasicAsyncClient.java @@ -572,9 +572,16 @@ public PagedFlux list(Integer top, Integer skip, List orderBy, Str } PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -604,9 +611,16 @@ public PagedFlux list() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -675,9 +689,16 @@ public PagedFlux list(Integer top, Integer skip, List orderBy, Str } PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/PageAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/PageAsyncClient.java index 00da9c19a64..8278d37aea5 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/PageAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/PageAsyncClient.java @@ -256,9 +256,16 @@ public PagedFlux listWithPage() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithPage(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -292,9 +299,16 @@ public PagedFlux listWithParameters(ListItemInputBody bodyInput, ListItemI } PagedFlux pagedFluxResponse = listWithParameters(BinaryData.fromObject(bodyInput), requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -324,9 +338,16 @@ public PagedFlux listWithParameters(ListItemInputBody bodyInput) { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithParameters(BinaryData.fromObject(bodyInput), requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -354,9 +375,16 @@ public PagedFlux listWithCustomPageModel() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithCustomPageModel(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -390,9 +418,16 @@ public PagedFlux withParameterizedNextLink(String select, Boolean includeP } PagedFlux pagedFluxResponse = withParameterizedNextLink(select, requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -422,9 +457,16 @@ public PagedFlux withParameterizedNextLink(String select) { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = withParameterizedNextLink(select, requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -452,9 +494,16 @@ public PagedFlux withRelativeNextLink() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = withRelativeNextLink(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/TwoModelsAsPageItemAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/TwoModelsAsPageItemAsyncClient.java index 944ecd05bbf..481d0cb09c0 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/TwoModelsAsPageItemAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/core/page/TwoModelsAsPageItemAsyncClient.java @@ -111,9 +111,16 @@ public PagedFlux listFirstItem() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listFirstItem(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -142,9 +149,16 @@ public PagedFlux listSecondItem() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listSecondItem(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/payload/pageable/PageableAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/payload/pageable/PageableAsyncClient.java index 83a35a33193..0b876a989eb 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/payload/pageable/PageableAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/azure/payload/pageable/PageableAsyncClient.java @@ -89,9 +89,16 @@ public PagedFlux list() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = list(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/PageSizeAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/PageSizeAsyncClient.java index 7747db081e9..916d73e25da 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/PageSizeAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/PageSizeAsyncClient.java @@ -116,9 +116,16 @@ public PagedFlux listWithoutContinuation() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithoutContinuation(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -151,9 +158,16 @@ public PagedFlux listWithPageSize(Integer pageSize) { } PagedFlux pagedFluxResponse = listWithPageSize(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -181,9 +195,16 @@ public PagedFlux listWithPageSize() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithPageSize(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAlternateInitialVerbAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAlternateInitialVerbAsyncClient.java index b9479350f9b..521970fe276 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAlternateInitialVerbAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAlternateInitialVerbAsyncClient.java @@ -98,9 +98,16 @@ public PagedFlux post(Filter body) { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = post(BinaryData.fromObject(body), requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAsyncClient.java index 9a09fca9053..3f3feece575 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationAsyncClient.java @@ -135,9 +135,16 @@ public PagedFlux link() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = link(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -165,9 +172,16 @@ public PagedFlux linkString() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = linkString(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -195,9 +209,16 @@ public PagedFlux nestedLink() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = nestedLink(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationContinuationTokenAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationContinuationTokenAsyncClient.java index ff4ef0ad14c..975886ae606 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationContinuationTokenAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/ServerDrivenPaginationContinuationTokenAsyncClient.java @@ -317,9 +317,16 @@ public PagedFlux requestQueryResponseBody(String token, String foo, String } PagedFlux pagedFluxResponse = requestQueryResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -347,9 +354,16 @@ public PagedFlux requestQueryResponseBody() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = requestQueryResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -390,9 +404,16 @@ public PagedFlux requestHeaderResponseBody(String token, String foo, String } PagedFlux pagedFluxResponse = requestHeaderResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -420,9 +441,16 @@ public PagedFlux requestHeaderResponseBody() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = requestHeaderResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -463,9 +491,16 @@ public PagedFlux requestQueryResponseHeader(String token, String foo, Strin } PagedFlux pagedFluxResponse = requestQueryResponseHeader(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -493,9 +528,16 @@ public PagedFlux requestQueryResponseHeader() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = requestQueryResponseHeader(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -536,9 +578,16 @@ public PagedFlux requestHeaderResponseHeader(String token, String foo, Stri } PagedFlux pagedFluxResponse = requestHeaderResponseHeader(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -566,9 +615,16 @@ public PagedFlux requestHeaderResponseHeader() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = requestHeaderResponseHeader(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -609,9 +665,16 @@ public PagedFlux requestQueryNestedResponseBody(String token, String foo, S } PagedFlux pagedFluxResponse = requestQueryNestedResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -639,9 +702,16 @@ public PagedFlux requestQueryNestedResponseBody() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = requestQueryNestedResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -682,9 +752,16 @@ public PagedFlux requestHeaderNestedResponseBody(String token, String foo, } PagedFlux pagedFluxResponse = requestHeaderNestedResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -712,9 +789,16 @@ public PagedFlux requestHeaderNestedResponseBody() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = requestHeaderNestedResponseBody(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/XmlPaginationAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/XmlPaginationAsyncClient.java index 817d8cdf127..199b858542a 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/XmlPaginationAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/payload/pageable/XmlPaginationAsyncClient.java @@ -126,9 +126,16 @@ public PagedFlux listWithContinuation(String marker) { } PagedFlux pagedFluxResponse = listWithContinuation(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -156,9 +163,16 @@ public PagedFlux listWithContinuation() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithContinuation(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -186,9 +200,16 @@ public PagedFlux listWithNextLink() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithNextLink(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/maxoverloadmodel/MaxOverloadModelAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/maxoverloadmodel/MaxOverloadModelAsyncClient.java index 5cae4024e55..511c9702191 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/maxoverloadmodel/MaxOverloadModelAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/maxoverloadmodel/MaxOverloadModelAsyncClient.java @@ -829,9 +829,16 @@ public PagedFlux list(String filter, String added) { } PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -859,9 +866,16 @@ public PagedFlux list() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -903,9 +917,16 @@ public PagedFlux list(String filter, String added, RequestOptions } PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -939,9 +960,16 @@ public PagedFlux list(String filter, RequestOptions requestOption } PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -974,9 +1002,16 @@ public PagedFlux list(String filter) { } PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -1004,9 +1039,16 @@ public PagedFlux listWithoutOptions() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithoutOptionsInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase( pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -1036,9 +1078,16 @@ public PagedFlux listWithoutOptions(RequestOptions requestOptions = requestOptions == null ? new RequestOptions() : requestOptions; PagedFlux pagedFluxResponse = listWithoutOptionsInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase( pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolandconvenient/ProtocolAndConvenientAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolandconvenient/ProtocolAndConvenientAsyncClient.java index d7eca7c7241..7abfb1534f9 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolandconvenient/ProtocolAndConvenientAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolandconvenient/ProtocolAndConvenientAsyncClient.java @@ -361,9 +361,16 @@ public PagedFlux list() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listInternal(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolapisyncoverasync/ProtocolApiSyncOverAsyncAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolapisyncoverasync/ProtocolApiSyncOverAsyncAsyncClient.java index 2b8b1e51a36..6edc55f9192 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolapisyncoverasync/ProtocolApiSyncOverAsyncAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/protocolapisyncoverasync/ProtocolApiSyncOverAsyncAsyncClient.java @@ -148,9 +148,16 @@ public PagedFlux list(String apiVersion) { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listInternal(apiVersion, requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/response/ResponseAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/response/ResponseAsyncClient.java index 96c5cd2893d..00d049ae9f5 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/response/ResponseAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/response/ResponseAsyncClient.java @@ -723,9 +723,16 @@ public PagedFlux listStrings() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listStrings(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -753,9 +760,16 @@ public PagedFlux listIntegers() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listIntegers(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/specialheaders/EtagHeadersAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/specialheaders/EtagHeadersAsyncClient.java index 1206ca51c9c..6cc0cc49dd8 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/specialheaders/EtagHeadersAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/specialheaders/EtagHeadersAsyncClient.java @@ -348,9 +348,16 @@ public PagedFlux listWithEtag() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = listWithEtag(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/versioning/VersioningAsyncClient.java b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/versioning/VersioningAsyncClient.java index eb81728b5fa..93d635abb2a 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/versioning/VersioningAsyncClient.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/main/java/tsptest/versioning/VersioningAsyncClient.java @@ -246,9 +246,16 @@ public PagedFlux list(List select, String expand) { } PagedFlux pagedFluxResponse = list(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() @@ -276,9 +283,16 @@ public PagedFlux list() { RequestOptions requestOptions = new RequestOptions(); PagedFlux pagedFluxResponse = list(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { - Flux> flux = (continuationTokenParam == null) - ? pagedFluxResponse.byPage().take(1) - : pagedFluxResponse.byPage(continuationTokenParam).take(1); + Flux> flux; + if (pageSizeParam == null) { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + } else { + flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage(pageSizeParam).take(1) + : pagedFluxResponse.byPage(continuationTokenParam, pageSizeParam).take(1); + } return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() diff --git a/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/payload/pageable/PageableTests.java b/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/payload/pageable/PageableTests.java index 0732efa4df6..ea55851eb5c 100644 --- a/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/payload/pageable/PageableTests.java +++ b/packages/http-client-java/generator/http-client-generator-test/src/test/java/azure/payload/pageable/PageableTests.java @@ -7,21 +7,37 @@ import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import java.time.Duration; import java.util.Arrays; import java.util.HashSet; +import java.util.List; +import java.util.stream.Collectors; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class PageableTests { - private final PageableClient client = new PageableClientBuilder() + private final PageableClientBuilder builder = new PageableClientBuilder() .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS) - .setAllowedQueryParamNames(new HashSet<>(Arrays.asList("maxpagesize", "skipToken")))) - .buildClient(); + .setAllowedQueryParamNames(new HashSet<>(Arrays.asList("maxpagesize", "skipToken")))); @Test public void testPageable() { - PagedIterable pagedIterable = client.list(); + PagedIterable pagedIterable = builder.buildClient().list(); Assertions.assertEquals(4, pagedIterable.streamByPage(3).mapToInt(p -> p.getValue().size()).sum()); } + + @Test + public void testPageableAsync() { + List> pages + = builder.buildAsyncClient().list().byPage(3).collectList().block(Duration.ofSeconds(10)); + + Assertions.assertNotNull(pages); + Assertions.assertEquals(2, pages.size()); + Assertions.assertEquals(List.of(3, 1), + pages.stream().map(page -> page.getValue().size()).collect(Collectors.toList())); + Assertions.assertEquals(List.of("user5", "user6", "user7", "user8"), + pages.stream().flatMap(page -> page.getValue().stream()).map(User::getName).collect(Collectors.toList())); + } }