Skip to content

Commit 55e4be1

Browse files
committed
chore: adapt to stubsettings inferring server address
1 parent f0e17ac commit 55e4be1

14 files changed

Lines changed: 50 additions & 30 deletions

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

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2100,24 +2100,30 @@ private static MethodDefinition createNestedClassBuildMethod(
21002100

21012101
private MethodDefinition createGetApiTracerContextMethod(Service service, TypeStore typeStore) {
21022102
TypeNode returnType = FIXED_TYPESTORE.get("ApiTracerContext");
2103-
VariableExpr serverAddressVarExpr =
2104-
VariableExpr.withVariable(
2105-
Variable.builder().setType(TypeNode.STRING).setName("serverAddress").build());
21062103

21072104
TypeNode serviceApiTracerContextType =
21082105
typeStore.get(ClassNames.getServiceApiTracerContextClassName(service));
21092106

2107+
Expr getEndpointContextExpr =
2108+
MethodInvocationExpr.builder().setMethodName("getEndpointContext").build();
2109+
2110+
Expr resolvedServerAddressExpr =
2111+
MethodInvocationExpr.builder()
2112+
.setExprReferenceExpr(getEndpointContextExpr)
2113+
.setMethodName("resolvedServerAddress")
2114+
.setReturnType(TypeNode.STRING)
2115+
.build();
2116+
21102117
return MethodDefinition.builder()
21112118
.setIsOverride(true)
21122119
.setScope(ScopeNode.PROTECTED)
21132120
.setReturnType(returnType)
21142121
.setName("getApiTracerContext")
2115-
.setArguments(serverAddressVarExpr.toBuilder().setIsDecl(true).build())
21162122
.setReturnExpr(
21172123
MethodInvocationExpr.builder()
21182124
.setStaticReferenceType(serviceApiTracerContextType)
21192125
.setMethodName("create")
2120-
.setArguments(serverAddressVarExpr)
2126+
.setArguments(resolvedServerAddressExpr)
21212127
.setReturnType(returnType)
21222128
.build())
21232129
.build();

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

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2024 Google LLC
2+
* Copyright 2026 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
1616

1717
package com.google.api.generator.gapic.composer.common;
1818

19+
import com.google.api.core.BetaApi;
1920
import com.google.api.core.InternalApi;
2021
import com.google.api.gax.tracing.ApiTracerContext;
2122
import com.google.api.generator.engine.ast.AnnotationNode;
@@ -42,6 +43,12 @@
4243
import javax.annotation.Generated;
4344
import javax.annotation.Nullable;
4445

46+
/**
47+
* Composes a service-specific implementation of {@link ApiTracerContext}.
48+
*
49+
* <p>The generated class is used to provide client-library-specific attributes (like the repository
50+
* URL) to {@link com.google.api.gax.tracing.ApiTracer}s.
51+
*/
4552
public class ServiceApiTracerContextClassComposer implements ClassComposer {
4653
private static final ServiceApiTracerContextClassComposer INSTANCE =
4754
new ServiceApiTracerContextClassComposer();
@@ -77,6 +84,7 @@ public GapicClass generate(GapicContext context, Service service) {
7784
private static List<AnnotationNode> createClassAnnotations() {
7885
return Arrays.asList(
7986
AnnotationNode.withType(FIXED_TYPESTORE.get("InternalApi")),
87+
AnnotationNode.withType(FIXED_TYPESTORE.get("BetaApi")),
8088
AnnotationNode.builder()
8189
.setType(FIXED_TYPESTORE.get("Generated"))
8290
.setDescription("by gapic-generator-java")
@@ -179,7 +187,12 @@ private static MethodDefinition createGetRepoMethod(GapicContext context) {
179187

180188
private static TypeStore createStaticTypes() {
181189
return new TypeStore(
182-
Arrays.asList(InternalApi.class, Generated.class, ApiTracerContext.class, Nullable.class));
190+
Arrays.asList(
191+
BetaApi.class,
192+
InternalApi.class,
193+
Generated.class,
194+
ApiTracerContext.class,
195+
Nullable.class));
183196
}
184197

185198
private TypeStore createDynamicTypes(Service service, String pakkage) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2024 Google LLC
2+
* Copyright 2026 Google LLC
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ public class EchoWithVersionStubSettings extends StubSettings<EchoWithVersionStu
168168
}
169169

170170
@Override
171-
protected ApiTracerContext getApiTracerContext(String serverAddress) {
172-
return EchoWithVersionApiTracerContext.create(serverAddress);
171+
protected ApiTracerContext getApiTracerContext() {
172+
return EchoWithVersionApiTracerContext.create(getEndpointContext().resolvedServerAddress());
173173
}
174174

175175
/** Builder for EchoWithVersionStubSettings. */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ public class DeprecatedServiceStubSettings extends StubSettings<DeprecatedServic
185185
}
186186

187187
@Override
188-
protected ApiTracerContext getApiTracerContext(String serverAddress) {
189-
return DeprecatedServiceApiTracerContext.create(serverAddress);
188+
protected ApiTracerContext getApiTracerContext() {
189+
return DeprecatedServiceApiTracerContext.create(getEndpointContext().resolvedServerAddress());
190190
}
191191

192192
/** Builder for DeprecatedServiceStubSettings. */

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,9 @@ public class EchoServiceShouldGeneratePartialUsualStubSettings
222222
}
223223

224224
@Override
225-
protected ApiTracerContext getApiTracerContext(String serverAddress) {
226-
return EchoServiceShouldGeneratePartialUsualApiTracerContext.create(serverAddress);
225+
protected ApiTracerContext getApiTracerContext() {
226+
return EchoServiceShouldGeneratePartialUsualApiTracerContext.create(
227+
getEndpointContext().resolvedServerAddress());
227228
}
228229

229230
/** Builder for EchoServiceShouldGeneratePartialUsualStubSettings. */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,8 +408,8 @@ public class EchoStubSettings extends StubSettings<EchoStubSettings> {
408408
}
409409

410410
@Override
411-
protected ApiTracerContext getApiTracerContext(String serverAddress) {
412-
return EchoApiTracerContext.create(serverAddress);
411+
protected ApiTracerContext getApiTracerContext() {
412+
return EchoApiTracerContext.create(getEndpointContext().resolvedServerAddress());
413413
}
414414

415415
/** Builder for EchoStubSettings. */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,8 @@ public class JobServiceStubSettings extends StubSettings<JobServiceStubSettings>
258258
}
259259

260260
@Override
261-
protected ApiTracerContext getApiTracerContext(String serverAddress) {
262-
return JobServiceApiTracerContext.create(serverAddress);
261+
protected ApiTracerContext getApiTracerContext() {
262+
return JobServiceApiTracerContext.create(getEndpointContext().resolvedServerAddress());
263263
}
264264

265265
/** Builder for JobServiceStubSettings. */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -510,8 +510,8 @@ public class LoggingServiceV2StubSettings extends StubSettings<LoggingServiceV2S
510510
}
511511

512512
@Override
513-
protected ApiTracerContext getApiTracerContext(String serverAddress) {
514-
return LoggingServiceV2ApiTracerContext.create(serverAddress);
513+
protected ApiTracerContext getApiTracerContext() {
514+
return LoggingServiceV2ApiTracerContext.create(getEndpointContext().resolvedServerAddress());
515515
}
516516

517517
/** Builder for LoggingServiceV2StubSettings. */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -520,8 +520,8 @@ public class PublisherStubSettings extends StubSettings<PublisherStubSettings> {
520520
}
521521

522522
@Override
523-
protected ApiTracerContext getApiTracerContext(String serverAddress) {
524-
return PublisherApiTracerContext.create(serverAddress);
523+
protected ApiTracerContext getApiTracerContext() {
524+
return PublisherApiTracerContext.create(getEndpointContext().resolvedServerAddress());
525525
}
526526

527527
/** Builder for PublisherStubSettings. */

0 commit comments

Comments
 (0)