Skip to content

Commit bed9f72

Browse files
alicejlirenovate-botemmileafvam-google
authored
fix: fixes regionTag breakage (#1068)
* fix: fixes regionTag breakage * update credentials integration test * removing getPureServiceName function * linter * refactor test * chore(deps): update dependency org.apache.maven.plugins:maven-shade-plugin to v3.4.1 (#1072) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.apache.maven.plugins:maven-shade-plugin](https://maven.apache.org/plugins/) | `3.4.0` -> `3.4.1` | [![age](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-shade-plugin/3.4.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-shade-plugin/3.4.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-shade-plugin/3.4.1/compatibility-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-shade-plugin/3.4.1/confidence-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/gapic-generator-java). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yLjMiLCJ1cGRhdGVkSW5WZXIiOiIzNC42LjEifQ==--> * refactor: expose parsed api short name and version as fields in Service (#1075) * Exposes parsed apiShortName and apiVersion as fields in Service.java, since the source fields (defaultHost and protoPakkage) are both defined per-service. * Adds these two fields correspondingly to GapicClass so that it can be composed from Service given these two upstream fields, then replaces withDefaultHost (for building GapicClass) withApiShortName and withApiVersion. (Composers and tests where this is currently used for sample generation are updated) * This change will enable Spring Codegen (when eventually split out from this repo) to reuse this parsing logic in descriptive comments and metadata. It also moves the parsing logic to earlier in the parse-compose process. * fix: fix REST transport client creation generated javadoc sample (#1077) * fix: fixes regionTag breakage * remove errant comment Co-authored-by: WhiteSource Renovate <[email protected]> Co-authored-by: Emily Wang <[email protected]> Co-authored-by: Vadym Matsishevskyi <[email protected]>
1 parent 9ac0ca8 commit bed9f72

File tree

306 files changed

+1118
-746
lines changed

Some content is hidden

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

306 files changed

+1118
-746
lines changed

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

+27-12
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,11 @@ protected List<CommentStatement> createClassHeaderComments(
200200
ServiceClientHeaderSampleComposer.composeClassHeaderSample(
201201
service, clientType, resourceNames, messageTypes);
202202
Sample credentialsSampleCode =
203-
ServiceClientHeaderSampleComposer.composeSetCredentialsSample(clientType, settingsType);
203+
ServiceClientHeaderSampleComposer.composeSetCredentialsSample(
204+
clientType, settingsType, service);
204205
Sample endpointSampleCode =
205-
ServiceClientHeaderSampleComposer.composeSetEndpointSample(clientType, settingsType);
206+
ServiceClientHeaderSampleComposer.composeSetEndpointSample(
207+
clientType, settingsType, service);
206208
samples.addAll(Arrays.asList(classMethodSampleCode, credentialsSampleCode, endpointSampleCode));
207209
return ServiceClientCommentComposer.createClassHeaderComments(
208210
service,
@@ -580,7 +582,8 @@ private static List<MethodDefinition> createServiceMethods(
580582
messageTypes,
581583
typeStore,
582584
resourceNames,
583-
samples);
585+
samples,
586+
service);
584587

585588
// Collect data for gapic_metadata.json.
586589
grpcRpcToJavaMethodMetadata
@@ -598,7 +601,8 @@ private static List<MethodDefinition> createServiceMethods(
598601
messageTypes,
599602
typeStore,
600603
resourceNames,
601-
samples);
604+
samples,
605+
service);
602606

603607
// Collect data for gapic_metadata.json.
604608
grpcRpcToJavaMethodMetadata.get(method.name()).add(javaMethodNameFn.apply(generatedMethod));
@@ -638,7 +642,8 @@ private static List<MethodDefinition> createMethodVariants(
638642
Map<String, Message> messageTypes,
639643
TypeStore typeStore,
640644
Map<String, ResourceName> resourceNames,
641-
List<Sample> samples) {
645+
List<Sample> samples,
646+
Service service) {
642647
List<MethodDefinition> javaMethods = new ArrayList<>();
643648
String methodName = JavaStyle.toLowerCamelCase(method.name());
644649
TypeNode methodInputType = method.inputType();
@@ -702,7 +707,12 @@ private static List<MethodDefinition> createMethodVariants(
702707
Optional<Sample> methodSample =
703708
Optional.of(
704709
ServiceClientHeaderSampleComposer.composeShowcaseMethodSample(
705-
method, typeStore.get(clientName), signature, resourceNames, messageTypes));
710+
method,
711+
typeStore.get(clientName),
712+
signature,
713+
resourceNames,
714+
messageTypes,
715+
service));
706716
Optional<String> methodDocSample = Optional.empty();
707717
if (methodSample.isPresent()) {
708718
samples.add(methodSample.get());
@@ -746,7 +756,8 @@ private static MethodDefinition createMethodDefaultMethod(
746756
Map<String, Message> messageTypes,
747757
TypeStore typeStore,
748758
Map<String, ResourceName> resourceNames,
749-
List<Sample> samples) {
759+
List<Sample> samples,
760+
Service service) {
750761
String methodName = JavaStyle.toLowerCamelCase(method.name());
751762
TypeNode methodInputType = method.inputType();
752763
TypeNode methodOutputType =
@@ -790,7 +801,7 @@ private static MethodDefinition createMethodDefaultMethod(
790801
Optional<Sample> defaultMethodSample =
791802
Optional.of(
792803
ServiceClientMethodSampleComposer.composeCanonicalSample(
793-
method, typeStore.get(clientName), resourceNames, messageTypes));
804+
method, typeStore.get(clientName), resourceNames, messageTypes, service));
794805
Optional<String> defaultMethodDocSample = Optional.empty();
795806
if (defaultMethodSample.isPresent()) {
796807
samples.add(defaultMethodSample.get());
@@ -932,15 +943,17 @@ private static MethodDefinition createCallableMethod(
932943
method,
933944
typeStore.get(ClassNames.getServiceClientClassName(service)),
934945
resourceNames,
935-
messageTypes));
946+
messageTypes,
947+
service));
936948
} else if (callableMethodKind.equals(CallableMethodKind.PAGED)) {
937949
sampleCode =
938950
Optional.of(
939951
ServiceClientCallableMethodSampleComposer.composePagedCallableMethod(
940952
method,
941953
typeStore.get(ClassNames.getServiceClientClassName(service)),
942954
resourceNames,
943-
messageTypes));
955+
messageTypes,
956+
service));
944957
} else if (callableMethodKind.equals(CallableMethodKind.REGULAR)) {
945958
if (method.stream().equals(Stream.NONE)) {
946959
sampleCode =
@@ -949,15 +962,17 @@ private static MethodDefinition createCallableMethod(
949962
method,
950963
typeStore.get(ClassNames.getServiceClientClassName(service)),
951964
resourceNames,
952-
messageTypes));
965+
messageTypes,
966+
service));
953967
} else {
954968
sampleCode =
955969
Optional.of(
956970
ServiceClientCallableMethodSampleComposer.composeStreamCallableMethod(
957971
method,
958972
typeStore.get(ClassNames.getServiceClientClassName(service)),
959973
resourceNames,
960-
messageTypes));
974+
messageTypes,
975+
service));
961976
}
962977
}
963978
Optional<String> sampleDocCode = Optional.empty();

src/main/java/com/google/api/generator/gapic/composer/grpcrest/ServiceClientClassComposer.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ protected List<CommentStatement> createClassHeaderComments(
5454
ServiceClientHeaderSampleComposer.composeClassHeaderSample(
5555
service, clientType, resourceNames, messageTypes);
5656
Sample credentialsSampleCode =
57-
ServiceClientHeaderSampleComposer.composeSetCredentialsSample(clientType, settingsType);
57+
ServiceClientHeaderSampleComposer.composeSetCredentialsSample(
58+
clientType, settingsType, service);
5859
Sample endpointSampleCode =
59-
ServiceClientHeaderSampleComposer.composeSetEndpointSample(clientType, settingsType);
60+
ServiceClientHeaderSampleComposer.composeSetEndpointSample(
61+
clientType, settingsType, service);
6062
Sample transportSampleCode =
6163
ServiceClientHeaderSampleComposer.composeTransportSample(
62-
clientType, settingsType, "newHttpJsonBuilder");
64+
clientType, settingsType, "newHttpJsonBuilder", service);
6365
samples.addAll(
6466
Arrays.asList(
6567
classMethodSampleCode, credentialsSampleCode, endpointSampleCode, transportSampleCode));

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

+39-27
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@
4242
import com.google.api.generator.engine.ast.VariableExpr;
4343
import com.google.api.generator.engine.ast.WhileStatement;
4444
import com.google.api.generator.gapic.composer.defaultvalue.DefaultValueComposer;
45-
import com.google.api.generator.gapic.composer.utils.ClassNames;
4645
import com.google.api.generator.gapic.model.Field;
4746
import com.google.api.generator.gapic.model.Message;
4847
import com.google.api.generator.gapic.model.Method;
4948
import com.google.api.generator.gapic.model.RegionTag;
5049
import com.google.api.generator.gapic.model.ResourceName;
5150
import com.google.api.generator.gapic.model.Sample;
51+
import com.google.api.generator.gapic.model.Service;
5252
import com.google.api.generator.gapic.utils.JavaStyle;
5353
import com.google.common.base.Preconditions;
5454
import com.google.common.base.Strings;
@@ -61,7 +61,7 @@
6161

6262
public class ServiceClientCallableMethodSampleComposer {
6363
private static Sample composeUnaryOrLroCallableSample(
64-
Method method, VariableExpr clientVarExpr, VariableExpr requestVarExpr) {
64+
Method method, VariableExpr clientVarExpr, VariableExpr requestVarExpr, Service service) {
6565
List<Statement> bodyStatements = new ArrayList<>();
6666
// Create api future variable expression, and assign it with a value by invoking callable
6767
// method.
@@ -125,8 +125,7 @@ private static Sample composeUnaryOrLroCallableSample(
125125

126126
RegionTag regionTag =
127127
RegionTag.builder()
128-
.setServiceName(
129-
ClassNames.getPureServiceName(clientVarExpr.variable().identifier().name()))
128+
.setServiceName(service.name())
130129
.setRpcName(method.name())
131130
.setIsAsynchronous(true)
132131
.build();
@@ -141,7 +140,8 @@ private static Sample composePagedCallableSample(
141140
Method method,
142141
VariableExpr clientVarExpr,
143142
VariableExpr requestVarExpr,
144-
Map<String, Message> messageTypes) {
143+
Map<String, Message> messageTypes,
144+
Service service) {
145145
// Find the repeated field.
146146
Message methodOutputMessage = messageTypes.get(method.outputType().reference().fullName());
147147
Field repeatedPagedResultsField = methodOutputMessage.findAndUnwrapPaginatedRepeatedField();
@@ -280,8 +280,7 @@ private static Sample composePagedCallableSample(
280280

281281
RegionTag regionTag =
282282
RegionTag.builder()
283-
.setServiceName(
284-
ClassNames.getPureServiceName(clientVarExpr.variable().identifier().name()))
283+
.setServiceName(service.name())
285284
.setRpcName(method.name())
286285
.setOverloadDisambiguation("Paged")
287286
.setIsAsynchronous(true)
@@ -297,7 +296,8 @@ public static Sample composeLroCallableMethod(
297296
Method method,
298297
TypeNode clientType,
299298
Map<String, ResourceName> resourceNames,
300-
Map<String, Message> messageTypes) {
299+
Map<String, Message> messageTypes,
300+
Service service) {
301301
VariableExpr clientVarExpr =
302302
VariableExpr.withVariable(
303303
Variable.builder()
@@ -397,7 +397,7 @@ public static Sample composeLroCallableMethod(
397397

398398
RegionTag regionTag =
399399
RegionTag.builder()
400-
.setServiceName(ClassNames.getPureServiceName(clientType.reference().name()))
400+
.setServiceName(service.name())
401401
.setRpcName(method.name())
402402
.setIsAsynchronous(true)
403403
.setOverloadDisambiguation("LRO")
@@ -418,7 +418,8 @@ public static Sample composePagedCallableMethod(
418418
Method method,
419419
TypeNode clientType,
420420
Map<String, ResourceName> resourceNames,
421-
Map<String, Message> messageTypes) {
421+
Map<String, Message> messageTypes,
422+
Service service) {
422423
VariableExpr clientVarExpr =
423424
VariableExpr.withVariable(
424425
Variable.builder()
@@ -534,7 +535,7 @@ public static Sample composePagedCallableMethod(
534535

535536
RegionTag regionTag =
536537
RegionTag.builder()
537-
.setServiceName(ClassNames.getPureServiceName(clientType.reference().name()))
538+
.setServiceName(service.name())
538539
.setRpcName(method.name())
539540
.setIsAsynchronous(true)
540541
.build();
@@ -546,7 +547,8 @@ public static Sample composeRegularCallableMethod(
546547
Method method,
547548
TypeNode clientType,
548549
Map<String, ResourceName> resourceNames,
549-
Map<String, Message> messageTypes) {
550+
Map<String, Message> messageTypes,
551+
Service service) {
550552
VariableExpr clientVarExpr =
551553
VariableExpr.withVariable(
552554
Variable.builder()
@@ -578,13 +580,13 @@ public static Sample composeRegularCallableMethod(
578580
RegionTag regionTag;
579581
if (method.isPaged()) {
580582
Sample pagedCallable =
581-
composePagedCallableSample(method, clientVarExpr, requestVarExpr, messageTypes);
583+
composePagedCallableSample(method, clientVarExpr, requestVarExpr, messageTypes, service);
582584
bodyStatements.addAll(pagedCallable.body());
583585
regionTag = pagedCallable.regionTag();
584586
} else {
585587
// e.g. echoClient.echoCallable().futureCall(request)
586588
Sample unaryOrLroCallable =
587-
composeUnaryOrLroCallableSample(method, clientVarExpr, requestVarExpr);
589+
composeUnaryOrLroCallableSample(method, clientVarExpr, requestVarExpr, service);
588590
bodyStatements.addAll(unaryOrLroCallable.body());
589591
regionTag = unaryOrLroCallable.regionTag();
590592
}
@@ -604,7 +606,8 @@ public static Sample composeStreamCallableMethod(
604606
Method method,
605607
TypeNode clientType,
606608
Map<String, ResourceName> resourceNames,
607-
Map<String, Message> messageTypes) {
609+
Map<String, Message> messageTypes,
610+
Service service) {
608611
VariableExpr clientVarExpr =
609612
VariableExpr.withVariable(
610613
Variable.builder()
@@ -633,16 +636,19 @@ public static Sample composeStreamCallableMethod(
633636
List<Statement> bodyStatements = new ArrayList<>();
634637
if (method.stream().equals(Method.Stream.SERVER)) {
635638
// e.g. ServerStream<EchoResponse> stream = echoClient.expandCallable().call(request);
636-
Sample streamServer = composeStreamServerSample(method, clientVarExpr, requestAssignmentExpr);
639+
Sample streamServer =
640+
composeStreamServerSample(method, clientVarExpr, requestAssignmentExpr, service);
637641
bodyStatements.addAll(streamServer.body());
638642
regionTag = streamServer.regionTag();
639643
} else if (method.stream().equals(Method.Stream.BIDI)) {
640644
// e.g. echoClient.collect().clientStreamingCall(responseObserver);
641-
Sample streamBidi = composeStreamBidiSample(method, clientVarExpr, requestAssignmentExpr);
645+
Sample streamBidi =
646+
composeStreamBidiSample(method, clientVarExpr, requestAssignmentExpr, service);
642647
bodyStatements.addAll(streamBidi.body());
643648
regionTag = streamBidi.regionTag();
644649
} else if (method.stream().equals(Method.Stream.CLIENT)) {
645-
Sample streamClient = composeStreamClientSample(method, clientVarExpr, requestAssignmentExpr);
650+
Sample streamClient =
651+
composeStreamClientSample(method, clientVarExpr, requestAssignmentExpr, service);
646652
bodyStatements.addAll(streamClient.body());
647653
regionTag = streamClient.regionTag();
648654
}
@@ -659,7 +665,10 @@ public static Sample composeStreamCallableMethod(
659665
}
660666

661667
private static Sample composeStreamServerSample(
662-
Method method, VariableExpr clientVarExpr, AssignmentExpr requestAssignmentExpr) {
668+
Method method,
669+
VariableExpr clientVarExpr,
670+
AssignmentExpr requestAssignmentExpr,
671+
Service service) {
663672
List<Expr> bodyExprs = new ArrayList<>();
664673
bodyExprs.add(requestAssignmentExpr);
665674

@@ -720,16 +729,18 @@ private static Sample composeStreamServerSample(
720729

721730
RegionTag regionTag =
722731
RegionTag.builder()
723-
.setServiceName(
724-
ClassNames.getPureServiceName(clientVarExpr.variable().identifier().name()))
732+
.setServiceName(service.name())
725733
.setRpcName(method.name())
726734
.setIsAsynchronous(true)
727735
.build();
728736
return Sample.builder().setBody(bodyStatements).setRegionTag(regionTag).build();
729737
}
730738

731739
private static Sample composeStreamBidiSample(
732-
Method method, VariableExpr clientVarExpr, AssignmentExpr requestAssignmentExpr) {
740+
Method method,
741+
VariableExpr clientVarExpr,
742+
AssignmentExpr requestAssignmentExpr,
743+
Service service) {
733744
List<Expr> bodyExprs = new ArrayList<>();
734745

735746
// Create bidi stream variable expression and assign it with invoking client's bidi stream
@@ -800,16 +811,18 @@ private static Sample composeStreamBidiSample(
800811

801812
RegionTag regionTag =
802813
RegionTag.builder()
803-
.setServiceName(
804-
ClassNames.getPureServiceName(clientVarExpr.variable().identifier().name()))
814+
.setServiceName(service.name())
805815
.setRpcName(method.name())
806816
.setIsAsynchronous(true)
807817
.build();
808818
return Sample.builder().setBody(bodyStatements).setRegionTag(regionTag).build();
809819
}
810820

811821
private static Sample composeStreamClientSample(
812-
Method method, VariableExpr clientVarExpr, AssignmentExpr requestAssignmentExpr) {
822+
Method method,
823+
VariableExpr clientVarExpr,
824+
AssignmentExpr requestAssignmentExpr,
825+
Service service) {
813826
List<Expr> bodyExprs = new ArrayList<>();
814827

815828
// Create responseObserver variable expression.
@@ -933,8 +946,7 @@ private static Sample composeStreamClientSample(
933946

934947
RegionTag regionTag =
935948
RegionTag.builder()
936-
.setServiceName(
937-
ClassNames.getPureServiceName(clientVarExpr.variable().identifier().name()))
949+
.setServiceName(service.name())
938950
.setRpcName(method.name())
939951
.setIsAsynchronous(true)
940952
.build();

0 commit comments

Comments
 (0)