42
42
import com .google .api .generator .engine .ast .VariableExpr ;
43
43
import com .google .api .generator .engine .ast .WhileStatement ;
44
44
import com .google .api .generator .gapic .composer .defaultvalue .DefaultValueComposer ;
45
- import com .google .api .generator .gapic .composer .utils .ClassNames ;
46
45
import com .google .api .generator .gapic .model .Field ;
47
46
import com .google .api .generator .gapic .model .Message ;
48
47
import com .google .api .generator .gapic .model .Method ;
49
48
import com .google .api .generator .gapic .model .RegionTag ;
50
49
import com .google .api .generator .gapic .model .ResourceName ;
51
50
import com .google .api .generator .gapic .model .Sample ;
51
+ import com .google .api .generator .gapic .model .Service ;
52
52
import com .google .api .generator .gapic .utils .JavaStyle ;
53
53
import com .google .common .base .Preconditions ;
54
54
import com .google .common .base .Strings ;
61
61
62
62
public class ServiceClientCallableMethodSampleComposer {
63
63
private static Sample composeUnaryOrLroCallableSample (
64
- Method method , VariableExpr clientVarExpr , VariableExpr requestVarExpr ) {
64
+ Method method , VariableExpr clientVarExpr , VariableExpr requestVarExpr , Service service ) {
65
65
List <Statement > bodyStatements = new ArrayList <>();
66
66
// Create api future variable expression, and assign it with a value by invoking callable
67
67
// method.
@@ -125,8 +125,7 @@ private static Sample composeUnaryOrLroCallableSample(
125
125
126
126
RegionTag regionTag =
127
127
RegionTag .builder ()
128
- .setServiceName (
129
- ClassNames .getPureServiceName (clientVarExpr .variable ().identifier ().name ()))
128
+ .setServiceName (service .name ())
130
129
.setRpcName (method .name ())
131
130
.setIsAsynchronous (true )
132
131
.build ();
@@ -141,7 +140,8 @@ private static Sample composePagedCallableSample(
141
140
Method method ,
142
141
VariableExpr clientVarExpr ,
143
142
VariableExpr requestVarExpr ,
144
- Map <String , Message > messageTypes ) {
143
+ Map <String , Message > messageTypes ,
144
+ Service service ) {
145
145
// Find the repeated field.
146
146
Message methodOutputMessage = messageTypes .get (method .outputType ().reference ().fullName ());
147
147
Field repeatedPagedResultsField = methodOutputMessage .findAndUnwrapPaginatedRepeatedField ();
@@ -280,8 +280,7 @@ private static Sample composePagedCallableSample(
280
280
281
281
RegionTag regionTag =
282
282
RegionTag .builder ()
283
- .setServiceName (
284
- ClassNames .getPureServiceName (clientVarExpr .variable ().identifier ().name ()))
283
+ .setServiceName (service .name ())
285
284
.setRpcName (method .name ())
286
285
.setOverloadDisambiguation ("Paged" )
287
286
.setIsAsynchronous (true )
@@ -297,7 +296,8 @@ public static Sample composeLroCallableMethod(
297
296
Method method ,
298
297
TypeNode clientType ,
299
298
Map <String , ResourceName > resourceNames ,
300
- Map <String , Message > messageTypes ) {
299
+ Map <String , Message > messageTypes ,
300
+ Service service ) {
301
301
VariableExpr clientVarExpr =
302
302
VariableExpr .withVariable (
303
303
Variable .builder ()
@@ -397,7 +397,7 @@ public static Sample composeLroCallableMethod(
397
397
398
398
RegionTag regionTag =
399
399
RegionTag .builder ()
400
- .setServiceName (ClassNames . getPureServiceName ( clientType . reference (). name () ))
400
+ .setServiceName (service . name ())
401
401
.setRpcName (method .name ())
402
402
.setIsAsynchronous (true )
403
403
.setOverloadDisambiguation ("LRO" )
@@ -418,7 +418,8 @@ public static Sample composePagedCallableMethod(
418
418
Method method ,
419
419
TypeNode clientType ,
420
420
Map <String , ResourceName > resourceNames ,
421
- Map <String , Message > messageTypes ) {
421
+ Map <String , Message > messageTypes ,
422
+ Service service ) {
422
423
VariableExpr clientVarExpr =
423
424
VariableExpr .withVariable (
424
425
Variable .builder ()
@@ -534,7 +535,7 @@ public static Sample composePagedCallableMethod(
534
535
535
536
RegionTag regionTag =
536
537
RegionTag .builder ()
537
- .setServiceName (ClassNames . getPureServiceName ( clientType . reference (). name () ))
538
+ .setServiceName (service . name ())
538
539
.setRpcName (method .name ())
539
540
.setIsAsynchronous (true )
540
541
.build ();
@@ -546,7 +547,8 @@ public static Sample composeRegularCallableMethod(
546
547
Method method ,
547
548
TypeNode clientType ,
548
549
Map <String , ResourceName > resourceNames ,
549
- Map <String , Message > messageTypes ) {
550
+ Map <String , Message > messageTypes ,
551
+ Service service ) {
550
552
VariableExpr clientVarExpr =
551
553
VariableExpr .withVariable (
552
554
Variable .builder ()
@@ -578,13 +580,13 @@ public static Sample composeRegularCallableMethod(
578
580
RegionTag regionTag ;
579
581
if (method .isPaged ()) {
580
582
Sample pagedCallable =
581
- composePagedCallableSample (method , clientVarExpr , requestVarExpr , messageTypes );
583
+ composePagedCallableSample (method , clientVarExpr , requestVarExpr , messageTypes , service );
582
584
bodyStatements .addAll (pagedCallable .body ());
583
585
regionTag = pagedCallable .regionTag ();
584
586
} else {
585
587
// e.g. echoClient.echoCallable().futureCall(request)
586
588
Sample unaryOrLroCallable =
587
- composeUnaryOrLroCallableSample (method , clientVarExpr , requestVarExpr );
589
+ composeUnaryOrLroCallableSample (method , clientVarExpr , requestVarExpr , service );
588
590
bodyStatements .addAll (unaryOrLroCallable .body ());
589
591
regionTag = unaryOrLroCallable .regionTag ();
590
592
}
@@ -604,7 +606,8 @@ public static Sample composeStreamCallableMethod(
604
606
Method method ,
605
607
TypeNode clientType ,
606
608
Map <String , ResourceName > resourceNames ,
607
- Map <String , Message > messageTypes ) {
609
+ Map <String , Message > messageTypes ,
610
+ Service service ) {
608
611
VariableExpr clientVarExpr =
609
612
VariableExpr .withVariable (
610
613
Variable .builder ()
@@ -633,16 +636,19 @@ public static Sample composeStreamCallableMethod(
633
636
List <Statement > bodyStatements = new ArrayList <>();
634
637
if (method .stream ().equals (Method .Stream .SERVER )) {
635
638
// 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 );
637
641
bodyStatements .addAll (streamServer .body ());
638
642
regionTag = streamServer .regionTag ();
639
643
} else if (method .stream ().equals (Method .Stream .BIDI )) {
640
644
// e.g. echoClient.collect().clientStreamingCall(responseObserver);
641
- Sample streamBidi = composeStreamBidiSample (method , clientVarExpr , requestAssignmentExpr );
645
+ Sample streamBidi =
646
+ composeStreamBidiSample (method , clientVarExpr , requestAssignmentExpr , service );
642
647
bodyStatements .addAll (streamBidi .body ());
643
648
regionTag = streamBidi .regionTag ();
644
649
} else if (method .stream ().equals (Method .Stream .CLIENT )) {
645
- Sample streamClient = composeStreamClientSample (method , clientVarExpr , requestAssignmentExpr );
650
+ Sample streamClient =
651
+ composeStreamClientSample (method , clientVarExpr , requestAssignmentExpr , service );
646
652
bodyStatements .addAll (streamClient .body ());
647
653
regionTag = streamClient .regionTag ();
648
654
}
@@ -659,7 +665,10 @@ public static Sample composeStreamCallableMethod(
659
665
}
660
666
661
667
private static Sample composeStreamServerSample (
662
- Method method , VariableExpr clientVarExpr , AssignmentExpr requestAssignmentExpr ) {
668
+ Method method ,
669
+ VariableExpr clientVarExpr ,
670
+ AssignmentExpr requestAssignmentExpr ,
671
+ Service service ) {
663
672
List <Expr > bodyExprs = new ArrayList <>();
664
673
bodyExprs .add (requestAssignmentExpr );
665
674
@@ -720,16 +729,18 @@ private static Sample composeStreamServerSample(
720
729
721
730
RegionTag regionTag =
722
731
RegionTag .builder ()
723
- .setServiceName (
724
- ClassNames .getPureServiceName (clientVarExpr .variable ().identifier ().name ()))
732
+ .setServiceName (service .name ())
725
733
.setRpcName (method .name ())
726
734
.setIsAsynchronous (true )
727
735
.build ();
728
736
return Sample .builder ().setBody (bodyStatements ).setRegionTag (regionTag ).build ();
729
737
}
730
738
731
739
private static Sample composeStreamBidiSample (
732
- Method method , VariableExpr clientVarExpr , AssignmentExpr requestAssignmentExpr ) {
740
+ Method method ,
741
+ VariableExpr clientVarExpr ,
742
+ AssignmentExpr requestAssignmentExpr ,
743
+ Service service ) {
733
744
List <Expr > bodyExprs = new ArrayList <>();
734
745
735
746
// Create bidi stream variable expression and assign it with invoking client's bidi stream
@@ -800,16 +811,18 @@ private static Sample composeStreamBidiSample(
800
811
801
812
RegionTag regionTag =
802
813
RegionTag .builder ()
803
- .setServiceName (
804
- ClassNames .getPureServiceName (clientVarExpr .variable ().identifier ().name ()))
814
+ .setServiceName (service .name ())
805
815
.setRpcName (method .name ())
806
816
.setIsAsynchronous (true )
807
817
.build ();
808
818
return Sample .builder ().setBody (bodyStatements ).setRegionTag (regionTag ).build ();
809
819
}
810
820
811
821
private static Sample composeStreamClientSample (
812
- Method method , VariableExpr clientVarExpr , AssignmentExpr requestAssignmentExpr ) {
822
+ Method method ,
823
+ VariableExpr clientVarExpr ,
824
+ AssignmentExpr requestAssignmentExpr ,
825
+ Service service ) {
813
826
List <Expr > bodyExprs = new ArrayList <>();
814
827
815
828
// Create responseObserver variable expression.
@@ -933,8 +946,7 @@ private static Sample composeStreamClientSample(
933
946
934
947
RegionTag regionTag =
935
948
RegionTag .builder ()
936
- .setServiceName (
937
- ClassNames .getPureServiceName (clientVarExpr .variable ().identifier ().name ()))
949
+ .setServiceName (service .name ())
938
950
.setRpcName (method .name ())
939
951
.setIsAsynchronous (true )
940
952
.build ();
0 commit comments