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

Commit 59f99a7

Browse files
feat: Enable REST transport for most of Java and Go clients (#840)
- [ ] 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 9af2813 commit 59f99a7

File tree

96 files changed

+6485
-24
lines changed

Some content is hidden

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

96 files changed

+6485
-24
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ implementation 'com.google.cloud:google-cloud-document-ai'
5757
If you are using Gradle without BOM, add this to your dependencies
5858

5959
```Groovy
60-
implementation 'com.google.cloud:google-cloud-document-ai:2.5.1'
60+
implementation 'com.google.cloud:google-cloud-document-ai:2.5.2'
6161
```
6262

6363
If you are using SBT, add this to your dependencies
6464

6565
```Scala
66-
libraryDependencies += "com.google.cloud" % "google-cloud-document-ai" % "2.5.1"
66+
libraryDependencies += "com.google.cloud" % "google-cloud-document-ai" % "2.5.2"
6767
```
6868

6969
## Authentication

google-cloud-document-ai/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@
7070
<groupId>com.google.api</groupId>
7171
<artifactId>gax-grpc</artifactId>
7272
</dependency>
73+
<dependency>
74+
<groupId>com.google.api</groupId>
75+
<artifactId>gax-httpjson</artifactId>
76+
</dependency>
7377
<dependency>
7478
<groupId>org.threeten</groupId>
7579
<artifactId>threetenbp</artifactId>
@@ -103,12 +107,24 @@
103107
</dependency>
104108

105109
<!-- Need testing utility classes for generated gRPC clients tests -->
110+
<dependency>
111+
<groupId>com.google.api</groupId>
112+
<artifactId>gax</artifactId>
113+
<classifier>testlib</classifier>
114+
<scope>test</scope>
115+
</dependency>
106116
<dependency>
107117
<groupId>com.google.api</groupId>
108118
<artifactId>gax-grpc</artifactId>
109119
<classifier>testlib</classifier>
110120
<scope>test</scope>
111121
</dependency>
122+
<dependency>
123+
<groupId>com.google.api</groupId>
124+
<artifactId>gax-httpjson</artifactId>
125+
<classifier>testlib</classifier>
126+
<scope>test</scope>
127+
</dependency>
112128
</dependencies>
113129

114130
<profiles>

google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/DocumentProcessorServiceClient.java

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
package com.google.cloud.documentai.v1;
1818

1919
import com.google.api.gax.core.BackgroundResource;
20+
import com.google.api.gax.httpjson.longrunning.OperationsClient;
2021
import com.google.api.gax.longrunning.OperationFuture;
2122
import com.google.api.gax.rpc.OperationCallable;
2223
import com.google.api.gax.rpc.UnaryCallable;
2324
import com.google.cloud.documentai.v1.stub.DocumentProcessorServiceStub;
2425
import com.google.cloud.documentai.v1.stub.DocumentProcessorServiceStubSettings;
2526
import com.google.longrunning.Operation;
26-
import com.google.longrunning.OperationsClient;
2727
import java.io.IOException;
2828
import java.util.concurrent.TimeUnit;
2929
import javax.annotation.Generated;
@@ -99,13 +99,29 @@
9999
* DocumentProcessorServiceClient.create(documentProcessorServiceSettings);
100100
* }</pre>
101101
*
102+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
103+
* the wire:
104+
*
105+
* <pre>{@code
106+
* // This snippet has been automatically generated for illustrative purposes only.
107+
* // It may require modifications to work in your environment.
108+
* DocumentProcessorServiceSettings documentProcessorServiceSettings =
109+
* DocumentProcessorServiceSettings.newBuilder()
110+
* .setTransportChannelProvider(
111+
* DocumentProcessorServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
112+
* .build();
113+
* DocumentProcessorServiceClient documentProcessorServiceClient =
114+
* DocumentProcessorServiceClient.create(documentProcessorServiceSettings);
115+
* }</pre>
116+
*
102117
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
103118
*/
104119
@Generated("by gapic-generator-java")
105120
public class DocumentProcessorServiceClient implements BackgroundResource {
106121
private final DocumentProcessorServiceSettings settings;
107122
private final DocumentProcessorServiceStub stub;
108-
private final OperationsClient operationsClient;
123+
private final OperationsClient httpJsonOperationsClient;
124+
private final com.google.longrunning.OperationsClient operationsClient;
109125

110126
/** Constructs an instance of DocumentProcessorServiceClient with default settings. */
111127
public static final DocumentProcessorServiceClient create() throws IOException {
@@ -139,13 +155,17 @@ protected DocumentProcessorServiceClient(DocumentProcessorServiceSettings settin
139155
throws IOException {
140156
this.settings = settings;
141157
this.stub = ((DocumentProcessorServiceStubSettings) settings.getStubSettings()).createStub();
142-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
158+
this.operationsClient =
159+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
160+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
143161
}
144162

145163
protected DocumentProcessorServiceClient(DocumentProcessorServiceStub stub) {
146164
this.settings = null;
147165
this.stub = stub;
148-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
166+
this.operationsClient =
167+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
168+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
149169
}
150170

151171
public final DocumentProcessorServiceSettings getSettings() {
@@ -160,10 +180,18 @@ public DocumentProcessorServiceStub getStub() {
160180
* Returns the OperationsClient that can be used to query the status of a long-running operation
161181
* returned by another API method call.
162182
*/
163-
public final OperationsClient getOperationsClient() {
183+
public final com.google.longrunning.OperationsClient getOperationsClient() {
164184
return operationsClient;
165185
}
166186

187+
/**
188+
* Returns the OperationsClient that can be used to query the status of a long-running operation
189+
* returned by another API method call.
190+
*/
191+
public final OperationsClient getHttpJsonOperationsClient() {
192+
return httpJsonOperationsClient;
193+
}
194+
167195
// AUTO-GENERATED DOCUMENTATION AND METHOD.
168196
/**
169197
* Processes a single document.

google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/DocumentProcessorServiceSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.google.api.gax.core.GoogleCredentialsProvider;
2222
import com.google.api.gax.core.InstantiatingExecutorProvider;
2323
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
24+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2425
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2526
import com.google.api.gax.rpc.ClientContext;
2627
import com.google.api.gax.rpc.ClientSettings;
@@ -128,11 +129,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
128129
return DocumentProcessorServiceStubSettings.defaultCredentialsProviderBuilder();
129130
}
130131

131-
/** Returns a builder for the default ChannelProvider for this service. */
132+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
132133
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
133134
return DocumentProcessorServiceStubSettings.defaultGrpcTransportProviderBuilder();
134135
}
135136

137+
/** Returns a builder for the default REST ChannelProvider for this service. */
138+
@BetaApi
139+
public static InstantiatingHttpJsonChannelProvider.Builder
140+
defaultHttpJsonTransportProviderBuilder() {
141+
return DocumentProcessorServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
142+
}
143+
136144
public static TransportChannelProvider defaultTransportChannelProvider() {
137145
return DocumentProcessorServiceStubSettings.defaultTransportChannelProvider();
138146
}
@@ -142,11 +150,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
142150
return DocumentProcessorServiceStubSettings.defaultApiClientHeaderProviderBuilder();
143151
}
144152

145-
/** Returns a new builder for this class. */
153+
/** Returns a new gRPC builder for this class. */
146154
public static Builder newBuilder() {
147155
return Builder.createDefault();
148156
}
149157

158+
/** Returns a new REST builder for this class. */
159+
@BetaApi
160+
public static Builder newHttpJsonBuilder() {
161+
return Builder.createHttpJsonDefault();
162+
}
163+
150164
/** Returns a new builder for this class. */
151165
public static Builder newBuilder(ClientContext clientContext) {
152166
return new Builder(clientContext);
@@ -185,6 +199,11 @@ private static Builder createDefault() {
185199
return new Builder(DocumentProcessorServiceStubSettings.newBuilder());
186200
}
187201

202+
@BetaApi
203+
private static Builder createHttpJsonDefault() {
204+
return new Builder(DocumentProcessorServiceStubSettings.newHttpJsonBuilder());
205+
}
206+
188207
public DocumentProcessorServiceStubSettings.Builder getStubSettingsBuilder() {
189208
return ((DocumentProcessorServiceStubSettings.Builder) getStubSettings());
190209
}

google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/stub/DocumentProcessorServiceStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@
4141
public abstract class DocumentProcessorServiceStub implements BackgroundResource {
4242

4343
public OperationsStub getOperationsStub() {
44-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
44+
return null;
45+
}
46+
47+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
48+
return null;
4549
}
4650

4751
public UnaryCallable<ProcessRequest, ProcessResponse> processDocumentCallable() {

google-cloud-document-ai/src/main/java/com/google/cloud/documentai/v1/stub/DocumentProcessorServiceStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
import com.google.api.gax.grpc.GrpcTransportChannel;
2626
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
2727
import com.google.api.gax.grpc.ProtoOperationTransformers;
28+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
29+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
30+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2831
import com.google.api.gax.longrunning.OperationSnapshot;
2932
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3033
import com.google.api.gax.retrying.RetrySettings;
@@ -139,6 +142,11 @@ public DocumentProcessorServiceStub createStub() throws IOException {
139142
.equals(GrpcTransportChannel.getGrpcTransportName())) {
140143
return GrpcDocumentProcessorServiceStub.create(this);
141144
}
145+
if (getTransportChannelProvider()
146+
.getTransportName()
147+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
148+
return HttpJsonDocumentProcessorServiceStub.create(this);
149+
}
142150
throw new UnsupportedOperationException(
143151
String.format(
144152
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -171,30 +179,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
171179
.setUseJwtAccessWithScope(true);
172180
}
173181

174-
/** Returns a builder for the default ChannelProvider for this service. */
182+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
175183
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
176184
return InstantiatingGrpcChannelProvider.newBuilder()
177185
.setMaxInboundMessageSize(Integer.MAX_VALUE);
178186
}
179187

188+
/** Returns a builder for the default REST ChannelProvider for this service. */
189+
@BetaApi
190+
public static InstantiatingHttpJsonChannelProvider.Builder
191+
defaultHttpJsonTransportProviderBuilder() {
192+
return InstantiatingHttpJsonChannelProvider.newBuilder();
193+
}
194+
180195
public static TransportChannelProvider defaultTransportChannelProvider() {
181196
return defaultGrpcTransportProviderBuilder().build();
182197
}
183198

184199
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
185-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
200+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
186201
return ApiClientHeaderProvider.newBuilder()
187202
.setGeneratedLibToken(
188203
"gapic", GaxProperties.getLibraryVersion(DocumentProcessorServiceStubSettings.class))
189204
.setTransportToken(
190205
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
191206
}
192207

193-
/** Returns a new builder for this class. */
208+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
209+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
210+
return ApiClientHeaderProvider.newBuilder()
211+
.setGeneratedLibToken(
212+
"gapic", GaxProperties.getLibraryVersion(DocumentProcessorServiceStubSettings.class))
213+
.setTransportToken(
214+
GaxHttpJsonProperties.getHttpJsonTokenName(),
215+
GaxHttpJsonProperties.getHttpJsonVersion());
216+
}
217+
218+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
219+
return DocumentProcessorServiceStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
220+
}
221+
222+
/** Returns a new gRPC builder for this class. */
194223
public static Builder newBuilder() {
195224
return Builder.createDefault();
196225
}
197226

227+
/** Returns a new REST builder for this class. */
228+
public static Builder newHttpJsonBuilder() {
229+
return Builder.createHttpJsonDefault();
230+
}
231+
198232
/** Returns a new builder for this class. */
199233
public static Builder newBuilder(ClientContext clientContext) {
200234
return new Builder(clientContext);
@@ -312,6 +346,19 @@ private static Builder createDefault() {
312346
return initDefaults(builder);
313347
}
314348

349+
private static Builder createHttpJsonDefault() {
350+
Builder builder = new Builder(((ClientContext) null));
351+
352+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
353+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
354+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
355+
builder.setEndpoint(getDefaultEndpoint());
356+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
357+
builder.setSwitchToMtlsEndpointAllowed(true);
358+
359+
return initDefaults(builder);
360+
}
361+
315362
private static Builder initDefaults(Builder builder) {
316363
builder
317364
.processDocumentSettings()

0 commit comments

Comments
 (0)