Skip to content
This repository was archived by the owner on Jul 17, 2023. It is now read-only.

Commit 3e68385

Browse files
feat: Enable REST transport for most of Java and Go clients (#176)
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 456641589 Source-Link: googleapis/googleapis@8a251f5 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4ca52a529cf01308d9714950edffbea3560cfbdb Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGNhNTJhNTI5Y2YwMTMwOGQ5NzE0OTUwZWRmZmJlYTM1NjBjZmJkYiJ9
1 parent 4f222a0 commit 3e68385

File tree

234 files changed

+18821
-22
lines changed

Some content is hidden

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

234 files changed

+18821
-22
lines changed

google-cloud-datastream/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@
6464
<dependency>
6565
<groupId>com.google.api</groupId>
6666
<artifactId>gax-grpc</artifactId>
67+
</dependency>
68+
<dependency>
69+
<groupId>com.google.api</groupId>
70+
<artifactId>gax-httpjson</artifactId>
6771
</dependency>
6872
<dependency>
6973
<groupId>org.threeten</groupId>
@@ -89,12 +93,24 @@
8993
<scope>test</scope>
9094
</dependency>
9195
<!-- Need testing utility classes for generated gRPC clients tests -->
96+
<dependency>
97+
<groupId>com.google.api</groupId>
98+
<artifactId>gax</artifactId>
99+
<classifier>testlib</classifier>
100+
<scope>test</scope>
101+
</dependency>
92102
<dependency>
93103
<groupId>com.google.api</groupId>
94104
<artifactId>gax-grpc</artifactId>
95105
<classifier>testlib</classifier>
96106
<scope>test</scope>
97107
</dependency>
108+
<dependency>
109+
<groupId>com.google.api</groupId>
110+
<artifactId>gax-httpjson</artifactId>
111+
<classifier>testlib</classifier>
112+
<scope>test</scope>
113+
</dependency>
98114
</dependencies>
99115

100116
<profiles>

google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/DatastreamClient.java

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.google.api.core.ApiFuture;
2020
import com.google.api.core.ApiFutures;
2121
import com.google.api.gax.core.BackgroundResource;
22+
import com.google.api.gax.httpjson.longrunning.OperationsClient;
2223
import com.google.api.gax.longrunning.OperationFuture;
2324
import com.google.api.gax.paging.AbstractFixedSizeCollection;
2425
import com.google.api.gax.paging.AbstractPage;
@@ -34,7 +35,6 @@
3435
import com.google.cloud.location.Location;
3536
import com.google.common.util.concurrent.MoreExecutors;
3637
import com.google.longrunning.Operation;
37-
import com.google.longrunning.OperationsClient;
3838
import com.google.protobuf.Empty;
3939
import com.google.protobuf.FieldMask;
4040
import java.io.IOException;
@@ -107,13 +107,28 @@
107107
* DatastreamClient datastreamClient = DatastreamClient.create(datastreamSettings);
108108
* }</pre>
109109
*
110+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
111+
* the wire:
112+
*
113+
* <pre>{@code
114+
* // This snippet has been automatically generated for illustrative purposes only.
115+
* // It may require modifications to work in your environment.
116+
* DatastreamSettings datastreamSettings =
117+
* DatastreamSettings.newBuilder()
118+
* .setTransportChannelProvider(
119+
* DatastreamSettings.defaultHttpJsonTransportProviderBuilder().build())
120+
* .build();
121+
* DatastreamClient datastreamClient = DatastreamClient.create(datastreamSettings);
122+
* }</pre>
123+
*
110124
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
111125
*/
112126
@Generated("by gapic-generator-java")
113127
public class DatastreamClient implements BackgroundResource {
114128
private final DatastreamSettings settings;
115129
private final DatastreamStub stub;
116-
private final OperationsClient operationsClient;
130+
private final OperationsClient httpJsonOperationsClient;
131+
private final com.google.longrunning.OperationsClient operationsClient;
117132

118133
/** Constructs an instance of DatastreamClient with default settings. */
119134
public static final DatastreamClient create() throws IOException {
@@ -143,13 +158,17 @@ public static final DatastreamClient create(DatastreamStub stub) {
143158
protected DatastreamClient(DatastreamSettings settings) throws IOException {
144159
this.settings = settings;
145160
this.stub = ((DatastreamStubSettings) settings.getStubSettings()).createStub();
146-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
161+
this.operationsClient =
162+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
163+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
147164
}
148165

149166
protected DatastreamClient(DatastreamStub stub) {
150167
this.settings = null;
151168
this.stub = stub;
152-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
169+
this.operationsClient =
170+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
171+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
153172
}
154173

155174
public final DatastreamSettings getSettings() {
@@ -164,10 +183,18 @@ public DatastreamStub getStub() {
164183
* Returns the OperationsClient that can be used to query the status of a long-running operation
165184
* returned by another API method call.
166185
*/
167-
public final OperationsClient getOperationsClient() {
186+
public final com.google.longrunning.OperationsClient getOperationsClient() {
168187
return operationsClient;
169188
}
170189

190+
/**
191+
* Returns the OperationsClient that can be used to query the status of a long-running operation
192+
* returned by another API method call.
193+
*/
194+
public final OperationsClient getHttpJsonOperationsClient() {
195+
return httpJsonOperationsClient;
196+
}
197+
171198
// AUTO-GENERATED DOCUMENTATION AND METHOD.
172199
/**
173200
* Use this method to list connection profiles created in a project and location.

google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/DatastreamSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import com.google.api.gax.core.GoogleCredentialsProvider;
3030
import com.google.api.gax.core.InstantiatingExecutorProvider;
3131
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
32+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3233
import com.google.api.gax.rpc.ApiClientHeaderProvider;
3334
import com.google.api.gax.rpc.ClientContext;
3435
import com.google.api.gax.rpc.ClientSettings;
@@ -327,11 +328,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
327328
return DatastreamStubSettings.defaultCredentialsProviderBuilder();
328329
}
329330

330-
/** Returns a builder for the default ChannelProvider for this service. */
331+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
331332
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
332333
return DatastreamStubSettings.defaultGrpcTransportProviderBuilder();
333334
}
334335

336+
/** Returns a builder for the default REST ChannelProvider for this service. */
337+
@BetaApi
338+
public static InstantiatingHttpJsonChannelProvider.Builder
339+
defaultHttpJsonTransportProviderBuilder() {
340+
return DatastreamStubSettings.defaultHttpJsonTransportProviderBuilder();
341+
}
342+
335343
public static TransportChannelProvider defaultTransportChannelProvider() {
336344
return DatastreamStubSettings.defaultTransportChannelProvider();
337345
}
@@ -341,11 +349,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
341349
return DatastreamStubSettings.defaultApiClientHeaderProviderBuilder();
342350
}
343351

344-
/** Returns a new builder for this class. */
352+
/** Returns a new gRPC builder for this class. */
345353
public static Builder newBuilder() {
346354
return Builder.createDefault();
347355
}
348356

357+
/** Returns a new REST builder for this class. */
358+
@BetaApi
359+
public static Builder newHttpJsonBuilder() {
360+
return Builder.createHttpJsonDefault();
361+
}
362+
349363
/** Returns a new builder for this class. */
350364
public static Builder newBuilder(ClientContext clientContext) {
351365
return new Builder(clientContext);
@@ -383,6 +397,11 @@ private static Builder createDefault() {
383397
return new Builder(DatastreamStubSettings.newBuilder());
384398
}
385399

400+
@BetaApi
401+
private static Builder createHttpJsonDefault() {
402+
return new Builder(DatastreamStubSettings.newHttpJsonBuilder());
403+
}
404+
386405
public DatastreamStubSettings.Builder getStubSettingsBuilder() {
387406
return ((DatastreamStubSettings.Builder) getStubSettings());
388407
}

google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/stub/DatastreamStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@
8686
public abstract class DatastreamStub implements BackgroundResource {
8787

8888
public OperationsStub getOperationsStub() {
89-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
89+
return null;
90+
}
91+
92+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
93+
return null;
9094
}
9195

9296
public UnaryCallable<ListConnectionProfilesRequest, ListConnectionProfilesPagedResponse>

google-cloud-datastream/src/main/java/com/google/cloud/datastream/v1/stub/DatastreamStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@
3434
import com.google.api.gax.grpc.GrpcTransportChannel;
3535
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3636
import com.google.api.gax.grpc.ProtoOperationTransformers;
37+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
38+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
39+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3740
import com.google.api.gax.longrunning.OperationSnapshot;
3841
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3942
import com.google.api.gax.retrying.RetrySettings;
@@ -863,6 +866,11 @@ public DatastreamStub createStub() throws IOException {
863866
.equals(GrpcTransportChannel.getGrpcTransportName())) {
864867
return GrpcDatastreamStub.create(this);
865868
}
869+
if (getTransportChannelProvider()
870+
.getTransportName()
871+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
872+
return HttpJsonDatastreamStub.create(this);
873+
}
866874
throw new UnsupportedOperationException(
867875
String.format(
868876
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -895,30 +903,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
895903
.setUseJwtAccessWithScope(true);
896904
}
897905

898-
/** Returns a builder for the default ChannelProvider for this service. */
906+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
899907
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
900908
return InstantiatingGrpcChannelProvider.newBuilder()
901909
.setMaxInboundMessageSize(Integer.MAX_VALUE);
902910
}
903911

912+
/** Returns a builder for the default REST ChannelProvider for this service. */
913+
@BetaApi
914+
public static InstantiatingHttpJsonChannelProvider.Builder
915+
defaultHttpJsonTransportProviderBuilder() {
916+
return InstantiatingHttpJsonChannelProvider.newBuilder();
917+
}
918+
904919
public static TransportChannelProvider defaultTransportChannelProvider() {
905920
return defaultGrpcTransportProviderBuilder().build();
906921
}
907922

908923
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
909-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
924+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
910925
return ApiClientHeaderProvider.newBuilder()
911926
.setGeneratedLibToken(
912927
"gapic", GaxProperties.getLibraryVersion(DatastreamStubSettings.class))
913928
.setTransportToken(
914929
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
915930
}
916931

917-
/** Returns a new builder for this class. */
932+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
933+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
934+
return ApiClientHeaderProvider.newBuilder()
935+
.setGeneratedLibToken(
936+
"gapic", GaxProperties.getLibraryVersion(DatastreamStubSettings.class))
937+
.setTransportToken(
938+
GaxHttpJsonProperties.getHttpJsonTokenName(),
939+
GaxHttpJsonProperties.getHttpJsonVersion());
940+
}
941+
942+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
943+
return DatastreamStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
944+
}
945+
946+
/** Returns a new gRPC builder for this class. */
918947
public static Builder newBuilder() {
919948
return Builder.createDefault();
920949
}
921950

951+
/** Returns a new REST builder for this class. */
952+
public static Builder newHttpJsonBuilder() {
953+
return Builder.createHttpJsonDefault();
954+
}
955+
922956
/** Returns a new builder for this class. */
923957
public static Builder newBuilder(ClientContext clientContext) {
924958
return new Builder(clientContext);
@@ -1272,6 +1306,19 @@ private static Builder createDefault() {
12721306
return initDefaults(builder);
12731307
}
12741308

1309+
private static Builder createHttpJsonDefault() {
1310+
Builder builder = new Builder(((ClientContext) null));
1311+
1312+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
1313+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
1314+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
1315+
builder.setEndpoint(getDefaultEndpoint());
1316+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
1317+
builder.setSwitchToMtlsEndpointAllowed(true);
1318+
1319+
return initDefaults(builder);
1320+
}
1321+
12751322
private static Builder initDefaults(Builder builder) {
12761323
builder
12771324
.listConnectionProfilesSettings()

0 commit comments

Comments
 (0)