Skip to content

Commit 3259482

Browse files
committed
refactor(gapic): use overloads in SampleComposer instead of Sample property for custom comments
1 parent a4be62b commit 3259482

File tree

18 files changed

+88
-21
lines changed

18 files changed

+88
-21
lines changed

sdk-platform-java/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceSettingsClassComposer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.google.api.gax.rpc.StubSettings;
3131
import com.google.api.gax.rpc.TransportChannelProvider;
3232
import com.google.api.gax.rpc.UnaryCallSettings;
33+
import com.google.api.generator.gapic.composer.comment.CommentComposer;
3334
import com.google.api.generator.engine.ast.AnnotationNode;
3435
import com.google.api.generator.engine.ast.CastExpr;
3536
import com.google.api.generator.engine.ast.ClassDefinition;
@@ -169,7 +170,7 @@ private static List<CommentStatement> createClassHeaderComments(
169170
Optional<String> docSampleCode = Optional.empty();
170171
if (sampleCode.isPresent()) {
171172
samples.add(sampleCode.get());
172-
docSampleCode = Optional.of(SampleCodeWriter.writeInlineSample(sampleCode.get()));
173+
docSampleCode = Optional.of(SampleCodeWriter.writeInlineSample(sampleCode.get(), CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT_BASE));
173174
}
174175
// Create a sample for a LRO method using LRO-specific RetrySettings, if one exists in the
175176
// service.
@@ -188,7 +189,7 @@ private static List<CommentStatement> createClassHeaderComments(
188189
if (lroSampleCode.isPresent()) {
189190
samples.add(lroSampleCode.get());
190191
lroDocSampleCode =
191-
Optional.of(SampleCodeWriter.writeInlineSample(lroSampleCode.get()));
192+
Optional.of(SampleCodeWriter.writeInlineSample(lroSampleCode.get(), CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT_BASE));
192193
}
193194

194195
return SettingsCommentComposer.createClassHeaderComments(

sdk-platform-java/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceStubSettingsClassComposer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package com.google.api.generator.gapic.composer.common;
1616

17+
import com.google.api.generator.gapic.composer.comment.CommentComposer;
1718
import com.google.api.MonitoredResourceDescriptor;
1819
import com.google.api.core.ApiFunction;
1920
import com.google.api.core.ApiFuture;
@@ -459,7 +460,7 @@ private static List<CommentStatement> createClassHeaderComments(
459460
Optional<String> docSampleCode = Optional.empty();
460461
if (sampleCode.isPresent()) {
461462
samples.add(sampleCode.get());
462-
docSampleCode = Optional.of(SampleCodeWriter.writeInlineSample(sampleCode.get()));
463+
docSampleCode = Optional.of(SampleCodeWriter.writeInlineSample(sampleCode.get(), CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT_BASE));
463464
}
464465
// Create a sample for a LRO method using LRO-specific RetrySettings, if one exists in the
465466
// service.
@@ -478,7 +479,7 @@ private static List<CommentStatement> createClassHeaderComments(
478479
if (lroSampleCode.isPresent()) {
479480
samples.add(lroSampleCode.get());
480481
lroDocSampleCode =
481-
Optional.of(SampleCodeWriter.writeInlineSample(lroSampleCode.get()));
482+
Optional.of(SampleCodeWriter.writeInlineSample(lroSampleCode.get(), CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT_BASE));
482483
}
483484

484485
return SettingsCommentComposer.createClassHeaderComments(

sdk-platform-java/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/samplecode/SampleCodeWriter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,18 @@ public static String writeInlineSample(Sample sample) {
3434
return write(SampleComposer.composeInlineSample(sample));
3535
}
3636

37+
public static String writeInlineSample(Sample sample, List<Statement> sampleComment) {
38+
return write(SampleComposer.composeInlineSample(sample, sampleComment));
39+
}
40+
3741
public static String writeExecutableSample(Sample sample, String packkage) {
3842
return write(SampleComposer.composeExecutableSample(sample, packkage));
3943
}
4044

45+
public static String writeExecutableSample(Sample sample, String packkage, List<Statement> sampleComment) {
46+
return write(SampleComposer.composeExecutableSample(sample, packkage, sampleComment));
47+
}
48+
4149
@VisibleForTesting
4250
public static String write(Statement... statement) {
4351
return write(Arrays.asList(statement));

sdk-platform-java/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/samplecode/SampleComposer.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,26 +42,26 @@ static List<Statement> composeInlineSample(List<Statement> sampleBody) {
4242
}
4343

4444
static List<Statement> composeInlineSample(Sample sample) {
45-
return bodyWithComment(
46-
sample.sampleComment() != null
47-
? sample.sampleComment()
48-
: CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT,
49-
sample.body());
45+
return composeInlineSample(sample, CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT);
46+
}
47+
48+
static List<Statement> composeInlineSample(Sample sample, List<Statement> sampleComment) {
49+
return bodyWithComment(sampleComment, sample.body());
5050
}
5151

5252
// "Executable" meaning it includes the necessary code to execute java code,
5353
// still may require additional configuration to actually execute generated sample code
5454
static ClassDefinition composeExecutableSample(Sample sample, String pakkage) {
55+
return composeExecutableSample(sample, pakkage, CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT);
56+
}
57+
58+
static ClassDefinition composeExecutableSample(Sample sample, String pakkage, List<Statement> sampleComment) {
5559
return createExecutableSample(
5660
sample.fileHeader(),
5761
pakkage,
5862
sample.name(),
5963
sample.variableAssignments(),
60-
bodyWithComment(
61-
sample.sampleComment() != null
62-
? sample.sampleComment()
63-
: CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT,
64-
sample.body()),
64+
bodyWithComment(sampleComment, sample.body()),
6565
sample.regionTag());
6666
}
6767

sdk-platform-java/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/samplecode/SettingsSampleComposer.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import com.google.api.generator.engine.ast.Variable;
2727
import com.google.api.generator.engine.ast.VariableExpr;
2828
import com.google.api.generator.gapic.model.RegionTag;
29-
import com.google.api.generator.gapic.composer.comment.CommentComposer;
3029
import com.google.api.generator.gapic.model.Sample;
3130
import com.google.api.generator.gapic.utils.JavaStyle;
3231
import java.time.Duration;
@@ -248,7 +247,7 @@ public static Optional<Sample> composeSettingsSample(
248247
Sample.builder()
249248
.setBody(statements)
250249
.setRegionTag(regionTag)
251-
.setSampleComment(CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT_BASE)
250+
252251
.build());
253252
}
254253

@@ -444,7 +443,7 @@ public static Optional<Sample> composeLroSettingsSample(
444443
Sample.builder()
445444
.setBody(statements)
446445
.setRegionTag(regionTag)
447-
.setSampleComment(CommentComposer.AUTO_GENERATED_SAMPLE_COMMENT_BASE)
446+
448447
.build());
449448
}
450449
}

sdk-platform-java/gapic-generator-java/src/main/java/com/google/api/generator/gapic/model/Sample.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import com.google.auto.value.AutoValue;
2121
import com.google.common.collect.ImmutableList;
2222
import java.util.List;
23-
import javax.annotation.Nullable;
2423

2524
/**
2625
* This model represents a generated code sample. It contains the information needed to generate a
@@ -40,8 +39,7 @@ public abstract class Sample {
4039

4140
public abstract boolean isCanonical();
4241

43-
@Nullable
44-
public abstract List<Statement> sampleComment();
42+
4543

4644
public static Builder builder() {
4745
return new AutoValue_Sample.Builder()
@@ -92,7 +90,7 @@ public abstract static class Builder {
9290

9391
public abstract Builder setIsCanonical(boolean isCanonical);
9492

95-
public abstract Builder setSampleComment(List<Statement> sampleComment);
93+
9694

9795
abstract Builder setName(String name);
9896

sdk-platform-java/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/servicesettings/SyncEcho.golden

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public class SyncEcho {
3232
// - It may require correct/in-range values for request initialization.
3333
// - It may require specifying regional endpoints when creating the service client as shown in
3434
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
35+
// - The samples create a client that can be re-used for multiple requests
36+
// and are expected to be long-lived.
37+
// The clients should be resource managed properly and eventually closed.
38+
// For more information on client lifecycle, see
39+
// https://docs.cloud.google.com/java/docs/client-lifecycle
3540
EchoSettings.Builder echoSettingsBuilder = EchoSettings.newBuilder();
3641
echoSettingsBuilder
3742
.echoSettings()

sdk-platform-java/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/servicesettings/SyncEchoShouldGenerateAsUsual.golden

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public class SyncEchoShouldGenerateAsUsual {
3232
// - It may require correct/in-range values for request initialization.
3333
// - It may require specifying regional endpoints when creating the service client as shown in
3434
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
35+
// - The samples create a client that can be re-used for multiple requests
36+
// and are expected to be long-lived.
37+
// The clients should be resource managed properly and eventually closed.
38+
// For more information on client lifecycle, see
39+
// https://docs.cloud.google.com/java/docs/client-lifecycle
3540
EchoServiceShouldGeneratePartialUsualSettings.Builder
3641
echoServiceShouldGeneratePartialUsualSettingsBuilder =
3742
EchoServiceShouldGeneratePartialUsualSettings.newBuilder();

sdk-platform-java/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/servicesettings/SyncFastFibonacci.golden

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public class SyncFastFibonacci {
3232
// - It may require correct/in-range values for request initialization.
3333
// - It may require specifying regional endpoints when creating the service client as shown in
3434
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
35+
// - The samples create a client that can be re-used for multiple requests
36+
// and are expected to be long-lived.
37+
// The clients should be resource managed properly and eventually closed.
38+
// For more information on client lifecycle, see
39+
// https://docs.cloud.google.com/java/docs/client-lifecycle
3540
DeprecatedServiceSettings.Builder deprecatedServiceSettingsBuilder =
3641
DeprecatedServiceSettings.newBuilder();
3742
deprecatedServiceSettingsBuilder

sdk-platform-java/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/samples/servicesettings/SyncWait.golden

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ public class SyncWait {
3535
// - It may require correct/in-range values for request initialization.
3636
// - It may require specifying regional endpoints when creating the service client as shown in
3737
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
38+
// - The samples create a client that can be re-used for multiple requests
39+
// and are expected to be long-lived.
40+
// The clients should be resource managed properly and eventually closed.
41+
// For more information on client lifecycle, see
42+
// https://docs.cloud.google.com/java/docs/client-lifecycle
3843
EchoSettings.Builder echoSettingsBuilder = EchoSettings.newBuilder();
3944
TimedRetryAlgorithm timedRetryAlgorithm =
4045
OperationalTimedPollAlgorithm.create(

0 commit comments

Comments
 (0)