Skip to content

Commit c851f67

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#178)
- [ ] 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 6ec45cd commit c851f67

File tree

102 files changed

+8086
-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.

102 files changed

+8086
-22
lines changed

java-data-fusion/google-cloud-data-fusion/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@
6262
<groupId>com.google.api</groupId>
6363
<artifactId>gax-grpc</artifactId>
6464
</dependency>
65+
<dependency>
66+
<groupId>com.google.api</groupId>
67+
<artifactId>gax-httpjson</artifactId>
68+
</dependency>
6569
<dependency>
6670
<groupId>org.threeten</groupId>
6771
<artifactId>threetenbp</artifactId>
@@ -86,12 +90,24 @@
8690
<scope>test</scope>
8791
</dependency>
8892
<!-- Need testing utility classes for generated gRPC clients tests -->
93+
<dependency>
94+
<groupId>com.google.api</groupId>
95+
<artifactId>gax</artifactId>
96+
<classifier>testlib</classifier>
97+
<scope>test</scope>
98+
</dependency>
8999
<dependency>
90100
<groupId>com.google.api</groupId>
91101
<artifactId>gax-grpc</artifactId>
92102
<classifier>testlib</classifier>
93103
<scope>test</scope>
94104
</dependency>
105+
<dependency>
106+
<groupId>com.google.api</groupId>
107+
<artifactId>gax-httpjson</artifactId>
108+
<classifier>testlib</classifier>
109+
<scope>test</scope>
110+
</dependency>
95111
</dependencies>
96112

97113
<profiles>

java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/DataFusionClient.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;
@@ -30,7 +31,6 @@
3031
import com.google.cloud.datafusion.v1.stub.DataFusionStubSettings;
3132
import com.google.common.util.concurrent.MoreExecutors;
3233
import com.google.longrunning.Operation;
33-
import com.google.longrunning.OperationsClient;
3434
import com.google.protobuf.Empty;
3535
import com.google.protobuf.FieldMask;
3636
import java.io.IOException;
@@ -106,13 +106,28 @@
106106
* DataFusionClient dataFusionClient = DataFusionClient.create(dataFusionSettings);
107107
* }</pre>
108108
*
109+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
110+
* the wire:
111+
*
112+
* <pre>{@code
113+
* // This snippet has been automatically generated for illustrative purposes only.
114+
* // It may require modifications to work in your environment.
115+
* DataFusionSettings dataFusionSettings =
116+
* DataFusionSettings.newBuilder()
117+
* .setTransportChannelProvider(
118+
* DataFusionSettings.defaultHttpJsonTransportProviderBuilder().build())
119+
* .build();
120+
* DataFusionClient dataFusionClient = DataFusionClient.create(dataFusionSettings);
121+
* }</pre>
122+
*
109123
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
110124
*/
111125
@Generated("by gapic-generator-java")
112126
public class DataFusionClient implements BackgroundResource {
113127
private final DataFusionSettings settings;
114128
private final DataFusionStub stub;
115-
private final OperationsClient operationsClient;
129+
private final OperationsClient httpJsonOperationsClient;
130+
private final com.google.longrunning.OperationsClient operationsClient;
116131

117132
/** Constructs an instance of DataFusionClient with default settings. */
118133
public static final DataFusionClient create() throws IOException {
@@ -142,13 +157,17 @@ public static final DataFusionClient create(DataFusionStub stub) {
142157
protected DataFusionClient(DataFusionSettings settings) throws IOException {
143158
this.settings = settings;
144159
this.stub = ((DataFusionStubSettings) settings.getStubSettings()).createStub();
145-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
160+
this.operationsClient =
161+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
162+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
146163
}
147164

148165
protected DataFusionClient(DataFusionStub stub) {
149166
this.settings = null;
150167
this.stub = stub;
151-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
168+
this.operationsClient =
169+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
170+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
152171
}
153172

154173
public final DataFusionSettings getSettings() {
@@ -163,10 +182,18 @@ public DataFusionStub getStub() {
163182
* Returns the OperationsClient that can be used to query the status of a long-running operation
164183
* returned by another API method call.
165184
*/
166-
public final OperationsClient getOperationsClient() {
185+
public final com.google.longrunning.OperationsClient getOperationsClient() {
167186
return operationsClient;
168187
}
169188

189+
/**
190+
* Returns the OperationsClient that can be used to query the status of a long-running operation
191+
* returned by another API method call.
192+
*/
193+
public final OperationsClient getHttpJsonOperationsClient() {
194+
return httpJsonOperationsClient;
195+
}
196+
170197
// AUTO-GENERATED DOCUMENTATION AND METHOD.
171198
/**
172199
* Lists possible versions for Data Fusion instances in the specified project and location.

java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/DataFusionSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.google.api.gax.core.GoogleCredentialsProvider;
2525
import com.google.api.gax.core.InstantiatingExecutorProvider;
2626
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
27+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2728
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2829
import com.google.api.gax.rpc.ClientContext;
2930
import com.google.api.gax.rpc.ClientSettings;
@@ -162,11 +163,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
162163
return DataFusionStubSettings.defaultCredentialsProviderBuilder();
163164
}
164165

165-
/** Returns a builder for the default ChannelProvider for this service. */
166+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
166167
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
167168
return DataFusionStubSettings.defaultGrpcTransportProviderBuilder();
168169
}
169170

171+
/** Returns a builder for the default REST ChannelProvider for this service. */
172+
@BetaApi
173+
public static InstantiatingHttpJsonChannelProvider.Builder
174+
defaultHttpJsonTransportProviderBuilder() {
175+
return DataFusionStubSettings.defaultHttpJsonTransportProviderBuilder();
176+
}
177+
170178
public static TransportChannelProvider defaultTransportChannelProvider() {
171179
return DataFusionStubSettings.defaultTransportChannelProvider();
172180
}
@@ -176,11 +184,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
176184
return DataFusionStubSettings.defaultApiClientHeaderProviderBuilder();
177185
}
178186

179-
/** Returns a new builder for this class. */
187+
/** Returns a new gRPC builder for this class. */
180188
public static Builder newBuilder() {
181189
return Builder.createDefault();
182190
}
183191

192+
/** Returns a new REST builder for this class. */
193+
@BetaApi
194+
public static Builder newHttpJsonBuilder() {
195+
return Builder.createHttpJsonDefault();
196+
}
197+
184198
/** Returns a new builder for this class. */
185199
public static Builder newBuilder(ClientContext clientContext) {
186200
return new Builder(clientContext);
@@ -218,6 +232,11 @@ private static Builder createDefault() {
218232
return new Builder(DataFusionStubSettings.newBuilder());
219233
}
220234

235+
@BetaApi
236+
private static Builder createHttpJsonDefault() {
237+
return new Builder(DataFusionStubSettings.newHttpJsonBuilder());
238+
}
239+
221240
public DataFusionStubSettings.Builder getStubSettingsBuilder() {
222241
return ((DataFusionStubSettings.Builder) getStubSettings());
223242
}

java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/stub/DataFusionStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,11 @@
4848
public abstract class DataFusionStub implements BackgroundResource {
4949

5050
public OperationsStub getOperationsStub() {
51-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
51+
return null;
52+
}
53+
54+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
55+
return null;
5256
}
5357

5458
public UnaryCallable<ListAvailableVersionsRequest, ListAvailableVersionsPagedResponse>

java-data-fusion/google-cloud-data-fusion/src/main/java/com/google/cloud/datafusion/v1/stub/DataFusionStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
import com.google.api.gax.grpc.GrpcTransportChannel;
3030
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3131
import com.google.api.gax.grpc.ProtoOperationTransformers;
32+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
33+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
34+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3235
import com.google.api.gax.longrunning.OperationSnapshot;
3336
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3437
import com.google.api.gax.retrying.RetrySettings;
@@ -315,6 +318,11 @@ public DataFusionStub createStub() throws IOException {
315318
.equals(GrpcTransportChannel.getGrpcTransportName())) {
316319
return GrpcDataFusionStub.create(this);
317320
}
321+
if (getTransportChannelProvider()
322+
.getTransportName()
323+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
324+
return HttpJsonDataFusionStub.create(this);
325+
}
318326
throw new UnsupportedOperationException(
319327
String.format(
320328
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -347,30 +355,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
347355
.setUseJwtAccessWithScope(true);
348356
}
349357

350-
/** Returns a builder for the default ChannelProvider for this service. */
358+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
351359
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
352360
return InstantiatingGrpcChannelProvider.newBuilder()
353361
.setMaxInboundMessageSize(Integer.MAX_VALUE);
354362
}
355363

364+
/** Returns a builder for the default REST ChannelProvider for this service. */
365+
@BetaApi
366+
public static InstantiatingHttpJsonChannelProvider.Builder
367+
defaultHttpJsonTransportProviderBuilder() {
368+
return InstantiatingHttpJsonChannelProvider.newBuilder();
369+
}
370+
356371
public static TransportChannelProvider defaultTransportChannelProvider() {
357372
return defaultGrpcTransportProviderBuilder().build();
358373
}
359374

360375
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
361-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
376+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
362377
return ApiClientHeaderProvider.newBuilder()
363378
.setGeneratedLibToken(
364379
"gapic", GaxProperties.getLibraryVersion(DataFusionStubSettings.class))
365380
.setTransportToken(
366381
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
367382
}
368383

369-
/** Returns a new builder for this class. */
384+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
385+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
386+
return ApiClientHeaderProvider.newBuilder()
387+
.setGeneratedLibToken(
388+
"gapic", GaxProperties.getLibraryVersion(DataFusionStubSettings.class))
389+
.setTransportToken(
390+
GaxHttpJsonProperties.getHttpJsonTokenName(),
391+
GaxHttpJsonProperties.getHttpJsonVersion());
392+
}
393+
394+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
395+
return DataFusionStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
396+
}
397+
398+
/** Returns a new gRPC builder for this class. */
370399
public static Builder newBuilder() {
371400
return Builder.createDefault();
372401
}
373402

403+
/** Returns a new REST builder for this class. */
404+
public static Builder newHttpJsonBuilder() {
405+
return Builder.createHttpJsonDefault();
406+
}
407+
374408
/** Returns a new builder for this class. */
375409
public static Builder newBuilder(ClientContext clientContext) {
376410
return new Builder(clientContext);
@@ -523,6 +557,19 @@ private static Builder createDefault() {
523557
return initDefaults(builder);
524558
}
525559

560+
private static Builder createHttpJsonDefault() {
561+
Builder builder = new Builder(((ClientContext) null));
562+
563+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
564+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
565+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
566+
builder.setEndpoint(getDefaultEndpoint());
567+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
568+
builder.setSwitchToMtlsEndpointAllowed(true);
569+
570+
return initDefaults(builder);
571+
}
572+
526573
private static Builder initDefaults(Builder builder) {
527574
builder
528575
.listAvailableVersionsSettings()

0 commit comments

Comments
 (0)