diff --git a/src/main/java/com/google/api/generator/gapic/composer/ServiceClientClassComposer.java b/src/main/java/com/google/api/generator/gapic/composer/ServiceClientClassComposer.java index 1634f121b7..908dcddfee 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/ServiceClientClassComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/ServiceClientClassComposer.java @@ -504,7 +504,8 @@ private static List createServiceMethods( createLroCallableMethod(service, method, types, messageTypes, resourceNames)); } if (method.isPaged()) { - javaMethods.add(createPagedCallableMethod(service, method, types)); + javaMethods.add( + createPagedCallableMethod(service, method, types, messageTypes, resourceNames)); } javaMethods.add(createCallableMethod(service, method, types)); } @@ -705,16 +706,13 @@ private static MethodDefinition createCallableMethod( } private static MethodDefinition createPagedCallableMethod( - Service service, Method method, Map types) { - // TODO(summerji): Implement sample code for paged callable method and pass in actual map of - // Messages and ResourceNames + Service service, + Method method, + Map types, + Map messageTypes, + Map resourceNames) { return createCallableMethod( - service, - method, - CallableMethodKind.PAGED, - types, - Collections.emptyMap(), - Collections.emptyMap()); + service, method, CallableMethodKind.PAGED, types, messageTypes, resourceNames); } private static MethodDefinition createCallableMethod( @@ -766,8 +764,7 @@ private static MethodDefinition createCallableMethod( .build(); Optional sampleCode = Optional.empty(); - // TODO (summerji): Implement sample code for CallableMethodKind.PAGED and - // CallableMethodKind.REGULAR + // TODO (summerji): Implement sample code for CallableMethodKind.REGULAR if (callableMethodKind.equals(CallableMethodKind.LRO)) { sampleCode = Optional.of( @@ -777,6 +774,15 @@ private static MethodDefinition createCallableMethod( resourceNames, messageTypes)); } + if (callableMethodKind.equals(CallableMethodKind.PAGED)) { + sampleCode = + Optional.of( + ServiceClientSampleCodeComposer.composePagedCallableMethodHeaderSampleCode( + method, + types.get(ClassNames.getServiceClientClassName(service)), + resourceNames, + messageTypes)); + } return MethodDefinition.builder() .setHeaderCommentStatements( diff --git a/src/main/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposer.java b/src/main/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposer.java index d26a1f129a..59ecd59a4f 100644 --- a/src/main/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposer.java +++ b/src/main/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposer.java @@ -14,6 +14,7 @@ package com.google.api.generator.gapic.composer; +import com.google.api.core.ApiFuture; import com.google.api.gax.core.FixedCredentialsProvider; import com.google.api.gax.longrunning.OperationFuture; import com.google.api.generator.engine.ast.AssignmentExpr; @@ -398,6 +399,121 @@ public static String composeLroCallableMethodHeaderSampleCode( .build()); } + public static String composePagedCallableMethodHeaderSampleCode( + Method method, + TypeNode clientType, + Map resourceNames, + Map messageTypes) { + VariableExpr clientVarExpr = + VariableExpr.withVariable( + Variable.builder() + .setName(JavaStyle.toLowerCamelCase(clientType.reference().name())) + .setType(clientType) + .build()); + // Assign method's request variable with the default value. + VariableExpr requestVarExpr = + VariableExpr.withVariable( + Variable.builder().setName("request").setType(method.inputType()).build()); + Message requestMessage = messageTypes.get(method.inputType().reference().simpleName()); + Preconditions.checkNotNull(requestMessage); + Expr requestBuilderExpr = + DefaultValueComposer.createSimpleMessageBuilderExpr( + requestMessage, resourceNames, messageTypes); + AssignmentExpr requestAssignmentExpr = + AssignmentExpr.builder() + .setVariableExpr(requestVarExpr.toBuilder().setIsDecl(true).build()) + .setValueExpr(requestBuilderExpr) + .build(); + + List bodyExprs = new ArrayList<>(); + bodyExprs.add(requestAssignmentExpr); + + // Find the repeated field. + Message methodOutputMessage = messageTypes.get(method.outputType().reference().simpleName()); + Field repeatedPagedResultsField = methodOutputMessage.findAndUnwrapFirstRepeatedField(); + Preconditions.checkNotNull( + repeatedPagedResultsField, + String.format( + "No repeated field found on message %s for method %s", + methodOutputMessage.name(), method.name())); + TypeNode repeatedResponseType = repeatedPagedResultsField.type(); + + // Create ApiFuture Variable Expression with assign value by invoking client paged callable + // method. + // e.g. ApiFuture future = + // configServiceV2Client.listExclusionsPagedCallable().futureCall(request); + TypeNode apiFutureType = + TypeNode.withReference( + ConcreteReference.builder() + .setClazz(ApiFuture.class) + .setGenerics(repeatedResponseType.reference()) + .build()); + VariableExpr apiFutureVarExpr = + VariableExpr.withVariable( + Variable.builder().setName("future").setType(apiFutureType).build()); + MethodInvocationExpr pagedCallableFutureMethodExpr = + MethodInvocationExpr.builder() + .setExprReferenceExpr(clientVarExpr) + .setMethodName( + String.format("%sPagedCallable", JavaStyle.toLowerCamelCase(method.name()))) + .build(); + pagedCallableFutureMethodExpr = + MethodInvocationExpr.builder() + .setExprReferenceExpr(pagedCallableFutureMethodExpr) + .setMethodName("futureCall") + .setArguments(requestVarExpr) + .setReturnType(apiFutureType) + .build(); + AssignmentExpr apiFutureAssignmentExpr = + AssignmentExpr.builder() + .setVariableExpr(apiFutureVarExpr.toBuilder().setIsDecl(true).build()) + .setValueExpr(pagedCallableFutureMethodExpr) + .build(); + bodyExprs.add(apiFutureAssignmentExpr); + + List bodyStatements = + bodyExprs.stream().map(e -> ExprStatement.withExpr(e)).collect(Collectors.toList()); + bodyExprs.clear(); + + // Add line comment + bodyStatements.add(CommentStatement.withComment(LineComment.withComment("Do something."))); + + // For-loop on repeated response element + // e.g. for (ListExclusionsResponse element : future.get().iterateAll()) { + // // doThingsWith(element); + // } + VariableExpr repeatedResponseVarExpr = + VariableExpr.withVariable( + Variable.builder().setName("element").setType(repeatedResponseType).build()); + MethodInvocationExpr futureGetIterateAllMethodExpr = + MethodInvocationExpr.builder() + .setExprReferenceExpr(apiFutureVarExpr) + .setMethodName("get") + .build(); + futureGetIterateAllMethodExpr = + MethodInvocationExpr.builder() + .setExprReferenceExpr(futureGetIterateAllMethodExpr) + .setMethodName("iterateAll") + .setReturnType(repeatedResponseType) + .build(); + CommentStatement lineCommentStatement = + CommentStatement.withComment(LineComment.withComment("doThingsWith(element);")); + ForStatement repeatedResponseForStatement = + ForStatement.builder() + .setLocalVariableExpr(repeatedResponseVarExpr.toBuilder().setIsDecl(true).build()) + .setCollectionExpr(futureGetIterateAllMethodExpr) + .setBody(Arrays.asList(lineCommentStatement)) + .build(); + bodyStatements.add(repeatedResponseForStatement); + + return SampleCodeWriter.write( + TryCatchStatement.builder() + .setTryResourceExpr(assignClientVariableWithCreateMethodExpr(clientVarExpr)) + .setTryBody(bodyStatements) + .setIsSampleCode(true) + .build()); + } + private static List composeUnaryRpcMethodSampleCodeBodyStatements( Method method, VariableExpr clientVarExpr, diff --git a/src/test/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposerTest.java index 441bea4c65..f06dc49390 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposerTest.java +++ b/src/test/java/com/google/api/generator/gapic/composer/ServiceClientSampleCodeComposerTest.java @@ -1505,4 +1505,180 @@ public void validComposeLroCallableMethodHeaderSampleCode_withReturnVoid() { "}"); assertEquals(results, expected); } + + // ================================Paged Callable Method Sample Code ====================// + @Test + public void validComposePagedCallableMethodHeaderSampleCode() { + FileDescriptor echoFileDescriptor = EchoOuterClass.getDescriptor(); + Map resourceNames = Parser.parseResourceNames(echoFileDescriptor); + Map messageTypes = Parser.parseMessages(echoFileDescriptor); + TypeNode clientType = + TypeNode.withReference( + VaporReference.builder() + .setName("EchoClient") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode inputType = + TypeNode.withReference( + VaporReference.builder() + .setName("PagedExpandRequest") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode outputType = + TypeNode.withReference( + VaporReference.builder() + .setName("PagedExpandResponse") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + Method method = + Method.builder() + .setName("PagedExpand") + .setInputType(inputType) + .setOutputType(outputType) + .setIsPaged(true) + .build(); + String results = + ServiceClientSampleCodeComposer.composePagedCallableMethodHeaderSampleCode( + method, clientType, resourceNames, messageTypes); + String expected = + LineFormatter.lines( + "try (EchoClient echoClient = EchoClient.create()) {\n", + " PagedExpandRequest request =\n", + " PagedExpandRequest.newBuilder()\n", + " .setContent(\"content951530617\")\n", + " .setPageSize(883849137)\n", + " .setPageToken(\"pageToken873572522\")\n", + " .build();\n", + " ApiFuture future = echoClient.pagedExpandPagedCallable().futureCall(request);\n", + " // Do something.\n", + " for (EchoResponse element : future.get().iterateAll()) {\n", + " // doThingsWith(element);\n", + " }\n", + "}"); + assertEquals(results, expected); + } + + @Test + public void invalidComposePagedCallableMethodHeaderSampleCode_inputTypeNotExistInMessage() { + FileDescriptor echoFileDescriptor = EchoOuterClass.getDescriptor(); + Map resourceNames = Parser.parseResourceNames(echoFileDescriptor); + Map messageTypes = Parser.parseMessages(echoFileDescriptor); + TypeNode clientType = + TypeNode.withReference( + VaporReference.builder() + .setName("EchoClient") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode inputType = + TypeNode.withReference( + VaporReference.builder() + .setName("NotExistRequest") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode outputType = + TypeNode.withReference( + VaporReference.builder() + .setName("PagedExpandResponse") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + Method method = + Method.builder() + .setName("PagedExpand") + .setInputType(inputType) + .setOutputType(outputType) + .setIsPaged(true) + .build(); + assertThrows( + NullPointerException.class, + () -> + ServiceClientSampleCodeComposer.composePagedCallableMethodHeaderSampleCode( + method, clientType, resourceNames, messageTypes)); + } + + @Test + public void invalidComposePagedCallableMethodHeaderSampleCode_noExistMethodResponse() { + FileDescriptor echoFileDescriptor = EchoOuterClass.getDescriptor(); + Map resourceNames = Parser.parseResourceNames(echoFileDescriptor); + Map messageTypes = Parser.parseMessages(echoFileDescriptor); + TypeNode clientType = + TypeNode.withReference( + VaporReference.builder() + .setName("EchoClient") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode inputType = + TypeNode.withReference( + VaporReference.builder() + .setName("EchoRequest") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode outputType = + TypeNode.withReference( + VaporReference.builder() + .setName("NoExistResponse") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + Method method = + Method.builder() + .setName("PagedExpand") + .setInputType(inputType) + .setOutputType(outputType) + .setIsPaged(true) + .build(); + assertThrows( + NullPointerException.class, + () -> + ServiceClientSampleCodeComposer.composePagedCallableMethodHeaderSampleCode( + method, clientType, resourceNames, messageTypes)); + } + + @Test + public void invalidComposePagedCallableMethodHeaderSampleCode_noRepeatedResponse() { + FileDescriptor echoFileDescriptor = EchoOuterClass.getDescriptor(); + Map resourceNames = Parser.parseResourceNames(echoFileDescriptor); + Map messageTypes = Parser.parseMessages(echoFileDescriptor); + TypeNode clientType = + TypeNode.withReference( + VaporReference.builder() + .setName("EchoClient") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode inputType = + TypeNode.withReference( + VaporReference.builder() + .setName("EchoRequest") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + TypeNode outputType = + TypeNode.withReference( + VaporReference.builder() + .setName("NoRepeatedResponse") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build()); + Method method = + Method.builder() + .setName("PagedExpand") + .setInputType(inputType) + .setOutputType(outputType) + .setIsPaged(true) + .build(); + Field responseField = Field.builder().setName("response").setType(TypeNode.STRING).build(); + Message noRepeatedResponseMessage = + Message.builder() + .setName("NoRepeatedResponse") + .setType( + TypeNode.withReference( + VaporReference.builder() + .setName("NoRepeatedResponse") + .setPakkage(SHOWCASE_PACKAGE_NAME) + .build())) + .setFields(Arrays.asList(responseField)) + .build(); + messageTypes.put("NoRepeatedResponse", noRepeatedResponseMessage); + assertThrows( + NullPointerException.class, + () -> + ServiceClientSampleCodeComposer.composePagedCallableMethodHeaderSampleCode( + method, clientType, resourceNames, messageTypes)); + } } diff --git a/src/test/java/com/google/api/generator/gapic/composer/goldens/EchoClient.golden b/src/test/java/com/google/api/generator/gapic/composer/goldens/EchoClient.golden index b9585ec489..8aee6f2f12 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/goldens/EchoClient.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/goldens/EchoClient.golden @@ -377,7 +377,25 @@ public class EchoClient implements BackgroundResource { } // AUTO-GENERATED DOCUMENTATION AND METHOD. - /** Sample code: */ + /** + * Sample code: + * + *
{@code
+   * try (EchoClient echoClient = EchoClient.create()) {
+   *   PagedExpandRequest request =
+   *       PagedExpandRequest.newBuilder()
+   *           .setContent("content951530617")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = echoClient.pagedExpandPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (EchoResponse element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ public final UnaryCallable pagedExpandPagedCallable() { return stub.pagedExpandPagedCallable(); @@ -435,7 +453,26 @@ public class EchoClient implements BackgroundResource { } // AUTO-GENERATED DOCUMENTATION AND METHOD. - /** Sample code: */ + /** + * Sample code: + * + *
{@code
+   * try (EchoClient echoClient = EchoClient.create()) {
+   *   PagedExpandRequest request =
+   *       PagedExpandRequest.newBuilder()
+   *           .setContent("content951530617")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       echoClient.simplePagedExpandPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (EchoResponse element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ public final UnaryCallable simplePagedExpandPagedCallable() { return stub.simplePagedExpandPagedCallable(); diff --git a/src/test/java/com/google/api/generator/gapic/composer/goldens/IdentityClient.golden b/src/test/java/com/google/api/generator/gapic/composer/goldens/IdentityClient.golden index cfc332034f..07dc235155 100644 --- a/src/test/java/com/google/api/generator/gapic/composer/goldens/IdentityClient.golden +++ b/src/test/java/com/google/api/generator/gapic/composer/goldens/IdentityClient.golden @@ -405,7 +405,24 @@ public class IdentityClient implements BackgroundResource { } // AUTO-GENERATED DOCUMENTATION AND METHOD. - /** Sample code: */ + /** + * Sample code: + * + *
{@code
+   * try (IdentityClient identityClient = IdentityClient.create()) {
+   *   ListUsersRequest request =
+   *       ListUsersRequest.newBuilder()
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = identityClient.listUsersPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (User element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ public final UnaryCallable listUsersPagedCallable() { return stub.listUsersPagedCallable(); } diff --git a/test/integration/goldens/asset/AssetServiceClient.java b/test/integration/goldens/asset/AssetServiceClient.java index 6a39beb127..89dd018fdb 100644 --- a/test/integration/goldens/asset/AssetServiceClient.java +++ b/test/integration/goldens/asset/AssetServiceClient.java @@ -737,6 +737,26 @@ public final SearchAllResourcesPagedResponse searchAllResources( * on the desired scope, otherwise the request will be rejected. * *

Sample code: + * + *

{@code
+   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
+   *   SearchAllResourcesRequest request =
+   *       SearchAllResourcesRequest.newBuilder()
+   *           .setScope("scope109264468")
+   *           .setQuery("query107944136")
+   *           .addAllAssetTypes(new ArrayList())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   ApiFuture future =
+   *       assetServiceClient.searchAllResourcesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (ResourceSearchResult element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable searchAllResourcesPagedCallable() { @@ -858,6 +878,24 @@ public final SearchAllIamPoliciesPagedResponse searchAllIamPolicies( * permission on the desired scope, otherwise the request will be rejected. * *

Sample code: + * + *

{@code
+   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
+   *   SearchAllIamPoliciesRequest request =
+   *       SearchAllIamPoliciesRequest.newBuilder()
+   *           .setScope("scope109264468")
+   *           .setQuery("query107944136")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       assetServiceClient.searchAllIamPoliciesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (IamPolicySearchResult element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable searchAllIamPoliciesPagedCallable() { diff --git a/test/integration/goldens/library/LibraryServiceClient.java b/test/integration/goldens/library/LibraryServiceClient.java index 67c5a4a57b..7a569548f2 100644 --- a/test/integration/goldens/library/LibraryServiceClient.java +++ b/test/integration/goldens/library/LibraryServiceClient.java @@ -324,6 +324,21 @@ public final ListShelvesPagedResponse listShelves(ListShelvesRequest request) { * necessarily be added to the end of this list. * *

Sample code: + * + *

{@code
+   * try (LibraryServiceClient libraryServiceClient = LibraryServiceClient.create()) {
+   *   ListShelvesRequest request =
+   *       ListShelvesRequest.newBuilder()
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = libraryServiceClient.listShelvesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Shelf element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listShelvesPagedCallable() { @@ -827,6 +842,22 @@ public final ListBooksPagedResponse listBooks(ListBooksRequest request) { * exist. * *

Sample code: + * + *

{@code
+   * try (LibraryServiceClient libraryServiceClient = LibraryServiceClient.create()) {
+   *   ListBooksRequest request =
+   *       ListBooksRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = libraryServiceClient.listBooksPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Book element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listBooksPagedCallable() { return stub.listBooksPagedCallable(); diff --git a/test/integration/goldens/logging/ConfigClient.java b/test/integration/goldens/logging/ConfigClient.java index 8f3b649b27..0deaeb413b 100644 --- a/test/integration/goldens/logging/ConfigClient.java +++ b/test/integration/goldens/logging/ConfigClient.java @@ -366,6 +366,24 @@ public final ListBucketsPagedResponse listBuckets(ListBucketsRequest request) { * Lists buckets (Beta). * *

Sample code: + * + *

{@code
+   * try (ConfigClient configClient = ConfigClient.create()) {
+   *   ListBucketsRequest request =
+   *       ListBucketsRequest.newBuilder()
+   *           .setParent(
+   *               LogBucketName.ofProjectLocationBucketName("[PROJECT]", "[LOCATION]", "[BUCKET]")
+   *                   .toString())
+   *           .setPageToken("pageToken873572522")
+   *           .setPageSize(883849137)
+   *           .build();
+   *   ApiFuture future = configClient.listBucketsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (LogBucket element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listBucketsPagedCallable() { @@ -633,6 +651,22 @@ public final ListSinksPagedResponse listSinks(ListSinksRequest request) { * Lists sinks. * *

Sample code: + * + *

{@code
+   * try (ConfigClient configClient = ConfigClient.create()) {
+   *   ListSinksRequest request =
+   *       ListSinksRequest.newBuilder()
+   *           .setParent(LogSinkName.ofProjectSinkName("[PROJECT]", "[SINK]").toString())
+   *           .setPageToken("pageToken873572522")
+   *           .setPageSize(883849137)
+   *           .build();
+   *   ApiFuture future = configClient.listSinksPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (LogSink element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listSinksPagedCallable() { return stub.listSinksPagedCallable(); @@ -1424,6 +1458,24 @@ public final ListExclusionsPagedResponse listExclusions(ListExclusionsRequest re * Lists all the exclusions in a parent resource. * *

Sample code: + * + *

{@code
+   * try (ConfigClient configClient = ConfigClient.create()) {
+   *   ListExclusionsRequest request =
+   *       ListExclusionsRequest.newBuilder()
+   *           .setParent(
+   *               LogExclusionName.ofProjectExclusionName("[PROJECT]", "[EXCLUSION]").toString())
+   *           .setPageToken("pageToken873572522")
+   *           .setPageSize(883849137)
+   *           .build();
+   *   ApiFuture future =
+   *       configClient.listExclusionsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (LogExclusion element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listExclusionsPagedCallable() { diff --git a/test/integration/goldens/logging/LoggingClient.java b/test/integration/goldens/logging/LoggingClient.java index db2dcc3bdc..45467735be 100644 --- a/test/integration/goldens/logging/LoggingClient.java +++ b/test/integration/goldens/logging/LoggingClient.java @@ -535,6 +535,24 @@ public final ListLogEntriesPagedResponse listLogEntries(ListLogEntriesRequest re * Logs](https://cloud.google.com/logging/docs/export). * *

Sample code: + * + *

{@code
+   * try (LoggingClient loggingClient = LoggingClient.create()) {
+   *   ListLogEntriesRequest request =
+   *       ListLogEntriesRequest.newBuilder()
+   *           .addAllResourceNames(new ArrayList())
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = loggingClient.listLogEntriesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (LogEntry element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listLogEntriesPagedCallable() { @@ -587,6 +605,22 @@ public final ListMonitoredResourceDescriptorsPagedResponse listMonitoredResource * Lists the descriptors for monitored resource types used by Logging. * *

Sample code: + * + *

{@code
+   * try (LoggingClient loggingClient = LoggingClient.create()) {
+   *   ListMonitoredResourceDescriptorsRequest request =
+   *       ListMonitoredResourceDescriptorsRequest.newBuilder()
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       loggingClient.listMonitoredResourceDescriptorsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (MonitoredResourceDescriptor element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable< ListMonitoredResourceDescriptorsRequest, ListMonitoredResourceDescriptorsPagedResponse> @@ -774,6 +808,22 @@ public final ListLogsPagedResponse listLogs(ListLogsRequest request) { * entries are listed. * *

Sample code: + * + *

{@code
+   * try (LoggingClient loggingClient = LoggingClient.create()) {
+   *   ListLogsRequest request =
+   *       ListLogsRequest.newBuilder()
+   *           .setParent(LogName.ofProjectLogName("[PROJECT]", "[LOG]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = loggingClient.listLogsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (String element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listLogsPagedCallable() { return stub.listLogsPagedCallable(); diff --git a/test/integration/goldens/logging/MetricsClient.java b/test/integration/goldens/logging/MetricsClient.java index c3a53ec4b8..0c5310dc93 100644 --- a/test/integration/goldens/logging/MetricsClient.java +++ b/test/integration/goldens/logging/MetricsClient.java @@ -231,6 +231,22 @@ public final ListLogMetricsPagedResponse listLogMetrics(ListLogMetricsRequest re * Lists logs-based metrics. * *

Sample code: + * + *

{@code
+   * try (MetricsClient metricsClient = MetricsClient.create()) {
+   *   ListLogMetricsRequest request =
+   *       ListLogMetricsRequest.newBuilder()
+   *           .setParent(ProjectName.of("[PROJECT]").toString())
+   *           .setPageToken("pageToken873572522")
+   *           .setPageSize(883849137)
+   *           .build();
+   *   ApiFuture future = metricsClient.listLogMetricsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (LogMetric element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listLogMetricsPagedCallable() { diff --git a/test/integration/goldens/redis/CloudRedisClient.java b/test/integration/goldens/redis/CloudRedisClient.java index bf6aba5541..e8701aa91d 100644 --- a/test/integration/goldens/redis/CloudRedisClient.java +++ b/test/integration/goldens/redis/CloudRedisClient.java @@ -298,6 +298,23 @@ public final ListInstancesPagedResponse listInstances(ListInstancesRequest reque * are queried, and the results are aggregated. * *

Sample code: + * + *

{@code
+   * try (CloudRedisClient cloudRedisClient = CloudRedisClient.create()) {
+   *   ListInstancesRequest request =
+   *       ListInstancesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       cloudRedisClient.listInstancesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Instance element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
*/ public final UnaryCallable listInstancesPagedCallable() {