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.vision.v1p4beta1.stub; 18 19 import static com.google.cloud.vision.v1p4beta1.ProductSearchClient.ListProductSetsPagedResponse; 20 import static com.google.cloud.vision.v1p4beta1.ProductSearchClient.ListProductsInProductSetPagedResponse; 21 import static com.google.cloud.vision.v1p4beta1.ProductSearchClient.ListProductsPagedResponse; 22 import static com.google.cloud.vision.v1p4beta1.ProductSearchClient.ListReferenceImagesPagedResponse; 23 24 import com.google.api.core.BetaApi; 25 import com.google.api.gax.core.BackgroundResource; 26 import com.google.api.gax.core.BackgroundResourceAggregation; 27 import com.google.api.gax.grpc.GrpcCallSettings; 28 import com.google.api.gax.grpc.GrpcStubCallableFactory; 29 import com.google.api.gax.rpc.ClientContext; 30 import com.google.api.gax.rpc.OperationCallable; 31 import com.google.api.gax.rpc.UnaryCallable; 32 import com.google.cloud.vision.v1p4beta1.AddProductToProductSetRequest; 33 import com.google.cloud.vision.v1p4beta1.BatchOperationMetadata; 34 import com.google.cloud.vision.v1p4beta1.CreateProductRequest; 35 import com.google.cloud.vision.v1p4beta1.CreateProductSetRequest; 36 import com.google.cloud.vision.v1p4beta1.CreateReferenceImageRequest; 37 import com.google.cloud.vision.v1p4beta1.DeleteProductRequest; 38 import com.google.cloud.vision.v1p4beta1.DeleteProductSetRequest; 39 import com.google.cloud.vision.v1p4beta1.DeleteReferenceImageRequest; 40 import com.google.cloud.vision.v1p4beta1.GetProductRequest; 41 import com.google.cloud.vision.v1p4beta1.GetProductSetRequest; 42 import com.google.cloud.vision.v1p4beta1.GetReferenceImageRequest; 43 import com.google.cloud.vision.v1p4beta1.ImportProductSetsRequest; 44 import com.google.cloud.vision.v1p4beta1.ImportProductSetsResponse; 45 import com.google.cloud.vision.v1p4beta1.ListProductSetsRequest; 46 import com.google.cloud.vision.v1p4beta1.ListProductSetsResponse; 47 import com.google.cloud.vision.v1p4beta1.ListProductsInProductSetRequest; 48 import com.google.cloud.vision.v1p4beta1.ListProductsInProductSetResponse; 49 import com.google.cloud.vision.v1p4beta1.ListProductsRequest; 50 import com.google.cloud.vision.v1p4beta1.ListProductsResponse; 51 import com.google.cloud.vision.v1p4beta1.ListReferenceImagesRequest; 52 import com.google.cloud.vision.v1p4beta1.ListReferenceImagesResponse; 53 import com.google.cloud.vision.v1p4beta1.Product; 54 import com.google.cloud.vision.v1p4beta1.ProductSet; 55 import com.google.cloud.vision.v1p4beta1.PurgeProductsRequest; 56 import com.google.cloud.vision.v1p4beta1.ReferenceImage; 57 import com.google.cloud.vision.v1p4beta1.RemoveProductFromProductSetRequest; 58 import com.google.cloud.vision.v1p4beta1.UpdateProductRequest; 59 import com.google.cloud.vision.v1p4beta1.UpdateProductSetRequest; 60 import com.google.common.collect.ImmutableMap; 61 import com.google.longrunning.Operation; 62 import com.google.longrunning.stub.GrpcOperationsStub; 63 import com.google.protobuf.Empty; 64 import io.grpc.MethodDescriptor; 65 import io.grpc.protobuf.ProtoUtils; 66 import java.io.IOException; 67 import java.util.concurrent.TimeUnit; 68 import javax.annotation.Generated; 69 70 // AUTO-GENERATED DOCUMENTATION AND CLASS. 71 /** 72 * gRPC stub implementation for the ProductSearch service API. 73 * 74 * <p>This class is for advanced usage and reflects the underlying API directly. 75 */ 76 @BetaApi 77 @Generated("by gapic-generator-java") 78 public class GrpcProductSearchStub extends ProductSearchStub { 79 private static final MethodDescriptor<CreateProductSetRequest, ProductSet> 80 createProductSetMethodDescriptor = 81 MethodDescriptor.<CreateProductSetRequest, ProductSet>newBuilder() 82 .setType(MethodDescriptor.MethodType.UNARY) 83 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/CreateProductSet") 84 .setRequestMarshaller( 85 ProtoUtils.marshaller(CreateProductSetRequest.getDefaultInstance())) 86 .setResponseMarshaller(ProtoUtils.marshaller(ProductSet.getDefaultInstance())) 87 .build(); 88 89 private static final MethodDescriptor<ListProductSetsRequest, ListProductSetsResponse> 90 listProductSetsMethodDescriptor = 91 MethodDescriptor.<ListProductSetsRequest, ListProductSetsResponse>newBuilder() 92 .setType(MethodDescriptor.MethodType.UNARY) 93 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/ListProductSets") 94 .setRequestMarshaller( 95 ProtoUtils.marshaller(ListProductSetsRequest.getDefaultInstance())) 96 .setResponseMarshaller( 97 ProtoUtils.marshaller(ListProductSetsResponse.getDefaultInstance())) 98 .build(); 99 100 private static final MethodDescriptor<GetProductSetRequest, ProductSet> 101 getProductSetMethodDescriptor = 102 MethodDescriptor.<GetProductSetRequest, ProductSet>newBuilder() 103 .setType(MethodDescriptor.MethodType.UNARY) 104 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/GetProductSet") 105 .setRequestMarshaller( 106 ProtoUtils.marshaller(GetProductSetRequest.getDefaultInstance())) 107 .setResponseMarshaller(ProtoUtils.marshaller(ProductSet.getDefaultInstance())) 108 .build(); 109 110 private static final MethodDescriptor<UpdateProductSetRequest, ProductSet> 111 updateProductSetMethodDescriptor = 112 MethodDescriptor.<UpdateProductSetRequest, ProductSet>newBuilder() 113 .setType(MethodDescriptor.MethodType.UNARY) 114 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/UpdateProductSet") 115 .setRequestMarshaller( 116 ProtoUtils.marshaller(UpdateProductSetRequest.getDefaultInstance())) 117 .setResponseMarshaller(ProtoUtils.marshaller(ProductSet.getDefaultInstance())) 118 .build(); 119 120 private static final MethodDescriptor<DeleteProductSetRequest, Empty> 121 deleteProductSetMethodDescriptor = 122 MethodDescriptor.<DeleteProductSetRequest, Empty>newBuilder() 123 .setType(MethodDescriptor.MethodType.UNARY) 124 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/DeleteProductSet") 125 .setRequestMarshaller( 126 ProtoUtils.marshaller(DeleteProductSetRequest.getDefaultInstance())) 127 .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) 128 .build(); 129 130 private static final MethodDescriptor<CreateProductRequest, Product> 131 createProductMethodDescriptor = 132 MethodDescriptor.<CreateProductRequest, Product>newBuilder() 133 .setType(MethodDescriptor.MethodType.UNARY) 134 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/CreateProduct") 135 .setRequestMarshaller( 136 ProtoUtils.marshaller(CreateProductRequest.getDefaultInstance())) 137 .setResponseMarshaller(ProtoUtils.marshaller(Product.getDefaultInstance())) 138 .build(); 139 140 private static final MethodDescriptor<ListProductsRequest, ListProductsResponse> 141 listProductsMethodDescriptor = 142 MethodDescriptor.<ListProductsRequest, ListProductsResponse>newBuilder() 143 .setType(MethodDescriptor.MethodType.UNARY) 144 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/ListProducts") 145 .setRequestMarshaller(ProtoUtils.marshaller(ListProductsRequest.getDefaultInstance())) 146 .setResponseMarshaller( 147 ProtoUtils.marshaller(ListProductsResponse.getDefaultInstance())) 148 .build(); 149 150 private static final MethodDescriptor<GetProductRequest, Product> getProductMethodDescriptor = 151 MethodDescriptor.<GetProductRequest, Product>newBuilder() 152 .setType(MethodDescriptor.MethodType.UNARY) 153 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/GetProduct") 154 .setRequestMarshaller(ProtoUtils.marshaller(GetProductRequest.getDefaultInstance())) 155 .setResponseMarshaller(ProtoUtils.marshaller(Product.getDefaultInstance())) 156 .build(); 157 158 private static final MethodDescriptor<UpdateProductRequest, Product> 159 updateProductMethodDescriptor = 160 MethodDescriptor.<UpdateProductRequest, Product>newBuilder() 161 .setType(MethodDescriptor.MethodType.UNARY) 162 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/UpdateProduct") 163 .setRequestMarshaller( 164 ProtoUtils.marshaller(UpdateProductRequest.getDefaultInstance())) 165 .setResponseMarshaller(ProtoUtils.marshaller(Product.getDefaultInstance())) 166 .build(); 167 168 private static final MethodDescriptor<DeleteProductRequest, Empty> deleteProductMethodDescriptor = 169 MethodDescriptor.<DeleteProductRequest, Empty>newBuilder() 170 .setType(MethodDescriptor.MethodType.UNARY) 171 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/DeleteProduct") 172 .setRequestMarshaller(ProtoUtils.marshaller(DeleteProductRequest.getDefaultInstance())) 173 .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) 174 .build(); 175 176 private static final MethodDescriptor<CreateReferenceImageRequest, ReferenceImage> 177 createReferenceImageMethodDescriptor = 178 MethodDescriptor.<CreateReferenceImageRequest, ReferenceImage>newBuilder() 179 .setType(MethodDescriptor.MethodType.UNARY) 180 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/CreateReferenceImage") 181 .setRequestMarshaller( 182 ProtoUtils.marshaller(CreateReferenceImageRequest.getDefaultInstance())) 183 .setResponseMarshaller(ProtoUtils.marshaller(ReferenceImage.getDefaultInstance())) 184 .build(); 185 186 private static final MethodDescriptor<DeleteReferenceImageRequest, Empty> 187 deleteReferenceImageMethodDescriptor = 188 MethodDescriptor.<DeleteReferenceImageRequest, Empty>newBuilder() 189 .setType(MethodDescriptor.MethodType.UNARY) 190 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/DeleteReferenceImage") 191 .setRequestMarshaller( 192 ProtoUtils.marshaller(DeleteReferenceImageRequest.getDefaultInstance())) 193 .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) 194 .build(); 195 196 private static final MethodDescriptor<ListReferenceImagesRequest, ListReferenceImagesResponse> 197 listReferenceImagesMethodDescriptor = 198 MethodDescriptor.<ListReferenceImagesRequest, ListReferenceImagesResponse>newBuilder() 199 .setType(MethodDescriptor.MethodType.UNARY) 200 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/ListReferenceImages") 201 .setRequestMarshaller( 202 ProtoUtils.marshaller(ListReferenceImagesRequest.getDefaultInstance())) 203 .setResponseMarshaller( 204 ProtoUtils.marshaller(ListReferenceImagesResponse.getDefaultInstance())) 205 .build(); 206 207 private static final MethodDescriptor<GetReferenceImageRequest, ReferenceImage> 208 getReferenceImageMethodDescriptor = 209 MethodDescriptor.<GetReferenceImageRequest, ReferenceImage>newBuilder() 210 .setType(MethodDescriptor.MethodType.UNARY) 211 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/GetReferenceImage") 212 .setRequestMarshaller( 213 ProtoUtils.marshaller(GetReferenceImageRequest.getDefaultInstance())) 214 .setResponseMarshaller(ProtoUtils.marshaller(ReferenceImage.getDefaultInstance())) 215 .build(); 216 217 private static final MethodDescriptor<AddProductToProductSetRequest, Empty> 218 addProductToProductSetMethodDescriptor = 219 MethodDescriptor.<AddProductToProductSetRequest, Empty>newBuilder() 220 .setType(MethodDescriptor.MethodType.UNARY) 221 .setFullMethodName( 222 "google.cloud.vision.v1p4beta1.ProductSearch/AddProductToProductSet") 223 .setRequestMarshaller( 224 ProtoUtils.marshaller(AddProductToProductSetRequest.getDefaultInstance())) 225 .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) 226 .build(); 227 228 private static final MethodDescriptor<RemoveProductFromProductSetRequest, Empty> 229 removeProductFromProductSetMethodDescriptor = 230 MethodDescriptor.<RemoveProductFromProductSetRequest, Empty>newBuilder() 231 .setType(MethodDescriptor.MethodType.UNARY) 232 .setFullMethodName( 233 "google.cloud.vision.v1p4beta1.ProductSearch/RemoveProductFromProductSet") 234 .setRequestMarshaller( 235 ProtoUtils.marshaller(RemoveProductFromProductSetRequest.getDefaultInstance())) 236 .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) 237 .build(); 238 239 private static final MethodDescriptor< 240 ListProductsInProductSetRequest, ListProductsInProductSetResponse> 241 listProductsInProductSetMethodDescriptor = 242 MethodDescriptor 243 .<ListProductsInProductSetRequest, ListProductsInProductSetResponse>newBuilder() 244 .setType(MethodDescriptor.MethodType.UNARY) 245 .setFullMethodName( 246 "google.cloud.vision.v1p4beta1.ProductSearch/ListProductsInProductSet") 247 .setRequestMarshaller( 248 ProtoUtils.marshaller(ListProductsInProductSetRequest.getDefaultInstance())) 249 .setResponseMarshaller( 250 ProtoUtils.marshaller(ListProductsInProductSetResponse.getDefaultInstance())) 251 .build(); 252 253 private static final MethodDescriptor<ImportProductSetsRequest, Operation> 254 importProductSetsMethodDescriptor = 255 MethodDescriptor.<ImportProductSetsRequest, Operation>newBuilder() 256 .setType(MethodDescriptor.MethodType.UNARY) 257 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/ImportProductSets") 258 .setRequestMarshaller( 259 ProtoUtils.marshaller(ImportProductSetsRequest.getDefaultInstance())) 260 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 261 .build(); 262 263 private static final MethodDescriptor<PurgeProductsRequest, Operation> 264 purgeProductsMethodDescriptor = 265 MethodDescriptor.<PurgeProductsRequest, Operation>newBuilder() 266 .setType(MethodDescriptor.MethodType.UNARY) 267 .setFullMethodName("google.cloud.vision.v1p4beta1.ProductSearch/PurgeProducts") 268 .setRequestMarshaller( 269 ProtoUtils.marshaller(PurgeProductsRequest.getDefaultInstance())) 270 .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) 271 .build(); 272 273 private final UnaryCallable<CreateProductSetRequest, ProductSet> createProductSetCallable; 274 private final UnaryCallable<ListProductSetsRequest, ListProductSetsResponse> 275 listProductSetsCallable; 276 private final UnaryCallable<ListProductSetsRequest, ListProductSetsPagedResponse> 277 listProductSetsPagedCallable; 278 private final UnaryCallable<GetProductSetRequest, ProductSet> getProductSetCallable; 279 private final UnaryCallable<UpdateProductSetRequest, ProductSet> updateProductSetCallable; 280 private final UnaryCallable<DeleteProductSetRequest, Empty> deleteProductSetCallable; 281 private final UnaryCallable<CreateProductRequest, Product> createProductCallable; 282 private final UnaryCallable<ListProductsRequest, ListProductsResponse> listProductsCallable; 283 private final UnaryCallable<ListProductsRequest, ListProductsPagedResponse> 284 listProductsPagedCallable; 285 private final UnaryCallable<GetProductRequest, Product> getProductCallable; 286 private final UnaryCallable<UpdateProductRequest, Product> updateProductCallable; 287 private final UnaryCallable<DeleteProductRequest, Empty> deleteProductCallable; 288 private final UnaryCallable<CreateReferenceImageRequest, ReferenceImage> 289 createReferenceImageCallable; 290 private final UnaryCallable<DeleteReferenceImageRequest, Empty> deleteReferenceImageCallable; 291 private final UnaryCallable<ListReferenceImagesRequest, ListReferenceImagesResponse> 292 listReferenceImagesCallable; 293 private final UnaryCallable<ListReferenceImagesRequest, ListReferenceImagesPagedResponse> 294 listReferenceImagesPagedCallable; 295 private final UnaryCallable<GetReferenceImageRequest, ReferenceImage> getReferenceImageCallable; 296 private final UnaryCallable<AddProductToProductSetRequest, Empty> addProductToProductSetCallable; 297 private final UnaryCallable<RemoveProductFromProductSetRequest, Empty> 298 removeProductFromProductSetCallable; 299 private final UnaryCallable<ListProductsInProductSetRequest, ListProductsInProductSetResponse> 300 listProductsInProductSetCallable; 301 private final UnaryCallable< 302 ListProductsInProductSetRequest, ListProductsInProductSetPagedResponse> 303 listProductsInProductSetPagedCallable; 304 private final UnaryCallable<ImportProductSetsRequest, Operation> importProductSetsCallable; 305 private final OperationCallable< 306 ImportProductSetsRequest, ImportProductSetsResponse, BatchOperationMetadata> 307 importProductSetsOperationCallable; 308 private final UnaryCallable<PurgeProductsRequest, Operation> purgeProductsCallable; 309 private final OperationCallable<PurgeProductsRequest, Empty, BatchOperationMetadata> 310 purgeProductsOperationCallable; 311 312 private final BackgroundResource backgroundResources; 313 private final GrpcOperationsStub operationsStub; 314 private final GrpcStubCallableFactory callableFactory; 315 create(ProductSearchStubSettings settings)316 public static final GrpcProductSearchStub create(ProductSearchStubSettings settings) 317 throws IOException { 318 return new GrpcProductSearchStub(settings, ClientContext.create(settings)); 319 } 320 create(ClientContext clientContext)321 public static final GrpcProductSearchStub create(ClientContext clientContext) throws IOException { 322 return new GrpcProductSearchStub(ProductSearchStubSettings.newBuilder().build(), clientContext); 323 } 324 create( ClientContext clientContext, GrpcStubCallableFactory callableFactory)325 public static final GrpcProductSearchStub create( 326 ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException { 327 return new GrpcProductSearchStub( 328 ProductSearchStubSettings.newBuilder().build(), clientContext, callableFactory); 329 } 330 331 /** 332 * Constructs an instance of GrpcProductSearchStub, using the given settings. This is protected so 333 * that it is easy to make a subclass, but otherwise, the static factory methods should be 334 * preferred. 335 */ GrpcProductSearchStub(ProductSearchStubSettings settings, ClientContext clientContext)336 protected GrpcProductSearchStub(ProductSearchStubSettings settings, ClientContext clientContext) 337 throws IOException { 338 this(settings, clientContext, new GrpcProductSearchCallableFactory()); 339 } 340 341 /** 342 * Constructs an instance of GrpcProductSearchStub, using the given settings. This is protected so 343 * that it is easy to make a subclass, but otherwise, the static factory methods should be 344 * preferred. 345 */ GrpcProductSearchStub( ProductSearchStubSettings settings, ClientContext clientContext, GrpcStubCallableFactory callableFactory)346 protected GrpcProductSearchStub( 347 ProductSearchStubSettings settings, 348 ClientContext clientContext, 349 GrpcStubCallableFactory callableFactory) 350 throws IOException { 351 this.callableFactory = callableFactory; 352 this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); 353 354 GrpcCallSettings<CreateProductSetRequest, ProductSet> createProductSetTransportSettings = 355 GrpcCallSettings.<CreateProductSetRequest, ProductSet>newBuilder() 356 .setMethodDescriptor(createProductSetMethodDescriptor) 357 .setParamsExtractor( 358 request -> { 359 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 360 params.put("parent", String.valueOf(request.getParent())); 361 return params.build(); 362 }) 363 .build(); 364 GrpcCallSettings<ListProductSetsRequest, ListProductSetsResponse> 365 listProductSetsTransportSettings = 366 GrpcCallSettings.<ListProductSetsRequest, ListProductSetsResponse>newBuilder() 367 .setMethodDescriptor(listProductSetsMethodDescriptor) 368 .setParamsExtractor( 369 request -> { 370 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 371 params.put("parent", String.valueOf(request.getParent())); 372 return params.build(); 373 }) 374 .build(); 375 GrpcCallSettings<GetProductSetRequest, ProductSet> getProductSetTransportSettings = 376 GrpcCallSettings.<GetProductSetRequest, ProductSet>newBuilder() 377 .setMethodDescriptor(getProductSetMethodDescriptor) 378 .setParamsExtractor( 379 request -> { 380 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 381 params.put("name", String.valueOf(request.getName())); 382 return params.build(); 383 }) 384 .build(); 385 GrpcCallSettings<UpdateProductSetRequest, ProductSet> updateProductSetTransportSettings = 386 GrpcCallSettings.<UpdateProductSetRequest, ProductSet>newBuilder() 387 .setMethodDescriptor(updateProductSetMethodDescriptor) 388 .setParamsExtractor( 389 request -> { 390 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 391 params.put("product_set.name", String.valueOf(request.getProductSet().getName())); 392 return params.build(); 393 }) 394 .build(); 395 GrpcCallSettings<DeleteProductSetRequest, Empty> deleteProductSetTransportSettings = 396 GrpcCallSettings.<DeleteProductSetRequest, Empty>newBuilder() 397 .setMethodDescriptor(deleteProductSetMethodDescriptor) 398 .setParamsExtractor( 399 request -> { 400 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 401 params.put("name", String.valueOf(request.getName())); 402 return params.build(); 403 }) 404 .build(); 405 GrpcCallSettings<CreateProductRequest, Product> createProductTransportSettings = 406 GrpcCallSettings.<CreateProductRequest, Product>newBuilder() 407 .setMethodDescriptor(createProductMethodDescriptor) 408 .setParamsExtractor( 409 request -> { 410 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 411 params.put("parent", String.valueOf(request.getParent())); 412 return params.build(); 413 }) 414 .build(); 415 GrpcCallSettings<ListProductsRequest, ListProductsResponse> listProductsTransportSettings = 416 GrpcCallSettings.<ListProductsRequest, ListProductsResponse>newBuilder() 417 .setMethodDescriptor(listProductsMethodDescriptor) 418 .setParamsExtractor( 419 request -> { 420 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 421 params.put("parent", String.valueOf(request.getParent())); 422 return params.build(); 423 }) 424 .build(); 425 GrpcCallSettings<GetProductRequest, Product> getProductTransportSettings = 426 GrpcCallSettings.<GetProductRequest, Product>newBuilder() 427 .setMethodDescriptor(getProductMethodDescriptor) 428 .setParamsExtractor( 429 request -> { 430 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 431 params.put("name", String.valueOf(request.getName())); 432 return params.build(); 433 }) 434 .build(); 435 GrpcCallSettings<UpdateProductRequest, Product> updateProductTransportSettings = 436 GrpcCallSettings.<UpdateProductRequest, Product>newBuilder() 437 .setMethodDescriptor(updateProductMethodDescriptor) 438 .setParamsExtractor( 439 request -> { 440 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 441 params.put("product.name", String.valueOf(request.getProduct().getName())); 442 return params.build(); 443 }) 444 .build(); 445 GrpcCallSettings<DeleteProductRequest, Empty> deleteProductTransportSettings = 446 GrpcCallSettings.<DeleteProductRequest, Empty>newBuilder() 447 .setMethodDescriptor(deleteProductMethodDescriptor) 448 .setParamsExtractor( 449 request -> { 450 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 451 params.put("name", String.valueOf(request.getName())); 452 return params.build(); 453 }) 454 .build(); 455 GrpcCallSettings<CreateReferenceImageRequest, ReferenceImage> 456 createReferenceImageTransportSettings = 457 GrpcCallSettings.<CreateReferenceImageRequest, ReferenceImage>newBuilder() 458 .setMethodDescriptor(createReferenceImageMethodDescriptor) 459 .setParamsExtractor( 460 request -> { 461 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 462 params.put("parent", String.valueOf(request.getParent())); 463 return params.build(); 464 }) 465 .build(); 466 GrpcCallSettings<DeleteReferenceImageRequest, Empty> deleteReferenceImageTransportSettings = 467 GrpcCallSettings.<DeleteReferenceImageRequest, Empty>newBuilder() 468 .setMethodDescriptor(deleteReferenceImageMethodDescriptor) 469 .setParamsExtractor( 470 request -> { 471 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 472 params.put("name", String.valueOf(request.getName())); 473 return params.build(); 474 }) 475 .build(); 476 GrpcCallSettings<ListReferenceImagesRequest, ListReferenceImagesResponse> 477 listReferenceImagesTransportSettings = 478 GrpcCallSettings.<ListReferenceImagesRequest, ListReferenceImagesResponse>newBuilder() 479 .setMethodDescriptor(listReferenceImagesMethodDescriptor) 480 .setParamsExtractor( 481 request -> { 482 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 483 params.put("parent", String.valueOf(request.getParent())); 484 return params.build(); 485 }) 486 .build(); 487 GrpcCallSettings<GetReferenceImageRequest, ReferenceImage> getReferenceImageTransportSettings = 488 GrpcCallSettings.<GetReferenceImageRequest, ReferenceImage>newBuilder() 489 .setMethodDescriptor(getReferenceImageMethodDescriptor) 490 .setParamsExtractor( 491 request -> { 492 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 493 params.put("name", String.valueOf(request.getName())); 494 return params.build(); 495 }) 496 .build(); 497 GrpcCallSettings<AddProductToProductSetRequest, Empty> addProductToProductSetTransportSettings = 498 GrpcCallSettings.<AddProductToProductSetRequest, Empty>newBuilder() 499 .setMethodDescriptor(addProductToProductSetMethodDescriptor) 500 .setParamsExtractor( 501 request -> { 502 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 503 params.put("name", String.valueOf(request.getName())); 504 return params.build(); 505 }) 506 .build(); 507 GrpcCallSettings<RemoveProductFromProductSetRequest, Empty> 508 removeProductFromProductSetTransportSettings = 509 GrpcCallSettings.<RemoveProductFromProductSetRequest, Empty>newBuilder() 510 .setMethodDescriptor(removeProductFromProductSetMethodDescriptor) 511 .setParamsExtractor( 512 request -> { 513 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 514 params.put("name", String.valueOf(request.getName())); 515 return params.build(); 516 }) 517 .build(); 518 GrpcCallSettings<ListProductsInProductSetRequest, ListProductsInProductSetResponse> 519 listProductsInProductSetTransportSettings = 520 GrpcCallSettings 521 .<ListProductsInProductSetRequest, ListProductsInProductSetResponse>newBuilder() 522 .setMethodDescriptor(listProductsInProductSetMethodDescriptor) 523 .setParamsExtractor( 524 request -> { 525 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 526 params.put("name", String.valueOf(request.getName())); 527 return params.build(); 528 }) 529 .build(); 530 GrpcCallSettings<ImportProductSetsRequest, Operation> importProductSetsTransportSettings = 531 GrpcCallSettings.<ImportProductSetsRequest, Operation>newBuilder() 532 .setMethodDescriptor(importProductSetsMethodDescriptor) 533 .setParamsExtractor( 534 request -> { 535 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 536 params.put("parent", String.valueOf(request.getParent())); 537 return params.build(); 538 }) 539 .build(); 540 GrpcCallSettings<PurgeProductsRequest, Operation> purgeProductsTransportSettings = 541 GrpcCallSettings.<PurgeProductsRequest, Operation>newBuilder() 542 .setMethodDescriptor(purgeProductsMethodDescriptor) 543 .setParamsExtractor( 544 request -> { 545 ImmutableMap.Builder<String, String> params = ImmutableMap.builder(); 546 params.put("parent", String.valueOf(request.getParent())); 547 return params.build(); 548 }) 549 .build(); 550 551 this.createProductSetCallable = 552 callableFactory.createUnaryCallable( 553 createProductSetTransportSettings, settings.createProductSetSettings(), clientContext); 554 this.listProductSetsCallable = 555 callableFactory.createUnaryCallable( 556 listProductSetsTransportSettings, settings.listProductSetsSettings(), clientContext); 557 this.listProductSetsPagedCallable = 558 callableFactory.createPagedCallable( 559 listProductSetsTransportSettings, settings.listProductSetsSettings(), clientContext); 560 this.getProductSetCallable = 561 callableFactory.createUnaryCallable( 562 getProductSetTransportSettings, settings.getProductSetSettings(), clientContext); 563 this.updateProductSetCallable = 564 callableFactory.createUnaryCallable( 565 updateProductSetTransportSettings, settings.updateProductSetSettings(), clientContext); 566 this.deleteProductSetCallable = 567 callableFactory.createUnaryCallable( 568 deleteProductSetTransportSettings, settings.deleteProductSetSettings(), clientContext); 569 this.createProductCallable = 570 callableFactory.createUnaryCallable( 571 createProductTransportSettings, settings.createProductSettings(), clientContext); 572 this.listProductsCallable = 573 callableFactory.createUnaryCallable( 574 listProductsTransportSettings, settings.listProductsSettings(), clientContext); 575 this.listProductsPagedCallable = 576 callableFactory.createPagedCallable( 577 listProductsTransportSettings, settings.listProductsSettings(), clientContext); 578 this.getProductCallable = 579 callableFactory.createUnaryCallable( 580 getProductTransportSettings, settings.getProductSettings(), clientContext); 581 this.updateProductCallable = 582 callableFactory.createUnaryCallable( 583 updateProductTransportSettings, settings.updateProductSettings(), clientContext); 584 this.deleteProductCallable = 585 callableFactory.createUnaryCallable( 586 deleteProductTransportSettings, settings.deleteProductSettings(), clientContext); 587 this.createReferenceImageCallable = 588 callableFactory.createUnaryCallable( 589 createReferenceImageTransportSettings, 590 settings.createReferenceImageSettings(), 591 clientContext); 592 this.deleteReferenceImageCallable = 593 callableFactory.createUnaryCallable( 594 deleteReferenceImageTransportSettings, 595 settings.deleteReferenceImageSettings(), 596 clientContext); 597 this.listReferenceImagesCallable = 598 callableFactory.createUnaryCallable( 599 listReferenceImagesTransportSettings, 600 settings.listReferenceImagesSettings(), 601 clientContext); 602 this.listReferenceImagesPagedCallable = 603 callableFactory.createPagedCallable( 604 listReferenceImagesTransportSettings, 605 settings.listReferenceImagesSettings(), 606 clientContext); 607 this.getReferenceImageCallable = 608 callableFactory.createUnaryCallable( 609 getReferenceImageTransportSettings, 610 settings.getReferenceImageSettings(), 611 clientContext); 612 this.addProductToProductSetCallable = 613 callableFactory.createUnaryCallable( 614 addProductToProductSetTransportSettings, 615 settings.addProductToProductSetSettings(), 616 clientContext); 617 this.removeProductFromProductSetCallable = 618 callableFactory.createUnaryCallable( 619 removeProductFromProductSetTransportSettings, 620 settings.removeProductFromProductSetSettings(), 621 clientContext); 622 this.listProductsInProductSetCallable = 623 callableFactory.createUnaryCallable( 624 listProductsInProductSetTransportSettings, 625 settings.listProductsInProductSetSettings(), 626 clientContext); 627 this.listProductsInProductSetPagedCallable = 628 callableFactory.createPagedCallable( 629 listProductsInProductSetTransportSettings, 630 settings.listProductsInProductSetSettings(), 631 clientContext); 632 this.importProductSetsCallable = 633 callableFactory.createUnaryCallable( 634 importProductSetsTransportSettings, 635 settings.importProductSetsSettings(), 636 clientContext); 637 this.importProductSetsOperationCallable = 638 callableFactory.createOperationCallable( 639 importProductSetsTransportSettings, 640 settings.importProductSetsOperationSettings(), 641 clientContext, 642 operationsStub); 643 this.purgeProductsCallable = 644 callableFactory.createUnaryCallable( 645 purgeProductsTransportSettings, settings.purgeProductsSettings(), clientContext); 646 this.purgeProductsOperationCallable = 647 callableFactory.createOperationCallable( 648 purgeProductsTransportSettings, 649 settings.purgeProductsOperationSettings(), 650 clientContext, 651 operationsStub); 652 653 this.backgroundResources = 654 new BackgroundResourceAggregation(clientContext.getBackgroundResources()); 655 } 656 getOperationsStub()657 public GrpcOperationsStub getOperationsStub() { 658 return operationsStub; 659 } 660 661 @Override createProductSetCallable()662 public UnaryCallable<CreateProductSetRequest, ProductSet> createProductSetCallable() { 663 return createProductSetCallable; 664 } 665 666 @Override listProductSetsCallable()667 public UnaryCallable<ListProductSetsRequest, ListProductSetsResponse> listProductSetsCallable() { 668 return listProductSetsCallable; 669 } 670 671 @Override 672 public UnaryCallable<ListProductSetsRequest, ListProductSetsPagedResponse> listProductSetsPagedCallable()673 listProductSetsPagedCallable() { 674 return listProductSetsPagedCallable; 675 } 676 677 @Override getProductSetCallable()678 public UnaryCallable<GetProductSetRequest, ProductSet> getProductSetCallable() { 679 return getProductSetCallable; 680 } 681 682 @Override updateProductSetCallable()683 public UnaryCallable<UpdateProductSetRequest, ProductSet> updateProductSetCallable() { 684 return updateProductSetCallable; 685 } 686 687 @Override deleteProductSetCallable()688 public UnaryCallable<DeleteProductSetRequest, Empty> deleteProductSetCallable() { 689 return deleteProductSetCallable; 690 } 691 692 @Override createProductCallable()693 public UnaryCallable<CreateProductRequest, Product> createProductCallable() { 694 return createProductCallable; 695 } 696 697 @Override listProductsCallable()698 public UnaryCallable<ListProductsRequest, ListProductsResponse> listProductsCallable() { 699 return listProductsCallable; 700 } 701 702 @Override listProductsPagedCallable()703 public UnaryCallable<ListProductsRequest, ListProductsPagedResponse> listProductsPagedCallable() { 704 return listProductsPagedCallable; 705 } 706 707 @Override getProductCallable()708 public UnaryCallable<GetProductRequest, Product> getProductCallable() { 709 return getProductCallable; 710 } 711 712 @Override updateProductCallable()713 public UnaryCallable<UpdateProductRequest, Product> updateProductCallable() { 714 return updateProductCallable; 715 } 716 717 @Override deleteProductCallable()718 public UnaryCallable<DeleteProductRequest, Empty> deleteProductCallable() { 719 return deleteProductCallable; 720 } 721 722 @Override createReferenceImageCallable()723 public UnaryCallable<CreateReferenceImageRequest, ReferenceImage> createReferenceImageCallable() { 724 return createReferenceImageCallable; 725 } 726 727 @Override deleteReferenceImageCallable()728 public UnaryCallable<DeleteReferenceImageRequest, Empty> deleteReferenceImageCallable() { 729 return deleteReferenceImageCallable; 730 } 731 732 @Override 733 public UnaryCallable<ListReferenceImagesRequest, ListReferenceImagesResponse> listReferenceImagesCallable()734 listReferenceImagesCallable() { 735 return listReferenceImagesCallable; 736 } 737 738 @Override 739 public UnaryCallable<ListReferenceImagesRequest, ListReferenceImagesPagedResponse> listReferenceImagesPagedCallable()740 listReferenceImagesPagedCallable() { 741 return listReferenceImagesPagedCallable; 742 } 743 744 @Override getReferenceImageCallable()745 public UnaryCallable<GetReferenceImageRequest, ReferenceImage> getReferenceImageCallable() { 746 return getReferenceImageCallable; 747 } 748 749 @Override addProductToProductSetCallable()750 public UnaryCallable<AddProductToProductSetRequest, Empty> addProductToProductSetCallable() { 751 return addProductToProductSetCallable; 752 } 753 754 @Override 755 public UnaryCallable<RemoveProductFromProductSetRequest, Empty> removeProductFromProductSetCallable()756 removeProductFromProductSetCallable() { 757 return removeProductFromProductSetCallable; 758 } 759 760 @Override 761 public UnaryCallable<ListProductsInProductSetRequest, ListProductsInProductSetResponse> listProductsInProductSetCallable()762 listProductsInProductSetCallable() { 763 return listProductsInProductSetCallable; 764 } 765 766 @Override 767 public UnaryCallable<ListProductsInProductSetRequest, ListProductsInProductSetPagedResponse> listProductsInProductSetPagedCallable()768 listProductsInProductSetPagedCallable() { 769 return listProductsInProductSetPagedCallable; 770 } 771 772 @Override importProductSetsCallable()773 public UnaryCallable<ImportProductSetsRequest, Operation> importProductSetsCallable() { 774 return importProductSetsCallable; 775 } 776 777 @Override 778 public OperationCallable< 779 ImportProductSetsRequest, ImportProductSetsResponse, BatchOperationMetadata> importProductSetsOperationCallable()780 importProductSetsOperationCallable() { 781 return importProductSetsOperationCallable; 782 } 783 784 @Override purgeProductsCallable()785 public UnaryCallable<PurgeProductsRequest, Operation> purgeProductsCallable() { 786 return purgeProductsCallable; 787 } 788 789 @Override 790 public OperationCallable<PurgeProductsRequest, Empty, BatchOperationMetadata> purgeProductsOperationCallable()791 purgeProductsOperationCallable() { 792 return purgeProductsOperationCallable; 793 } 794 795 @Override close()796 public final void close() { 797 try { 798 backgroundResources.close(); 799 } catch (RuntimeException e) { 800 throw e; 801 } catch (Exception e) { 802 throw new IllegalStateException("Failed to close resource", e); 803 } 804 } 805 806 @Override shutdown()807 public void shutdown() { 808 backgroundResources.shutdown(); 809 } 810 811 @Override isShutdown()812 public boolean isShutdown() { 813 return backgroundResources.isShutdown(); 814 } 815 816 @Override isTerminated()817 public boolean isTerminated() { 818 return backgroundResources.isTerminated(); 819 } 820 821 @Override shutdownNow()822 public void shutdownNow() { 823 backgroundResources.shutdownNow(); 824 } 825 826 @Override awaitTermination(long duration, TimeUnit unit)827 public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { 828 return backgroundResources.awaitTermination(duration, unit); 829 } 830 } 831