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

19 files changed

+8945
-34
lines changed
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>
@@ -102,12 +106,24 @@
102106
<scope>test</scope>
103107
</dependency>
104108
<!-- Need testing utility classes for generated gRPC clients tests -->
109+
<dependency>
110+
<groupId>com.google.api</groupId>
111+
<artifactId>gax</artifactId>
112+
<classifier>testlib</classifier>
113+
<scope>test</scope>
114+
</dependency>
105115
<dependency>
106116
<groupId>com.google.api</groupId>
107117
<artifactId>gax-grpc</artifactId>
108118
<classifier>testlib</classifier>
109119
<scope>test</scope>
110120
</dependency>
121+
<dependency>
122+
<groupId>com.google.api</groupId>
123+
<artifactId>gax-httpjson</artifactId>
124+
<classifier>testlib</classifier>
125+
<scope>test</scope>
126+
</dependency>
111127
</dependencies>
112128

113129
<profiles>
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import com.google.api.core.ApiFuture;
2020
import com.google.api.core.ApiFutures;
21-
import com.google.api.core.BetaApi;
2221
import com.google.api.gax.core.BackgroundResource;
2322
import com.google.api.gax.paging.AbstractFixedSizeCollection;
2423
import com.google.api.gax.paging.AbstractPage;
@@ -106,6 +105,20 @@
106105
* CloudTasksClient cloudTasksClient = CloudTasksClient.create(cloudTasksSettings);
107106
* }</pre>
108107
*
108+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
109+
* the wire:
110+
*
111+
* <pre>{@code
112+
* // This snippet has been automatically generated for illustrative purposes only.
113+
* // It may require modifications to work in your environment.
114+
* CloudTasksSettings cloudTasksSettings =
115+
* CloudTasksSettings.newBuilder()
116+
* .setTransportChannelProvider(
117+
* CloudTasksSettings.defaultHttpJsonTransportProviderBuilder().build())
118+
* .build();
119+
* CloudTasksClient cloudTasksClient = CloudTasksClient.create(cloudTasksSettings);
120+
* }</pre>
121+
*
109122
* <p>Please refer to the repository's samples for more quickstart code snippets.
110123
*/
111124
@Generated("by gapic-generator-java")
@@ -130,7 +143,6 @@ public static final CloudTasksClient create(CloudTasksSettings settings) throws
130143
* Constructs an instance of CloudTasksClient, using the given stub for making calls. This is for
131144
* advanced usage - prefer using create(CloudTasksSettings).
132145
*/
133-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
134146
public static final CloudTasksClient create(CloudTasksStub stub) {
135147
return new CloudTasksClient(stub);
136148
}
@@ -144,7 +156,6 @@ protected CloudTasksClient(CloudTasksSettings settings) throws IOException {
144156
this.stub = ((CloudTasksStubSettings) settings.getStubSettings()).createStub();
145157
}
146158

147-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
148159
protected CloudTasksClient(CloudTasksStub stub) {
149160
this.settings = null;
150161
this.stub = stub;
@@ -154,7 +165,6 @@ public final CloudTasksSettings getSettings() {
154165
return settings;
155166
}
156167

157-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
158168
public CloudTasksStub getStub() {
159169
return stub;
160170
}
@@ -300,7 +310,7 @@ public final UnaryCallable<ListQueuesRequest, ListQueuesPagedResponse> listQueue
300310
* .build();
301311
* while (true) {
302312
* ListQueuesResponse response = cloudTasksClient.listQueuesCallable().call(request);
303-
* for (Queue element : response.getResponsesList()) {
313+
* for (Queue element : response.getQueuesList()) {
304314
* // doThingsWith(element);
305315
* }
306316
* String nextPageToken = response.getNextPageToken();
@@ -1785,7 +1795,7 @@ public final UnaryCallable<ListTasksRequest, ListTasksPagedResponse> listTasksPa
17851795
* .build();
17861796
* while (true) {
17871797
* ListTasksResponse response = cloudTasksClient.listTasksCallable().call(request);
1788-
* for (Task element : response.getResponsesList()) {
1798+
* for (Task element : response.getTasksList()) {
17891799
* // doThingsWith(element);
17901800
* }
17911801
* String nextPageToken = response.getNextPageToken();
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;
@@ -184,11 +185,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
184185
return CloudTasksStubSettings.defaultCredentialsProviderBuilder();
185186
}
186187

187-
/** Returns a builder for the default ChannelProvider for this service. */
188+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
188189
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
189190
return CloudTasksStubSettings.defaultGrpcTransportProviderBuilder();
190191
}
191192

193+
/** Returns a builder for the default REST ChannelProvider for this service. */
194+
@BetaApi
195+
public static InstantiatingHttpJsonChannelProvider.Builder
196+
defaultHttpJsonTransportProviderBuilder() {
197+
return CloudTasksStubSettings.defaultHttpJsonTransportProviderBuilder();
198+
}
199+
192200
public static TransportChannelProvider defaultTransportChannelProvider() {
193201
return CloudTasksStubSettings.defaultTransportChannelProvider();
194202
}
@@ -198,11 +206,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
198206
return CloudTasksStubSettings.defaultApiClientHeaderProviderBuilder();
199207
}
200208

201-
/** Returns a new builder for this class. */
209+
/** Returns a new gRPC builder for this class. */
202210
public static Builder newBuilder() {
203211
return Builder.createDefault();
204212
}
205213

214+
/** Returns a new REST builder for this class. */
215+
@BetaApi
216+
public static Builder newHttpJsonBuilder() {
217+
return Builder.createHttpJsonDefault();
218+
}
219+
206220
/** Returns a new builder for this class. */
207221
public static Builder newBuilder(ClientContext clientContext) {
208222
return new Builder(clientContext);
@@ -240,6 +254,11 @@ private static Builder createDefault() {
240254
return new Builder(CloudTasksStubSettings.newBuilder());
241255
}
242256

257+
@BetaApi
258+
private static Builder createHttpJsonDefault() {
259+
return new Builder(CloudTasksStubSettings.newHttpJsonBuilder());
260+
}
261+
243262
public CloudTasksStubSettings.Builder getStubSettingsBuilder() {
244263
return ((CloudTasksStubSettings.Builder) getStubSettings());
245264
}
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
import com.google.api.gax.grpc.GaxGrpcProperties;
2929
import com.google.api.gax.grpc.GrpcTransportChannel;
3030
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
31+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
32+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
33+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3134
import com.google.api.gax.retrying.RetrySettings;
3235
import com.google.api.gax.rpc.ApiCallContext;
3336
import com.google.api.gax.rpc.ApiClientHeaderProvider;
@@ -321,13 +324,17 @@ public UnaryCallSettings<RunTaskRequest, Task> runTaskSettings() {
321324
return runTaskSettings;
322325
}
323326

324-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
325327
public CloudTasksStub createStub() throws IOException {
326328
if (getTransportChannelProvider()
327329
.getTransportName()
328330
.equals(GrpcTransportChannel.getGrpcTransportName())) {
329331
return GrpcCloudTasksStub.create(this);
330332
}
333+
if (getTransportChannelProvider()
334+
.getTransportName()
335+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
336+
return HttpJsonCloudTasksStub.create(this);
337+
}
331338
throw new UnsupportedOperationException(
332339
String.format(
333340
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -360,30 +367,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
360367
.setUseJwtAccessWithScope(true);
361368
}
362369

363-
/** Returns a builder for the default ChannelProvider for this service. */
370+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
364371
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
365372
return InstantiatingGrpcChannelProvider.newBuilder()
366373
.setMaxInboundMessageSize(Integer.MAX_VALUE);
367374
}
368375

376+
/** Returns a builder for the default REST ChannelProvider for this service. */
377+
@BetaApi
378+
public static InstantiatingHttpJsonChannelProvider.Builder
379+
defaultHttpJsonTransportProviderBuilder() {
380+
return InstantiatingHttpJsonChannelProvider.newBuilder();
381+
}
382+
369383
public static TransportChannelProvider defaultTransportChannelProvider() {
370384
return defaultGrpcTransportProviderBuilder().build();
371385
}
372386

373387
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
374-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
388+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
375389
return ApiClientHeaderProvider.newBuilder()
376390
.setGeneratedLibToken(
377391
"gapic", GaxProperties.getLibraryVersion(CloudTasksStubSettings.class))
378392
.setTransportToken(
379393
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
380394
}
381395

382-
/** Returns a new builder for this class. */
396+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
397+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
398+
return ApiClientHeaderProvider.newBuilder()
399+
.setGeneratedLibToken(
400+
"gapic", GaxProperties.getLibraryVersion(CloudTasksStubSettings.class))
401+
.setTransportToken(
402+
GaxHttpJsonProperties.getHttpJsonTokenName(),
403+
GaxHttpJsonProperties.getHttpJsonVersion());
404+
}
405+
406+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
407+
return CloudTasksStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
408+
}
409+
410+
/** Returns a new gRPC builder for this class. */
383411
public static Builder newBuilder() {
384412
return Builder.createDefault();
385413
}
386414

415+
/** Returns a new REST builder for this class. */
416+
public static Builder newHttpJsonBuilder() {
417+
return Builder.createHttpJsonDefault();
418+
}
419+
387420
/** Returns a new builder for this class. */
388421
public static Builder newBuilder(ClientContext clientContext) {
389422
return new Builder(clientContext);
@@ -580,6 +613,19 @@ private static Builder createDefault() {
580613
return initDefaults(builder);
581614
}
582615

616+
private static Builder createHttpJsonDefault() {
617+
Builder builder = new Builder(((ClientContext) null));
618+
619+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
620+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
621+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
622+
builder.setEndpoint(getDefaultEndpoint());
623+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
624+
builder.setSwitchToMtlsEndpointAllowed(true);
625+
626+
return initDefaults(builder);
627+
}
628+
583629
private static Builder initDefaults(Builder builder) {
584630
builder
585631
.listQueuesSettings()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
/*
2+
* Copyright 2022 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.cloud.tasks.v2.stub;
18+
19+
import com.google.api.core.BetaApi;
20+
import com.google.api.gax.httpjson.HttpJsonCallSettings;
21+
import com.google.api.gax.httpjson.HttpJsonCallableFactory;
22+
import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable;
23+
import com.google.api.gax.httpjson.HttpJsonStubCallableFactory;
24+
import com.google.api.gax.httpjson.longrunning.stub.OperationsStub;
25+
import com.google.api.gax.rpc.BatchingCallSettings;
26+
import com.google.api.gax.rpc.ClientContext;
27+
import com.google.api.gax.rpc.OperationCallSettings;
28+
import com.google.api.gax.rpc.OperationCallable;
29+
import com.google.api.gax.rpc.PagedCallSettings;
30+
import com.google.api.gax.rpc.ServerCallSettings;
31+
import com.google.api.gax.rpc.ServerCallable;
32+
import com.google.api.gax.rpc.UnaryCallSettings;
33+
import com.google.api.gax.rpc.UnaryCallable;
34+
import com.google.longrunning.Operation;
35+
import javax.annotation.Generated;
36+
37+
// AUTO-GENERATED DOCUMENTATION AND CLASS.
38+
/**
39+
* REST callable factory implementation for the CloudTasks service API.
40+
*
41+
* <p>This class is for advanced usage.
42+
*/
43+
@Generated("by gapic-generator-java")
44+
@BetaApi
45+
public class HttpJsonCloudTasksCallableFactory
46+
implements HttpJsonStubCallableFactory<Operation, OperationsStub> {
47+
48+
@Override
49+
public <RequestT, ResponseT> UnaryCallable<RequestT, ResponseT> createUnaryCallable(
50+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
51+
UnaryCallSettings<RequestT, ResponseT> callSettings,
52+
ClientContext clientContext) {
53+
return HttpJsonCallableFactory.createUnaryCallable(
54+
httpJsonCallSettings, callSettings, clientContext);
55+
}
56+
57+
@Override
58+
public <RequestT, ResponseT, PagedListResponseT>
59+
UnaryCallable<RequestT, PagedListResponseT> createPagedCallable(
60+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
61+
PagedCallSettings<RequestT, ResponseT, PagedListResponseT> callSettings,
62+
ClientContext clientContext) {
63+
return HttpJsonCallableFactory.createPagedCallable(
64+
httpJsonCallSettings, callSettings, clientContext);
65+
}
66+
67+
@Override
68+
public <RequestT, ResponseT> UnaryCallable<RequestT, ResponseT> createBatchingCallable(
69+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
70+
BatchingCallSettings<RequestT, ResponseT> callSettings,
71+
ClientContext clientContext) {
72+
return HttpJsonCallableFactory.createBatchingCallable(
73+
httpJsonCallSettings, callSettings, clientContext);
74+
}
75+
76+
@BetaApi(
77+
"The surface for long-running operations is not stable yet and may change in the future.")
78+
@Override
79+
public <RequestT, ResponseT, MetadataT>
80+
OperationCallable<RequestT, ResponseT, MetadataT> createOperationCallable(
81+
HttpJsonCallSettings<RequestT, Operation> httpJsonCallSettings,
82+
OperationCallSettings<RequestT, ResponseT, MetadataT> callSettings,
83+
ClientContext clientContext,
84+
OperationsStub operationsStub) {
85+
UnaryCallable<RequestT, Operation> innerCallable =
86+
HttpJsonCallableFactory.createBaseUnaryCallable(
87+
httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext);
88+
HttpJsonOperationSnapshotCallable<RequestT, Operation> initialCallable =
89+
new HttpJsonOperationSnapshotCallable<RequestT, Operation>(
90+
innerCallable,
91+
httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory());
92+
return HttpJsonCallableFactory.createOperationCallable(
93+
callSettings, clientContext, operationsStub.longRunningClient(), initialCallable);
94+
}
95+
96+
@Override
97+
public <RequestT, ResponseT>
98+
ServerCallable<RequestT, ResponseT> createServerCallable(
99+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
100+
ServerCallSettings<RequestT, ResponseT> callSettings,
101+
ClientContext clientContext) {
102+
return HttpJsonCallableFactory.createServerCallable(
103+
httpJsonCallSettings, callSettings, clientContext);
104+
}
105+
}

0 commit comments

Comments
 (0)