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