|
35 | 35 | import com.commercetools.api.models.product_type.AttributeLocalizedEnumValue; |
36 | 36 | import com.commercetools.api.models.project.Project; |
37 | 37 | import com.commercetools.api.models.tax_category.TaxCategoryPagedQueryResponse; |
| 38 | +import com.commercetools.graphql.CommercetoolsTestUtils; |
| 39 | +import com.commercetools.graphql.api.GraphQL; |
| 40 | +import com.commercetools.graphql.api.GraphQLData; |
| 41 | +import com.commercetools.graphql.api.GraphQLRequestBuilder; |
| 42 | +import com.commercetools.graphql.api.types.OrderQueryResult; |
38 | 43 | import com.commercetools.http.apachehttp.CtApacheHttpClient; |
39 | 44 | import com.commercetools.http.javanet.CtJavaNetHttpClient; |
40 | 45 | import com.commercetools.http.netty.CtNettyHttpClient; |
@@ -379,6 +384,27 @@ public void queryAll() { |
379 | 384 | .join(); |
380 | 385 | } |
381 | 386 |
|
| 387 | + public void graphQLAllOrders() { |
| 388 | + final ProjectApiRoot projectRoot = CommercetoolsTestUtils.getProjectApiRoot(); |
| 389 | + boolean limitNotReached = true; |
| 390 | + int limit = 10; |
| 391 | + String lastId = null; |
| 392 | + while (limitNotReached) { |
| 393 | + GraphQLRequestBuilder<OrderQueryResult> orderBuilder = GraphQL.query( |
| 394 | + "query { orders { results { id, version } } }").dataMapper(GraphQLData::getOrders); |
| 395 | + |
| 396 | + if (lastId != null) |
| 397 | + orderBuilder.variables(builder -> builder.addValue("where", "id > lastId")); |
| 398 | + |
| 399 | + var result = projectRoot.graphql().query(orderBuilder.build()).executeBlocking(); |
| 400 | + var orders = result.getBody().getData().getResults(); |
| 401 | + var length = orders.size(); |
| 402 | + lastId = result.getBody().getData().getResults().get(length - 1).getId(); |
| 403 | + |
| 404 | + limitNotReached = length >= limit; |
| 405 | + } |
| 406 | + } |
| 407 | + |
382 | 408 | public void middleware() { |
383 | 409 | ProjectApiRoot apiRoot = ApiRootBuilder.of() |
384 | 410 | .defaultClient(ClientCredentials.of() |
|
0 commit comments