@Override public ApiFuture<List<KeyOffset>> futureCall(String tableId, ApiCallContext context) { String tableName = NameUtil.formatTableName( requestContext.getProjectId(), requestContext.getInstanceId(), tableId); SampleRowKeysRequest request = SampleRowKeysRequest.newBuilder() .setTableName(tableName) .setAppProfileId(requestContext.getAppProfileId()) .build(); ApiFuture<List<SampleRowKeysResponse>> rawResponse = inner.futureCall(request, context); return ApiFutures.transform( rawResponse, new ApiFunction<List<SampleRowKeysResponse>, List<KeyOffset>>() { @Override public List<KeyOffset> apply(List<SampleRowKeysResponse> rawResponse) { return convert(rawResponse); } }, MoreExecutors.directExecutor()); }
@Test public void requestIsCorrect() { callable.futureCall("my-table"); assertThat(inner.request) .isEqualTo( SampleRowKeysRequest.newBuilder() .setTableName( NameUtil.formatTableName( requestContext.getProjectId(), requestContext.getInstanceId(), "my-table")) .setAppProfileId(requestContext.getAppProfileId()) .build()); }
@Override public ApiFuture<List<KeyOffset>> futureCall(String tableId, ApiCallContext context) { String tableName = NameUtil.formatTableName( requestContext.getProjectId(), requestContext.getInstanceId(), tableId); SampleRowKeysRequest request = SampleRowKeysRequest.newBuilder() .setTableName(tableName) .setAppProfileId(requestContext.getAppProfileId()) .build(); ApiFuture<List<SampleRowKeysResponse>> rawResponse = inner.futureCall(request, context); return ApiFutures.transform( rawResponse, new ApiFunction<List<SampleRowKeysResponse>, List<KeyOffset>>() { @Override public List<KeyOffset> apply(List<SampleRowKeysResponse> rawResponse) { return convert(rawResponse); } }, MoreExecutors.directExecutor()); }
/** {@inheritDoc} */ @Override public ListenableFuture<List<SampleRowKeysResponse>> sampleRowKeysAsync( SampleRowKeysRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return createStreamingListener(request, sampleRowKeysAsync, request.getTableName()) .getAsyncResult(); }
/** {@inheritDoc} */ @Override public List<SampleRowKeysResponse> sampleRowKeys(SampleRowKeysRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return createStreamingListener(request, sampleRowKeysAsync, request.getTableName()) .getBlockingResult(); }