@Override public Operation getOperation(String name) throws SpannerException { GetOperationRequest request = GetOperationRequest.newBuilder().setName(name).build(); GrpcCallContext context = newCallContext(null, name); return get( databaseAdminStub.getOperationsStub().getOperationCallable().futureCall(request, context)); }
/** * Gets the latest state of a long-running operation. Clients can use this method to poll the * operation result at intervals as recommended by the API service. * * <p>Sample code: * * <pre><code> * try (OperationsClient operationsClient = OperationsClient.create()) { * String name = ""; * GetOperationRequest request = GetOperationRequest.newBuilder() * .setName(name) * .build(); * ApiFuture<Operation> future = operationsClient.getOperationCallable().futureCall(request); * // Do something * Operation response = future.get(); * } * </code></pre> */ public final UnaryCallable<GetOperationRequest, Operation> getOperationCallable() { return stub.getOperationCallable(); }
/** * Gets the latest state of a long-running operation. Clients can use this method to poll the * operation result at intervals as recommended by the API service. * * <p>Sample code: * * <pre><code> * try (OperationsClient operationsClient = OperationsClient.create()) { * String name = ""; * GetOperationRequest request = GetOperationRequest.newBuilder() * .setName(name) * .build(); * ApiFuture<Operation> future = operationsClient.getOperationCallable().futureCall(request); * // Do something * Operation response = future.get(); * } * </code></pre> */ public final UnaryCallable<GetOperationRequest, Operation> getOperationCallable() { return stub.getOperationCallable(); }
@Override public UnaryCallable<String, OperationSnapshot> getOperationCallable() { return TranslatingUnaryCallable.create( operationsStub.getOperationCallable(), new ApiFunction<String, GetOperationRequest>() { @Override public GetOperationRequest apply(String request) { return GetOperationRequest.newBuilder().setName(request).build(); } }, new ApiFunction<Operation, OperationSnapshot>() { @Override public OperationSnapshot apply(Operation operation) { return GrpcOperationSnapshot.create(operation); } }); }
@Override public UnaryCallable<String, OperationSnapshot> getOperationCallable() { return TranslatingUnaryCallable.create( operationsStub.getOperationCallable(), new ApiFunction<String, GetOperationRequest>() { @Override public GetOperationRequest apply(String request) { return GetOperationRequest.newBuilder().setName(request).build(); } }, new ApiFunction<Operation, OperationSnapshot>() { @Override public OperationSnapshot apply(Operation operation) { return GrpcOperationSnapshot.create(operation); } }); }
@Override public Operation getOperation(String name) throws SpannerException { GetOperationRequest request = GetOperationRequest.newBuilder().setName(name).build(); GrpcCallContext context = newCallContext(null, name); return get( databaseAdminStub.getOperationsStub().getOperationCallable().futureCall(request, context)); }
@Test public void get() { OperationsStub operationsStub = mock(OperationsStub.class); when(operationsStub.getOperationCallable()) .thenReturn( new UnaryCallable<GetOperationRequest, Operation>() { @Override public ApiFuture<Operation> futureCall( GetOperationRequest request, ApiCallContext context) { if (!request.getName().equals("poseidon")) { return ApiFutures.immediateFailedFuture( new IllegalStateException("Unexpected request: " + request)); } else { return ApiFutures.immediateFuture( Operation.newBuilder().setName("greece").build()); } } }); LongRunningClient longRunningClient = new GrpcLongRunningClient(operationsStub); Truth.assertThat(longRunningClient.getOperationCallable().call("poseidon").getName()) .isEqualTo("greece"); }