From 001f5e4d23462b6728b0c5e98f11cecc2f71a091 Mon Sep 17 00:00:00 2001 From: Min Zhu Date: Fri, 19 Jul 2024 15:52:44 -0400 Subject: [PATCH] fix: reverts related changes in #985 that partially allows empty services be generated for sample. --- .../ServiceClientHeaderSampleComposer.java | 4 - .../ServiceClientClassComposerTest.java | 14 -- .../grpcrest/goldens/EchoEmpty.golden | 154 ------------------ 3 files changed, 172 deletions(-) delete mode 100644 gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoEmpty.golden diff --git a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java index b979f87744..6403890b99 100644 --- a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java +++ b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/samplecode/ServiceClientHeaderSampleComposer.java @@ -52,10 +52,6 @@ public static Sample composeClassHeaderSample( TypeNode clientType, Map resourceNames, Map messageTypes) { - if (service.methods().isEmpty()) { - return ServiceClientMethodSampleComposer.composeEmptyServiceSample(clientType, service); - } - // Use the first pure unary RPC method's sample code as showcase, if no such method exists, use // the first method in the service's methods list. Method method = diff --git a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceClientClassComposerTest.java b/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceClientClassComposerTest.java index 8efc43118c..a6d057fe8d 100644 --- a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceClientClassComposerTest.java +++ b/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/ServiceClientClassComposerTest.java @@ -40,20 +40,6 @@ void generateServiceClasses() { Assert.assertCodeEquals(goldenFilePath, visitor.write()); } - @Test - void generateServiceClassesEmpty() { - GapicContext context = GrpcRestTestProtoLoader.instance().parseShowcaseEcho(); - Service echoProtoService = context.services().get(1); - GapicClass clazz = ServiceClientClassComposer.instance().generate(context, echoProtoService); - - JavaWriterVisitor visitor = new JavaWriterVisitor(); - clazz.classDefinition().accept(visitor); - GoldenFileWriter.saveCodegenToFile(this.getClass(), "EchoEmpty.golden", visitor.write()); - Path goldenFilePath = - Paths.get(GoldenFileWriter.getGoldenDir(this.getClass()), "EchoEmpty.golden"); - Assert.assertCodeEquals(goldenFilePath, visitor.write()); - } - @Test void generateServiceClassesWicked() { GapicContext context = GrpcRestTestProtoLoader.instance().parseShowcaseWicked(); diff --git a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoEmpty.golden b/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoEmpty.golden deleted file mode 100644 index b423bbbb94..0000000000 --- a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpcrest/goldens/EchoEmpty.golden +++ /dev/null @@ -1,154 +0,0 @@ -package com.google.showcase.grpcrest.v1beta1; - -import com.google.api.core.BetaApi; -import com.google.api.gax.core.BackgroundResource; -import com.google.showcase.grpcrest.v1beta1.stub.EchoEmpyStub; -import com.google.showcase.grpcrest.v1beta1.stub.EchoEmpyStubSettings; -import java.io.IOException; -import java.util.concurrent.TimeUnit; -import javax.annotation.Generated; - -// AUTO-GENERATED DOCUMENTATION AND CLASS. -/** - * This class provides the ability to make remote calls to the backing service through method calls - * that map to API methods. Sample code to get started: - * - *
{@code
- * // This snippet has been automatically generated and should be regarded as a code template only.
- * // It will require modifications to work:
- * // - It may require correct/in-range values for request initialization.
- * // - It may require specifying regional endpoints when creating the service client as shown in
- * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
- * try (EchoEmpyClient echoEmpyClient = EchoEmpyClient.create()) {}
- * }
- * - *

Note: close() needs to be called on the EchoEmpyClient object to clean up resources such as - * threads. In the example above, try-with-resources is used, which automatically calls close(). - * - * - * - * - * - * - * - * - *
Methods
MethodDescriptionMethod Variants
- * - *

See the individual methods for example code. - * - *

Many parameters require resource names to be formatted in a particular way. To assist with - * these names, this class includes a format method for each type of name, and additionally a parse - * method to extract the individual identifiers contained within names that are returned. - * - *

This class can be customized by passing in a custom instance of EchoEmpySettings to create(). - * For example: - * - *

To customize credentials: - * - *

{@code
- * // This snippet has been automatically generated and should be regarded as a code template only.
- * // It will require modifications to work:
- * // - It may require correct/in-range values for request initialization.
- * // - It may require specifying regional endpoints when creating the service client as shown in
- * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
- * EchoEmpySettings echoEmpySettings =
- *     EchoEmpySettings.newBuilder()
- *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
- *         .build();
- * EchoEmpyClient echoEmpyClient = EchoEmpyClient.create(echoEmpySettings);
- * }
- * - *

To customize the endpoint: - * - *

{@code
- * // This snippet has been automatically generated and should be regarded as a code template only.
- * // It will require modifications to work:
- * // - It may require correct/in-range values for request initialization.
- * // - It may require specifying regional endpoints when creating the service client as shown in
- * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
- * EchoEmpySettings echoEmpySettings =
- *     EchoEmpySettings.newBuilder().setEndpoint(myEndpoint).build();
- * EchoEmpyClient echoEmpyClient = EchoEmpyClient.create(echoEmpySettings);
- * }
- * - *

Please refer to the GitHub repository's samples for more quickstart code snippets. - */ -@BetaApi -@Generated("by gapic-generator-java") -public class EchoEmpyClient implements BackgroundResource { - private final EchoEmpySettings settings; - private final EchoEmpyStub stub; - - /** Constructs an instance of EchoEmpyClient with default settings. */ - public static final EchoEmpyClient create() throws IOException { - return create(EchoEmpySettings.newBuilder().build()); - } - - /** - * Constructs an instance of EchoEmpyClient, using the given settings. The channels are created - * based on the settings passed in, or defaults for any settings that are not set. - */ - public static final EchoEmpyClient create(EchoEmpySettings settings) throws IOException { - return new EchoEmpyClient(settings); - } - - /** - * Constructs an instance of EchoEmpyClient, using the given stub for making calls. This is for - * advanced usage - prefer using create(EchoEmpySettings). - */ - public static final EchoEmpyClient create(EchoEmpyStub stub) { - return new EchoEmpyClient(stub); - } - - /** - * Constructs an instance of EchoEmpyClient, using the given settings. This is protected so that - * it is easy to make a subclass, but otherwise, the static factory methods should be preferred. - */ - protected EchoEmpyClient(EchoEmpySettings settings) throws IOException { - this.settings = settings; - this.stub = ((EchoEmpyStubSettings) settings.getStubSettings()).createStub(); - } - - protected EchoEmpyClient(EchoEmpyStub stub) { - this.settings = null; - this.stub = stub; - } - - public final EchoEmpySettings getSettings() { - return settings; - } - - public EchoEmpyStub getStub() { - return stub; - } - - @Override - public final void close() { - stub.close(); - } - - @Override - public void shutdown() { - stub.shutdown(); - } - - @Override - public boolean isShutdown() { - return stub.isShutdown(); - } - - @Override - public boolean isTerminated() { - return stub.isTerminated(); - } - - @Override - public void shutdownNow() { - stub.shutdownNow(); - } - - @Override - public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { - return stub.awaitTermination(duration, unit); - } -}