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

Commit ed06ee2

Browse files
feat: Enable REST transport for most of Java and Go clients (#681)
- [ ] 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 43c0a2d commit ed06ee2

File tree

181 files changed

+13978
-20
lines changed

Some content is hidden

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

181 files changed

+13978
-20
lines changed

google-cloud-servicedirectory/pom.xml

Lines changed: 16 additions & 0 deletions
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>
@@ -89,12 +93,24 @@
8993
<scope>test</scope>
9094
</dependency>
9195
<!-- Need testing utility classes for generated gRPC clients tests -->
96+
<dependency>
97+
<groupId>com.google.api</groupId>
98+
<artifactId>gax</artifactId>
99+
<classifier>testlib</classifier>
100+
<scope>test</scope>
101+
</dependency>
92102
<dependency>
93103
<groupId>com.google.api</groupId>
94104
<artifactId>gax-grpc</artifactId>
95105
<classifier>testlib</classifier>
96106
<scope>test</scope>
97107
</dependency>
108+
<dependency>
109+
<groupId>com.google.api</groupId>
110+
<artifactId>gax-httpjson</artifactId>
111+
<classifier>testlib</classifier>
112+
<scope>test</scope>
113+
</dependency>
98114
</dependencies>
99115

100116
<profiles>

google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/LookupServiceClient.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@
9494
* LookupServiceClient lookupServiceClient = LookupServiceClient.create(lookupServiceSettings);
9595
* }</pre>
9696
*
97+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
98+
* the wire:
99+
*
100+
* <pre>{@code
101+
* // This snippet has been automatically generated for illustrative purposes only.
102+
* // It may require modifications to work in your environment.
103+
* LookupServiceSettings lookupServiceSettings =
104+
* LookupServiceSettings.newBuilder()
105+
* .setTransportChannelProvider(
106+
* LookupServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
107+
* .build();
108+
* LookupServiceClient lookupServiceClient = LookupServiceClient.create(lookupServiceSettings);
109+
* }</pre>
110+
*
97111
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
98112
*/
99113
@Generated("by gapic-generator-java")

google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/LookupServiceSettings.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;
@@ -98,11 +99,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
9899
return LookupServiceStubSettings.defaultCredentialsProviderBuilder();
99100
}
100101

101-
/** Returns a builder for the default ChannelProvider for this service. */
102+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
102103
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
103104
return LookupServiceStubSettings.defaultGrpcTransportProviderBuilder();
104105
}
105106

107+
/** Returns a builder for the default REST ChannelProvider for this service. */
108+
@BetaApi
109+
public static InstantiatingHttpJsonChannelProvider.Builder
110+
defaultHttpJsonTransportProviderBuilder() {
111+
return LookupServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
112+
}
113+
106114
public static TransportChannelProvider defaultTransportChannelProvider() {
107115
return LookupServiceStubSettings.defaultTransportChannelProvider();
108116
}
@@ -112,11 +120,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
112120
return LookupServiceStubSettings.defaultApiClientHeaderProviderBuilder();
113121
}
114122

115-
/** Returns a new builder for this class. */
123+
/** Returns a new gRPC builder for this class. */
116124
public static Builder newBuilder() {
117125
return Builder.createDefault();
118126
}
119127

128+
/** Returns a new REST builder for this class. */
129+
@BetaApi
130+
public static Builder newHttpJsonBuilder() {
131+
return Builder.createHttpJsonDefault();
132+
}
133+
120134
/** Returns a new builder for this class. */
121135
public static Builder newBuilder(ClientContext clientContext) {
122136
return new Builder(clientContext);
@@ -154,6 +168,11 @@ private static Builder createDefault() {
154168
return new Builder(LookupServiceStubSettings.newBuilder());
155169
}
156170

171+
@BetaApi
172+
private static Builder createHttpJsonDefault() {
173+
return new Builder(LookupServiceStubSettings.newHttpJsonBuilder());
174+
}
175+
157176
public LookupServiceStubSettings.Builder getStubSettingsBuilder() {
158177
return ((LookupServiceStubSettings.Builder) getStubSettings());
159178
}

google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/RegistrationServiceClient.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,21 @@
120120
* RegistrationServiceClient.create(registrationServiceSettings);
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+
* RegistrationServiceSettings registrationServiceSettings =
130+
* RegistrationServiceSettings.newBuilder()
131+
* .setTransportChannelProvider(
132+
* RegistrationServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
133+
* .build();
134+
* RegistrationServiceClient registrationServiceClient =
135+
* RegistrationServiceClient.create(registrationServiceSettings);
136+
* }</pre>
137+
*
123138
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
124139
*/
125140
@Generated("by gapic-generator-java")

google-cloud-servicedirectory/src/main/java/com/google/cloud/servicedirectory/v1/RegistrationServiceSettings.java

Lines changed: 21 additions & 2 deletions
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;
@@ -201,11 +202,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
201202
return RegistrationServiceStubSettings.defaultCredentialsProviderBuilder();
202203
}
203204

204-
/** Returns a builder for the default ChannelProvider for this service. */
205+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
205206
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
206207
return RegistrationServiceStubSettings.defaultGrpcTransportProviderBuilder();
207208
}
208209

210+
/** Returns a builder for the default REST ChannelProvider for this service. */
211+
@BetaApi
212+
public static InstantiatingHttpJsonChannelProvider.Builder
213+
defaultHttpJsonTransportProviderBuilder() {
214+
return RegistrationServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
215+
}
216+
209217
public static TransportChannelProvider defaultTransportChannelProvider() {
210218
return RegistrationServiceStubSettings.defaultTransportChannelProvider();
211219
}
@@ -215,11 +223,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
215223
return RegistrationServiceStubSettings.defaultApiClientHeaderProviderBuilder();
216224
}
217225

218-
/** Returns a new builder for this class. */
226+
/** Returns a new gRPC builder for this class. */
219227
public static Builder newBuilder() {
220228
return Builder.createDefault();
221229
}
222230

231+
/** Returns a new REST builder for this class. */
232+
@BetaApi
233+
public static Builder newHttpJsonBuilder() {
234+
return Builder.createHttpJsonDefault();
235+
}
236+
223237
/** Returns a new builder for this class. */
224238
public static Builder newBuilder(ClientContext clientContext) {
225239
return new Builder(clientContext);
@@ -257,6 +271,11 @@ private static Builder createDefault() {
257271
return new Builder(RegistrationServiceStubSettings.newBuilder());
258272
}
259273

274+
@BetaApi
275+
private static Builder createHttpJsonDefault() {
276+
return new Builder(RegistrationServiceStubSettings.newHttpJsonBuilder());
277+
}
278+
260279
public RegistrationServiceStubSettings.Builder getStubSettingsBuilder() {
261280
return ((RegistrationServiceStubSettings.Builder) getStubSettings());
262281
}
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.servicedirectory.v1.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.ServerStreamingCallSettings;
31+
import com.google.api.gax.rpc.ServerStreamingCallable;
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 LookupService service API.
40+
*
41+
* <p>This class is for advanced usage.
42+
*/
43+
@Generated("by gapic-generator-java")
44+
@BetaApi
45+
public class HttpJsonLookupServiceCallableFactory
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+
ServerStreamingCallable<RequestT, ResponseT> createServerStreamingCallable(
99+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
100+
ServerStreamingCallSettings<RequestT, ResponseT> callSettings,
101+
ClientContext clientContext) {
102+
return HttpJsonCallableFactory.createServerStreamingCallable(
103+
httpJsonCallSettings, callSettings, clientContext);
104+
}
105+
}

0 commit comments

Comments
 (0)