Skip to content

Commit 9055882

Browse files
feat: Enable REST transport for most of Java and Go clients (#250)
- [ ] 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 56e41a0 commit 9055882

23 files changed

+9214
-36
lines changed

java-dataproc-metastore/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ If you are using Maven, add this to your pom.xml file:
1919
<dependency>
2020
<groupId>com.google.cloud</groupId>
2121
<artifactId>google-cloud-dataproc-metastore</artifactId>
22-
<version>2.3.0</version>
22+
<version>2.3.1</version>
2323
</dependency>
2424
```
2525

2626
If you are using Gradle without BOM, add this to your dependencies
2727

2828
```Groovy
29-
implementation 'com.google.cloud:google-cloud-dataproc-metastore:2.3.0'
29+
implementation 'com.google.cloud:google-cloud-dataproc-metastore:2.3.1'
3030
```
3131

3232
If you are using SBT, add this to your dependencies
3333

3434
```Scala
35-
libraryDependencies += "com.google.cloud" % "google-cloud-dataproc-metastore" % "2.3.0"
35+
libraryDependencies += "com.google.cloud" % "google-cloud-dataproc-metastore" % "2.3.1"
3636
```
3737

3838
## Authentication

java-dataproc-metastore/google-cloud-dataproc-metastore/pom.xml

+16
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@
6666
<groupId>com.google.api</groupId>
6767
<artifactId>gax-grpc</artifactId>
6868
</dependency>
69+
<dependency>
70+
<groupId>com.google.api</groupId>
71+
<artifactId>gax-httpjson</artifactId>
72+
</dependency>
6973
<dependency>
7074
<groupId>org.threeten</groupId>
7175
<artifactId>threetenbp</artifactId>
@@ -95,12 +99,24 @@
9599
<scope>test</scope>
96100
</dependency>
97101
<!-- Need testing utility classes for generated gRPC clients tests -->
102+
<dependency>
103+
<groupId>com.google.api</groupId>
104+
<artifactId>gax</artifactId>
105+
<classifier>testlib</classifier>
106+
<scope>test</scope>
107+
</dependency>
98108
<dependency>
99109
<groupId>com.google.api</groupId>
100110
<artifactId>gax-grpc</artifactId>
101111
<classifier>testlib</classifier>
102112
<scope>test</scope>
103113
</dependency>
114+
<dependency>
115+
<groupId>com.google.api</groupId>
116+
<artifactId>gax-httpjson</artifactId>
117+
<classifier>testlib</classifier>
118+
<scope>test</scope>
119+
</dependency>
104120
</dependencies>
105121

106122
<profiles>

java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/DataprocMetastoreClient.java

+33-5
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.metastore.v1.stub.DataprocMetastoreStubSettings;
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;
@@ -121,13 +121,29 @@
121121
* DataprocMetastoreClient.create(dataprocMetastoreSettings);
122122
* }</pre>
123123
*
124+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
125+
* the wire:
126+
*
127+
* <pre>{@code
128+
* // This snippet has been automatically generated for illustrative purposes only.
129+
* // It may require modifications to work in your environment.
130+
* DataprocMetastoreSettings dataprocMetastoreSettings =
131+
* DataprocMetastoreSettings.newBuilder()
132+
* .setTransportChannelProvider(
133+
* DataprocMetastoreSettings.defaultHttpJsonTransportProviderBuilder().build())
134+
* .build();
135+
* DataprocMetastoreClient dataprocMetastoreClient =
136+
* DataprocMetastoreClient.create(dataprocMetastoreSettings);
137+
* }</pre>
138+
*
124139
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
125140
*/
126141
@Generated("by gapic-generator-java")
127142
public class DataprocMetastoreClient implements BackgroundResource {
128143
private final DataprocMetastoreSettings settings;
129144
private final DataprocMetastoreStub stub;
130-
private final OperationsClient operationsClient;
145+
private final OperationsClient httpJsonOperationsClient;
146+
private final com.google.longrunning.OperationsClient operationsClient;
131147

132148
/** Constructs an instance of DataprocMetastoreClient with default settings. */
133149
public static final DataprocMetastoreClient create() throws IOException {
@@ -159,13 +175,17 @@ public static final DataprocMetastoreClient create(DataprocMetastoreStub stub) {
159175
protected DataprocMetastoreClient(DataprocMetastoreSettings settings) throws IOException {
160176
this.settings = settings;
161177
this.stub = ((DataprocMetastoreStubSettings) settings.getStubSettings()).createStub();
162-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
178+
this.operationsClient =
179+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
180+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
163181
}
164182

165183
protected DataprocMetastoreClient(DataprocMetastoreStub stub) {
166184
this.settings = null;
167185
this.stub = stub;
168-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
186+
this.operationsClient =
187+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
188+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
169189
}
170190

171191
public final DataprocMetastoreSettings getSettings() {
@@ -180,10 +200,18 @@ public DataprocMetastoreStub getStub() {
180200
* Returns the OperationsClient that can be used to query the status of a long-running operation
181201
* returned by another API method call.
182202
*/
183-
public final OperationsClient getOperationsClient() {
203+
public final com.google.longrunning.OperationsClient getOperationsClient() {
184204
return operationsClient;
185205
}
186206

207+
/**
208+
* Returns the OperationsClient that can be used to query the status of a long-running operation
209+
* returned by another API method call.
210+
*/
211+
public final OperationsClient getHttpJsonOperationsClient() {
212+
return httpJsonOperationsClient;
213+
}
214+
187215
// AUTO-GENERATED DOCUMENTATION AND METHOD.
188216
/**
189217
* Lists services in a project and location.

java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/DataprocMetastoreSettings.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.google.api.gax.core.GoogleCredentialsProvider;
2626
import com.google.api.gax.core.InstantiatingExecutorProvider;
2727
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
28+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2829
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2930
import com.google.api.gax.rpc.ClientContext;
3031
import com.google.api.gax.rpc.ClientSettings;
@@ -236,11 +237,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
236237
return DataprocMetastoreStubSettings.defaultCredentialsProviderBuilder();
237238
}
238239

239-
/** Returns a builder for the default ChannelProvider for this service. */
240+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
240241
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
241242
return DataprocMetastoreStubSettings.defaultGrpcTransportProviderBuilder();
242243
}
243244

245+
/** Returns a builder for the default REST ChannelProvider for this service. */
246+
@BetaApi
247+
public static InstantiatingHttpJsonChannelProvider.Builder
248+
defaultHttpJsonTransportProviderBuilder() {
249+
return DataprocMetastoreStubSettings.defaultHttpJsonTransportProviderBuilder();
250+
}
251+
244252
public static TransportChannelProvider defaultTransportChannelProvider() {
245253
return DataprocMetastoreStubSettings.defaultTransportChannelProvider();
246254
}
@@ -250,11 +258,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
250258
return DataprocMetastoreStubSettings.defaultApiClientHeaderProviderBuilder();
251259
}
252260

253-
/** Returns a new builder for this class. */
261+
/** Returns a new gRPC builder for this class. */
254262
public static Builder newBuilder() {
255263
return Builder.createDefault();
256264
}
257265

266+
/** Returns a new REST builder for this class. */
267+
@BetaApi
268+
public static Builder newHttpJsonBuilder() {
269+
return Builder.createHttpJsonDefault();
270+
}
271+
258272
/** Returns a new builder for this class. */
259273
public static Builder newBuilder(ClientContext clientContext) {
260274
return new Builder(clientContext);
@@ -292,6 +306,11 @@ private static Builder createDefault() {
292306
return new Builder(DataprocMetastoreStubSettings.newBuilder());
293307
}
294308

309+
@BetaApi
310+
private static Builder createHttpJsonDefault() {
311+
return new Builder(DataprocMetastoreStubSettings.newHttpJsonBuilder());
312+
}
313+
295314
public DataprocMetastoreStubSettings.Builder getStubSettingsBuilder() {
296315
return ((DataprocMetastoreStubSettings.Builder) getStubSettings());
297316
}

java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/stub/DataprocMetastoreStub.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,11 @@
6262
public abstract class DataprocMetastoreStub implements BackgroundResource {
6363

6464
public OperationsStub getOperationsStub() {
65-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
65+
return null;
66+
}
67+
68+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
69+
return null;
6670
}
6771

6872
public UnaryCallable<ListServicesRequest, ListServicesPagedResponse> listServicesPagedCallable() {

java-dataproc-metastore/google-cloud-dataproc-metastore/src/main/java/com/google/cloud/metastore/v1/stub/DataprocMetastoreStubSettings.java

+50-3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
import com.google.api.gax.grpc.GrpcTransportChannel;
3131
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3232
import com.google.api.gax.grpc.ProtoOperationTransformers;
33+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
34+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
35+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3336
import com.google.api.gax.longrunning.OperationSnapshot;
3437
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3538
import com.google.api.gax.retrying.RetrySettings;
@@ -472,6 +475,11 @@ public DataprocMetastoreStub createStub() throws IOException {
472475
.equals(GrpcTransportChannel.getGrpcTransportName())) {
473476
return GrpcDataprocMetastoreStub.create(this);
474477
}
478+
if (getTransportChannelProvider()
479+
.getTransportName()
480+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
481+
return HttpJsonDataprocMetastoreStub.create(this);
482+
}
475483
throw new UnsupportedOperationException(
476484
String.format(
477485
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -504,30 +512,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
504512
.setUseJwtAccessWithScope(true);
505513
}
506514

507-
/** Returns a builder for the default ChannelProvider for this service. */
515+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
508516
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
509517
return InstantiatingGrpcChannelProvider.newBuilder()
510518
.setMaxInboundMessageSize(Integer.MAX_VALUE);
511519
}
512520

521+
/** Returns a builder for the default REST ChannelProvider for this service. */
522+
@BetaApi
523+
public static InstantiatingHttpJsonChannelProvider.Builder
524+
defaultHttpJsonTransportProviderBuilder() {
525+
return InstantiatingHttpJsonChannelProvider.newBuilder();
526+
}
527+
513528
public static TransportChannelProvider defaultTransportChannelProvider() {
514529
return defaultGrpcTransportProviderBuilder().build();
515530
}
516531

517532
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
518-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
533+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
519534
return ApiClientHeaderProvider.newBuilder()
520535
.setGeneratedLibToken(
521536
"gapic", GaxProperties.getLibraryVersion(DataprocMetastoreStubSettings.class))
522537
.setTransportToken(
523538
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
524539
}
525540

526-
/** Returns a new builder for this class. */
541+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
542+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
543+
return ApiClientHeaderProvider.newBuilder()
544+
.setGeneratedLibToken(
545+
"gapic", GaxProperties.getLibraryVersion(DataprocMetastoreStubSettings.class))
546+
.setTransportToken(
547+
GaxHttpJsonProperties.getHttpJsonTokenName(),
548+
GaxHttpJsonProperties.getHttpJsonVersion());
549+
}
550+
551+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
552+
return DataprocMetastoreStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
553+
}
554+
555+
/** Returns a new gRPC builder for this class. */
527556
public static Builder newBuilder() {
528557
return Builder.createDefault();
529558
}
530559

560+
/** Returns a new REST builder for this class. */
561+
public static Builder newHttpJsonBuilder() {
562+
return Builder.createHttpJsonDefault();
563+
}
564+
531565
/** Returns a new builder for this class. */
532566
public static Builder newBuilder(ClientContext clientContext) {
533567
return new Builder(clientContext);
@@ -777,6 +811,19 @@ private static Builder createDefault() {
777811
return initDefaults(builder);
778812
}
779813

814+
private static Builder createHttpJsonDefault() {
815+
Builder builder = new Builder(((ClientContext) null));
816+
817+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
818+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
819+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
820+
builder.setEndpoint(getDefaultEndpoint());
821+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
822+
builder.setSwitchToMtlsEndpointAllowed(true);
823+
824+
return initDefaults(builder);
825+
}
826+
780827
private static Builder initDefaults(Builder builder) {
781828
builder
782829
.listServicesSettings()

0 commit comments

Comments
 (0)