Skip to content

Commit b21c9a4

Browse files
feat: Update Gapic-Generator to generate libraries using java.time methods (#3321)
This PR leverages the changes in #1872 so the generated code uses the new `java.time` methods. All test-related changes are golden file/string changes. #### SonarCloud complaints The SonarCloud scanner complains about code duplication in the generator code, although after inspection I could not find a reason for stating so. It also complains about showcase although the changes in this folder are strictly golden-oriented. #### Downstream check failures They are of the form "could not find remote branch `vX.X.X` to checkout". This seems not related to this PR as it is also present in #3318
1 parent cdcc0a2 commit b21c9a4

File tree

50 files changed

+415
-396
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+415
-396
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ target/
2525
**/build/
2626
**/dist/
2727
library_generation/**/*.jar
28-
28+
**/google-java-format.jar

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
import com.google.longrunning.Operation;
105105
import com.google.protobuf.Empty;
106106
import java.io.IOException;
107+
import java.time.Duration;
107108
import java.util.ArrayList;
108109
import java.util.Arrays;
109110
import java.util.Collections;
@@ -120,7 +121,6 @@
120121
import java.util.stream.Collectors;
121122
import javax.annotation.Generated;
122123
import javax.annotation.Nullable;
123-
import org.threeten.bp.Duration;
124124

125125
public abstract class AbstractServiceStubSettingsClassComposer implements ClassComposer {
126126
private static final Statement EMPTY_LINE_STATEMENT = EmptyLineStatement.create();

gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java

+12-11
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ public static Expr createBatchingBuilderSettingsExpr(
390390
batchingSettingsBuilderExpr =
391391
MethodInvocationExpr.builder()
392392
.setExprReferenceExpr(batchingSettingsBuilderExpr)
393-
.setMethodName("setDelayThreshold")
393+
.setMethodName("setDelayThresholdDuration")
394394
.setArguments(
395395
createDurationOfMillisExpr(toValExpr(batchingSettings.delayThresholdMillis())))
396396
.build();
@@ -511,7 +511,7 @@ private static List<Expr> createRetrySettingsExprs(
511511
settingsBuilderExpr =
512512
MethodInvocationExpr.builder()
513513
.setExprReferenceExpr(settingsBuilderExpr)
514-
.setMethodName("setInitialRetryDelay")
514+
.setMethodName("setInitialRetryDelayDuration")
515515
.setArguments(createDurationOfMillisExpr(toValExpr(retryPolicy.getInitialBackoff())))
516516
.build();
517517

@@ -528,7 +528,7 @@ private static List<Expr> createRetrySettingsExprs(
528528
settingsBuilderExpr =
529529
MethodInvocationExpr.builder()
530530
.setExprReferenceExpr(settingsBuilderExpr)
531-
.setMethodName("setMaxRetryDelay")
531+
.setMethodName("setMaxRetryDelayDuration")
532532
.setArguments(createDurationOfMillisExpr(toValExpr(retryPolicy.getMaxBackoff())))
533533
.build();
534534
}
@@ -537,7 +537,7 @@ private static List<Expr> createRetrySettingsExprs(
537537
settingsBuilderExpr =
538538
MethodInvocationExpr.builder()
539539
.setExprReferenceExpr(settingsBuilderExpr)
540-
.setMethodName("setInitialRpcTimeout")
540+
.setMethodName("setInitialRpcTimeoutDuration")
541541
.setArguments(createDurationOfMillisExpr(toValExpr(settings.timeout())))
542542
.build();
543543
}
@@ -553,7 +553,8 @@ private static List<Expr> createRetrySettingsExprs(
553553
.build();
554554

555555
if (!settings.kind().equals(GapicRetrySettings.Kind.NONE)) {
556-
for (String setterMethodName : Arrays.asList("setMaxRpcTimeout", "setTotalTimeout")) {
556+
for (String setterMethodName :
557+
Arrays.asList("setMaxRpcTimeoutDuration", "setTotalTimeoutDuration")) {
557558
settingsBuilderExpr =
558559
MethodInvocationExpr.builder()
559560
.setExprReferenceExpr(settingsBuilderExpr)
@@ -614,7 +615,7 @@ private static Expr createLroRetrySettingsExpr(
614615
lroRetrySettingsExpr =
615616
MethodInvocationExpr.builder()
616617
.setExprReferenceExpr(lroRetrySettingsExpr)
617-
.setMethodName("setInitialRetryDelay")
618+
.setMethodName("setInitialRetryDelayDuration")
618619
.setArguments(createDurationOfMillisExpr(toValExpr(initialPollDelayMillis)))
619620
.build();
620621

@@ -628,7 +629,7 @@ private static Expr createLroRetrySettingsExpr(
628629
lroRetrySettingsExpr =
629630
MethodInvocationExpr.builder()
630631
.setExprReferenceExpr(lroRetrySettingsExpr)
631-
.setMethodName("setMaxRetryDelay")
632+
.setMethodName("setMaxRetryDelayDuration")
632633
.setArguments(createDurationOfMillisExpr(toValExpr(maxPollDelayMillis)))
633634
.build();
634635

@@ -638,7 +639,7 @@ private static Expr createLroRetrySettingsExpr(
638639
lroRetrySettingsExpr =
639640
MethodInvocationExpr.builder()
640641
.setExprReferenceExpr(lroRetrySettingsExpr)
641-
.setMethodName("setInitialRpcTimeout")
642+
.setMethodName("setInitialRpcTimeoutDuration")
642643
.setArguments(zeroDurationExpr)
643644
.build();
644645

@@ -654,14 +655,14 @@ private static Expr createLroRetrySettingsExpr(
654655
lroRetrySettingsExpr =
655656
MethodInvocationExpr.builder()
656657
.setExprReferenceExpr(lroRetrySettingsExpr)
657-
.setMethodName("setMaxRpcTimeout")
658+
.setMethodName("setMaxRpcTimeoutDuration")
658659
.setArguments(zeroDurationExpr)
659660
.build();
660661

661662
lroRetrySettingsExpr =
662663
MethodInvocationExpr.builder()
663664
.setExprReferenceExpr(lroRetrySettingsExpr)
664-
.setMethodName("setTotalTimeout")
665+
.setMethodName("setTotalTimeoutDuration")
665666
.setArguments(createDurationOfMillisExpr(toValExpr(totalPollTimeoutMillis)))
666667
.build();
667668

@@ -714,7 +715,7 @@ private static TypeStore createStaticTypes() {
714715
List<Class<?>> concreteClazzes =
715716
Arrays.asList(
716717
BatchingSettings.class,
717-
org.threeten.bp.Duration.class,
718+
java.time.Duration.class,
718719
FlowControlSettings.class,
719720
FlowController.LimitExceededBehavior.class,
720721
ImmutableMap.class,

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,15 @@ public static Optional<Sample> composeSettingsSample(
7070
.build();
7171

7272
// Builder with set value method
73-
// e.g foobarSettingBuilder.fooSetting().setRetrySettings(
74-
// echoSettingsBuilder.echoSettings().getRetrySettings().toBuilder().setTotalTimeout(Duration.ofSeconds(30)).build());
73+
// e.g. foobarSettingBuilder.fooSetting().setRetrySettings(
74+
// echoSettingsBuilder.echoSettings().getRetrySettings().toBuilder()
75+
// .setTotalTimeoutDuration(Duration.ofSeconds(30)).build());
7576
MethodInvocationExpr settingBuilderMethodInvocationExpr =
7677
MethodInvocationExpr.builder()
7778
.setExprReferenceExpr(localSettingsVarExpr)
7879
.setMethodName(
7980
JavaStyle.toLowerCamelCase(String.format("%sSettings", methodNameOpt.get())))
8081
.build();
81-
String disambiguation = "Settings";
8282
MethodInvocationExpr retrySettingsArgExpr =
8383
MethodInvocationExpr.builder()
8484
.setExprReferenceExpr(settingBuilderMethodInvocationExpr)
@@ -364,7 +364,7 @@ public static Optional<Sample> composeLroSettingsSample(
364364
retrySettingsArgExpr =
365365
MethodInvocationExpr.builder()
366366
.setExprReferenceExpr(retrySettingsArgExpr)
367-
.setMethodName("setMaxRetryDelay")
367+
.setMethodName("setMaxRetryDelayDuration")
368368
.setArguments(ofFiveThousandMillisMethodInvocationExpr)
369369
.build();
370370
retrySettingsArgExpr =

gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposerTest.java

+14-14
Original file line numberDiff line numberDiff line change
@@ -119,20 +119,20 @@ void paramDefinitionsBlock_basic() {
119119
"ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder();\n",
120120
"RetrySettings settings = null;\n",
121121
"settings ="
122-
+ " RetrySettings.newBuilder().setInitialRetryDelay("
122+
+ " RetrySettings.newBuilder().setInitialRetryDelayDuration("
123123
+ "Duration.ofMillis(100L)).setRetryDelayMultiplier(2.0)"
124-
+ ".setMaxRetryDelay(Duration.ofMillis(3000L))"
125-
+ ".setInitialRpcTimeout(Duration.ofMillis(10000L))"
124+
+ ".setMaxRetryDelayDuration(Duration.ofMillis(3000L))"
125+
+ ".setInitialRpcTimeoutDuration(Duration.ofMillis(10000L))"
126126
+ ".setRpcTimeoutMultiplier(1.0)"
127-
+ ".setMaxRpcTimeout(Duration.ofMillis(10000L))"
128-
+ ".setTotalTimeout(Duration.ofMillis(10000L)).build();\n",
127+
+ ".setMaxRpcTimeoutDuration(Duration.ofMillis(10000L))"
128+
+ ".setTotalTimeoutDuration(Duration.ofMillis(10000L)).build();\n",
129129
"definitions.put(\"retry_policy_1_params\", settings);\n",
130130
"settings ="
131131
+ " RetrySettings.newBuilder()"
132-
+ ".setInitialRpcTimeout(Duration.ofMillis(5000L))"
132+
+ ".setInitialRpcTimeoutDuration(Duration.ofMillis(5000L))"
133133
+ ".setRpcTimeoutMultiplier(1.0)"
134-
+ ".setMaxRpcTimeout(Duration.ofMillis(5000L))"
135-
+ ".setTotalTimeout(Duration.ofMillis(5000L)).build();\n",
134+
+ ".setMaxRpcTimeoutDuration(Duration.ofMillis(5000L))"
135+
+ ".setTotalTimeoutDuration(Duration.ofMillis(5000L)).build();\n",
136136
"definitions.put(\"no_retry_0_params\", settings);\n",
137137
"RETRY_PARAM_DEFINITIONS = definitions.build();\n",
138138
"}\n");
@@ -341,10 +341,10 @@ void lroBuilderExpr() {
341341
+ "WaitResponse.class))"
342342
+ ".setMetadataTransformer(ProtoOperationTransformers.MetadataTransformer.create("
343343
+ "WaitMetadata.class)).setPollingAlgorithm(OperationTimedPollAlgorithm.create("
344-
+ "RetrySettings.newBuilder().setInitialRetryDelay(Duration.ofMillis(5000L))"
345-
+ ".setRetryDelayMultiplier(1.5).setMaxRetryDelay(Duration.ofMillis(45000L))"
346-
+ ".setInitialRpcTimeout(Duration.ZERO).setRpcTimeoutMultiplier(1.0)"
347-
+ ".setMaxRpcTimeout(Duration.ZERO).setTotalTimeout(Duration.ofMillis(300000L))"
344+
+ "RetrySettings.newBuilder().setInitialRetryDelayDuration(Duration.ofMillis(5000L))"
345+
+ ".setRetryDelayMultiplier(1.5).setMaxRetryDelayDuration(Duration.ofMillis(45000L))"
346+
+ ".setInitialRpcTimeoutDuration(Duration.ZERO).setRpcTimeoutMultiplier(1.0)"
347+
+ ".setMaxRpcTimeoutDuration(Duration.ZERO).setTotalTimeoutDuration(Duration.ofMillis(300000L))"
348348
+ ".build()))");
349349
assertEquals(expected, writerVisitor.write());
350350
}
@@ -394,7 +394,7 @@ void batchingSettings_minimalFlowControlSettings() {
394394
+ "BatchingSettings.newBuilder()"
395395
+ ".setElementCountThreshold(100L)"
396396
+ ".setRequestByteThreshold(1048576L)"
397-
+ ".setDelayThreshold(Duration.ofMillis(10L))"
397+
+ ".setDelayThresholdDuration(Duration.ofMillis(10L))"
398398
+ ".setFlowControlSettings("
399399
+ "FlowControlSettings.newBuilder()"
400400
+ ".setLimitExceededBehavior(FlowController.LimitExceededBehavior.Ignore)"
@@ -451,7 +451,7 @@ void batchingSettings_fullFlowControlSettings() {
451451
+ "BatchingSettings.newBuilder()"
452452
+ ".setElementCountThreshold(1000L)"
453453
+ ".setRequestByteThreshold(1048576L)"
454-
+ ".setDelayThreshold(Duration.ofMillis(50L))"
454+
+ ".setDelayThresholdDuration(Duration.ofMillis(50L))"
455455
+ ".setFlowControlSettings("
456456
+ "FlowControlSettings.newBuilder()"
457457
+ ".setMaxOutstandingElementCount(100000L)"

gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/DeprecatedServiceStubSettings.golden

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ import com.google.common.collect.Lists;
2222
import com.google.protobuf.Empty;
2323
import com.google.testdata.v1.FibonacciRequest;
2424
import java.io.IOException;
25+
import java.time.Duration;
2526
import java.util.List;
2627
import javax.annotation.Generated;
27-
import org.threeten.bp.Duration;
2828

2929
// AUTO-GENERATED DOCUMENTATION AND CLASS.
3030
/**
@@ -206,10 +206,10 @@ public class DeprecatedServiceStubSettings extends StubSettings<DeprecatedServic
206206
RetrySettings settings = null;
207207
settings =
208208
RetrySettings.newBuilder()
209-
.setInitialRpcTimeout(Duration.ofMillis(60000L))
209+
.setInitialRpcTimeoutDuration(Duration.ofMillis(60000L))
210210
.setRpcTimeoutMultiplier(1.0)
211-
.setMaxRpcTimeout(Duration.ofMillis(60000L))
212-
.setTotalTimeout(Duration.ofMillis(60000L))
211+
.setMaxRpcTimeoutDuration(Duration.ofMillis(60000L))
212+
.setTotalTimeoutDuration(Duration.ofMillis(60000L))
213213
.build();
214214
definitions.put("no_retry_0_params", settings);
215215
RETRY_PARAM_DEFINITIONS = definitions.build();

gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/EchoSettings.golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ import javax.annotation.Generated;
8989
* RetrySettings.newBuilder()
9090
* .setInitialRetryDelayDuration(Duration.ofMillis(500))
9191
* .setRetryDelayMultiplier(1.5)
92-
* .setMaxRetryDelay(Duration.ofMillis(5000))
92+
* .setMaxRetryDelayDuration(Duration.ofMillis(5000))
9393
* .setTotalTimeoutDuration(Duration.ofHours(24))
9494
* .build());
9595
* echoSettingsBuilder

gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/EchoStubSettings.golden

+15-15
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ import com.google.showcase.v1beta1.WaitMetadata;
4949
import com.google.showcase.v1beta1.WaitRequest;
5050
import com.google.showcase.v1beta1.WaitResponse;
5151
import java.io.IOException;
52+
import java.time.Duration;
5253
import java.util.List;
5354
import javax.annotation.Generated;
54-
import org.threeten.bp.Duration;
5555

5656
// AUTO-GENERATED DOCUMENTATION AND CLASS.
5757
/**
@@ -118,7 +118,7 @@ import org.threeten.bp.Duration;
118118
* RetrySettings.newBuilder()
119119
* .setInitialRetryDelayDuration(Duration.ofMillis(500))
120120
* .setRetryDelayMultiplier(1.5)
121-
* .setMaxRetryDelay(Duration.ofMillis(5000))
121+
* .setMaxRetryDelayDuration(Duration.ofMillis(5000))
122122
* .setTotalTimeoutDuration(Duration.ofHours(24))
123123
* .build());
124124
* echoSettingsBuilder
@@ -438,21 +438,21 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
438438
RetrySettings settings = null;
439439
settings =
440440
RetrySettings.newBuilder()
441-
.setInitialRetryDelay(Duration.ofMillis(100L))
441+
.setInitialRetryDelayDuration(Duration.ofMillis(100L))
442442
.setRetryDelayMultiplier(2.0)
443-
.setMaxRetryDelay(Duration.ofMillis(3000L))
444-
.setInitialRpcTimeout(Duration.ofMillis(10000L))
443+
.setMaxRetryDelayDuration(Duration.ofMillis(3000L))
444+
.setInitialRpcTimeoutDuration(Duration.ofMillis(10000L))
445445
.setRpcTimeoutMultiplier(1.0)
446-
.setMaxRpcTimeout(Duration.ofMillis(10000L))
447-
.setTotalTimeout(Duration.ofMillis(10000L))
446+
.setMaxRpcTimeoutDuration(Duration.ofMillis(10000L))
447+
.setTotalTimeoutDuration(Duration.ofMillis(10000L))
448448
.build();
449449
definitions.put("retry_policy_1_params", settings);
450450
settings =
451451
RetrySettings.newBuilder()
452-
.setInitialRpcTimeout(Duration.ofMillis(5000L))
452+
.setInitialRpcTimeoutDuration(Duration.ofMillis(5000L))
453453
.setRpcTimeoutMultiplier(1.0)
454-
.setMaxRpcTimeout(Duration.ofMillis(5000L))
455-
.setTotalTimeout(Duration.ofMillis(5000L))
454+
.setMaxRpcTimeoutDuration(Duration.ofMillis(5000L))
455+
.setTotalTimeoutDuration(Duration.ofMillis(5000L))
456456
.build();
457457
definitions.put("no_retry_0_params", settings);
458458
RETRY_PARAM_DEFINITIONS = definitions.build();
@@ -575,13 +575,13 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
575575
.setPollingAlgorithm(
576576
OperationTimedPollAlgorithm.create(
577577
RetrySettings.newBuilder()
578-
.setInitialRetryDelay(Duration.ofMillis(5000L))
578+
.setInitialRetryDelayDuration(Duration.ofMillis(5000L))
579579
.setRetryDelayMultiplier(1.5)
580-
.setMaxRetryDelay(Duration.ofMillis(45000L))
581-
.setInitialRpcTimeout(Duration.ZERO)
580+
.setMaxRetryDelayDuration(Duration.ofMillis(45000L))
581+
.setInitialRpcTimeoutDuration(Duration.ZERO)
582582
.setRpcTimeoutMultiplier(1.0)
583-
.setMaxRpcTimeout(Duration.ZERO)
584-
.setTotalTimeout(Duration.ofMillis(300000L))
583+
.setMaxRpcTimeoutDuration(Duration.ZERO)
584+
.setTotalTimeoutDuration(Duration.ofMillis(300000L))
585585
.build()));
586586

587587
return builder;

gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/LoggingServiceV2StubSettings.golden

+12-12
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ import com.google.logging.v2.WriteLogEntriesRequest;
5454
import com.google.logging.v2.WriteLogEntriesResponse;
5555
import com.google.protobuf.Empty;
5656
import java.io.IOException;
57+
import java.time.Duration;
5758
import java.util.Collection;
5859
import java.util.List;
5960
import javax.annotation.Generated;
60-
import org.threeten.bp.Duration;
6161

6262
// AUTO-GENERATED DOCUMENTATION AND CLASS.
6363
/**
@@ -557,24 +557,24 @@ public class LoggingServiceV2StubSettings extends StubSettings<LoggingServiceV2S
557557
RetrySettings settings = null;
558558
settings =
559559
RetrySettings.newBuilder()
560-
.setInitialRetryDelay(Duration.ofMillis(100L))
560+
.setInitialRetryDelayDuration(Duration.ofMillis(100L))
561561
.setRetryDelayMultiplier(1.3)
562-
.setMaxRetryDelay(Duration.ofMillis(60000L))
563-
.setInitialRpcTimeout(Duration.ofMillis(60000L))
562+
.setMaxRetryDelayDuration(Duration.ofMillis(60000L))
563+
.setInitialRpcTimeoutDuration(Duration.ofMillis(60000L))
564564
.setRpcTimeoutMultiplier(1.0)
565-
.setMaxRpcTimeout(Duration.ofMillis(60000L))
566-
.setTotalTimeout(Duration.ofMillis(60000L))
565+
.setMaxRpcTimeoutDuration(Duration.ofMillis(60000L))
566+
.setTotalTimeoutDuration(Duration.ofMillis(60000L))
567567
.build();
568568
definitions.put("retry_policy_1_params", settings);
569569
settings =
570570
RetrySettings.newBuilder()
571-
.setInitialRetryDelay(Duration.ofMillis(100L))
571+
.setInitialRetryDelayDuration(Duration.ofMillis(100L))
572572
.setRetryDelayMultiplier(1.3)
573-
.setMaxRetryDelay(Duration.ofMillis(60000L))
574-
.setInitialRpcTimeout(Duration.ofMillis(3600000L))
573+
.setMaxRetryDelayDuration(Duration.ofMillis(60000L))
574+
.setInitialRpcTimeoutDuration(Duration.ofMillis(3600000L))
575575
.setRpcTimeoutMultiplier(1.0)
576-
.setMaxRpcTimeout(Duration.ofMillis(3600000L))
577-
.setTotalTimeout(Duration.ofMillis(3600000L))
576+
.setMaxRpcTimeoutDuration(Duration.ofMillis(3600000L))
577+
.setTotalTimeoutDuration(Duration.ofMillis(3600000L))
578578
.build();
579579
definitions.put("retry_policy_2_params", settings);
580580
RETRY_PARAM_DEFINITIONS = definitions.build();
@@ -651,7 +651,7 @@ public class LoggingServiceV2StubSettings extends StubSettings<LoggingServiceV2S
651651
BatchingSettings.newBuilder()
652652
.setElementCountThreshold(1000L)
653653
.setRequestByteThreshold(1048576L)
654-
.setDelayThreshold(Duration.ofMillis(50L))
654+
.setDelayThresholdDuration(Duration.ofMillis(50L))
655655
.setFlowControlSettings(
656656
FlowControlSettings.newBuilder()
657657
.setMaxOutstandingElementCount(100000L)

0 commit comments

Comments
 (0)