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

Commit e9284c1

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

File tree

18 files changed

+1213
-11
lines changed

18 files changed

+1213
-11
lines changed

google-cloud-optimization/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@
5858
<groupId>com.google.api</groupId>
5959
<artifactId>gax-grpc</artifactId>
6060
</dependency>
61+
<dependency>
62+
<groupId>com.google.api</groupId>
63+
<artifactId>gax-httpjson</artifactId>
64+
</dependency>
6165
<dependency>
6266
<groupId>org.threeten</groupId>
6367
<artifactId>threetenbp</artifactId>
@@ -77,12 +81,24 @@
7781
<scope>test</scope>
7882
</dependency>
7983
<!-- Need testing utility classes for generated gRPC clients tests -->
84+
<dependency>
85+
<groupId>com.google.api</groupId>
86+
<artifactId>gax</artifactId>
87+
<classifier>testlib</classifier>
88+
<scope>test</scope>
89+
</dependency>
8090
<dependency>
8191
<groupId>com.google.api</groupId>
8292
<artifactId>gax-grpc</artifactId>
8393
<classifier>testlib</classifier>
8494
<scope>test</scope>
8595
</dependency>
96+
<dependency>
97+
<groupId>com.google.api</groupId>
98+
<artifactId>gax-httpjson</artifactId>
99+
<classifier>testlib</classifier>
100+
<scope>test</scope>
101+
</dependency>
86102
</dependencies>
87103

88104
<profiles>

google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/FleetRoutingClient.java

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
package com.google.cloud.optimization.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.optimization.v1.stub.FleetRoutingStub;
2425
import com.google.cloud.optimization.v1.stub.FleetRoutingStubSettings;
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;
@@ -120,13 +120,28 @@
120120
* FleetRoutingClient fleetRoutingClient = FleetRoutingClient.create(fleetRoutingSettings);
121121
* }</pre>
122122
*
123+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
124+
* the wire:
125+
*
126+
* <pre>{@code
127+
* // This snippet has been automatically generated for illustrative purposes only.
128+
* // It may require modifications to work in your environment.
129+
* FleetRoutingSettings fleetRoutingSettings =
130+
* FleetRoutingSettings.newBuilder()
131+
* .setTransportChannelProvider(
132+
* FleetRoutingSettings.defaultHttpJsonTransportProviderBuilder().build())
133+
* .build();
134+
* FleetRoutingClient fleetRoutingClient = FleetRoutingClient.create(fleetRoutingSettings);
135+
* }</pre>
136+
*
123137
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
124138
*/
125139
@Generated("by gapic-generator-java")
126140
public class FleetRoutingClient implements BackgroundResource {
127141
private final FleetRoutingSettings settings;
128142
private final FleetRoutingStub stub;
129-
private final OperationsClient operationsClient;
143+
private final OperationsClient httpJsonOperationsClient;
144+
private final com.google.longrunning.OperationsClient operationsClient;
130145

131146
/** Constructs an instance of FleetRoutingClient with default settings. */
132147
public static final FleetRoutingClient create() throws IOException {
@@ -157,13 +172,17 @@ public static final FleetRoutingClient create(FleetRoutingStub stub) {
157172
protected FleetRoutingClient(FleetRoutingSettings settings) throws IOException {
158173
this.settings = settings;
159174
this.stub = ((FleetRoutingStubSettings) settings.getStubSettings()).createStub();
160-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
175+
this.operationsClient =
176+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
177+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
161178
}
162179

163180
protected FleetRoutingClient(FleetRoutingStub stub) {
164181
this.settings = null;
165182
this.stub = stub;
166-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
183+
this.operationsClient =
184+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
185+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
167186
}
168187

169188
public final FleetRoutingSettings getSettings() {
@@ -178,10 +197,18 @@ public FleetRoutingStub getStub() {
178197
* Returns the OperationsClient that can be used to query the status of a long-running operation
179198
* returned by another API method call.
180199
*/
181-
public final OperationsClient getOperationsClient() {
200+
public final com.google.longrunning.OperationsClient getOperationsClient() {
182201
return operationsClient;
183202
}
184203

204+
/**
205+
* Returns the OperationsClient that can be used to query the status of a long-running operation
206+
* returned by another API method call.
207+
*/
208+
public final OperationsClient getHttpJsonOperationsClient() {
209+
return httpJsonOperationsClient;
210+
}
211+
185212
// AUTO-GENERATED DOCUMENTATION AND METHOD.
186213
/**
187214
* Sends an `OptimizeToursRequest` containing a `ShipmentModel` and returns an

google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/FleetRoutingSettings.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;
@@ -112,11 +113,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
112113
return FleetRoutingStubSettings.defaultCredentialsProviderBuilder();
113114
}
114115

115-
/** Returns a builder for the default ChannelProvider for this service. */
116+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
116117
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
117118
return FleetRoutingStubSettings.defaultGrpcTransportProviderBuilder();
118119
}
119120

121+
/** Returns a builder for the default REST ChannelProvider for this service. */
122+
@BetaApi
123+
public static InstantiatingHttpJsonChannelProvider.Builder
124+
defaultHttpJsonTransportProviderBuilder() {
125+
return FleetRoutingStubSettings.defaultHttpJsonTransportProviderBuilder();
126+
}
127+
120128
public static TransportChannelProvider defaultTransportChannelProvider() {
121129
return FleetRoutingStubSettings.defaultTransportChannelProvider();
122130
}
@@ -126,11 +134,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
126134
return FleetRoutingStubSettings.defaultApiClientHeaderProviderBuilder();
127135
}
128136

129-
/** Returns a new builder for this class. */
137+
/** Returns a new gRPC builder for this class. */
130138
public static Builder newBuilder() {
131139
return Builder.createDefault();
132140
}
133141

142+
/** Returns a new REST builder for this class. */
143+
@BetaApi
144+
public static Builder newHttpJsonBuilder() {
145+
return Builder.createHttpJsonDefault();
146+
}
147+
134148
/** Returns a new builder for this class. */
135149
public static Builder newBuilder(ClientContext clientContext) {
136150
return new Builder(clientContext);
@@ -168,6 +182,11 @@ private static Builder createDefault() {
168182
return new Builder(FleetRoutingStubSettings.newBuilder());
169183
}
170184

185+
@BetaApi
186+
private static Builder createHttpJsonDefault() {
187+
return new Builder(FleetRoutingStubSettings.newHttpJsonBuilder());
188+
}
189+
171190
public FleetRoutingStubSettings.Builder getStubSettingsBuilder() {
172191
return ((FleetRoutingStubSettings.Builder) getStubSettings());
173192
}

google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/stub/FleetRoutingStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,11 @@
3838
public abstract class FleetRoutingStub implements BackgroundResource {
3939

4040
public OperationsStub getOperationsStub() {
41-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
41+
return null;
42+
}
43+
44+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
45+
return null;
4246
}
4347

4448
public UnaryCallable<OptimizeToursRequest, OptimizeToursResponse> optimizeToursCallable() {

google-cloud-optimization/src/main/java/com/google/cloud/optimization/v1/stub/FleetRoutingStubSettings.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;
@@ -121,6 +124,11 @@ public FleetRoutingStub createStub() throws IOException {
121124
.equals(GrpcTransportChannel.getGrpcTransportName())) {
122125
return GrpcFleetRoutingStub.create(this);
123126
}
127+
if (getTransportChannelProvider()
128+
.getTransportName()
129+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
130+
return HttpJsonFleetRoutingStub.create(this);
131+
}
124132
throw new UnsupportedOperationException(
125133
String.format(
126134
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -153,30 +161,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
153161
.setUseJwtAccessWithScope(true);
154162
}
155163

156-
/** Returns a builder for the default ChannelProvider for this service. */
164+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
157165
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
158166
return InstantiatingGrpcChannelProvider.newBuilder()
159167
.setMaxInboundMessageSize(Integer.MAX_VALUE);
160168
}
161169

170+
/** Returns a builder for the default REST ChannelProvider for this service. */
171+
@BetaApi
172+
public static InstantiatingHttpJsonChannelProvider.Builder
173+
defaultHttpJsonTransportProviderBuilder() {
174+
return InstantiatingHttpJsonChannelProvider.newBuilder();
175+
}
176+
162177
public static TransportChannelProvider defaultTransportChannelProvider() {
163178
return defaultGrpcTransportProviderBuilder().build();
164179
}
165180

166181
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
167-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
182+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
168183
return ApiClientHeaderProvider.newBuilder()
169184
.setGeneratedLibToken(
170185
"gapic", GaxProperties.getLibraryVersion(FleetRoutingStubSettings.class))
171186
.setTransportToken(
172187
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
173188
}
174189

175-
/** Returns a new builder for this class. */
190+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
191+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
192+
return ApiClientHeaderProvider.newBuilder()
193+
.setGeneratedLibToken(
194+
"gapic", GaxProperties.getLibraryVersion(FleetRoutingStubSettings.class))
195+
.setTransportToken(
196+
GaxHttpJsonProperties.getHttpJsonTokenName(),
197+
GaxHttpJsonProperties.getHttpJsonVersion());
198+
}
199+
200+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
201+
return FleetRoutingStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
202+
}
203+
204+
/** Returns a new gRPC builder for this class. */
176205
public static Builder newBuilder() {
177206
return Builder.createDefault();
178207
}
179208

209+
/** Returns a new REST builder for this class. */
210+
public static Builder newHttpJsonBuilder() {
211+
return Builder.createHttpJsonDefault();
212+
}
213+
180214
/** Returns a new builder for this class. */
181215
public static Builder newBuilder(ClientContext clientContext) {
182216
return new Builder(clientContext);
@@ -294,6 +328,19 @@ private static Builder createDefault() {
294328
return initDefaults(builder);
295329
}
296330

331+
private static Builder createHttpJsonDefault() {
332+
Builder builder = new Builder(((ClientContext) null));
333+
334+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
335+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
336+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
337+
builder.setEndpoint(getDefaultEndpoint());
338+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
339+
builder.setSwitchToMtlsEndpointAllowed(true);
340+
341+
return initDefaults(builder);
342+
}
343+
297344
private static Builder initDefaults(Builder builder) {
298345
builder
299346
.optimizeToursSettings()

0 commit comments

Comments
 (0)