/** {@inheritDoc} */ @Override public ResultScanner<Row> readRows(Query request) { final ResultScanner<FlatRow> delegate = readFlatRows(request); return new ResultScanner<Row>() { @Override public Row next() throws IOException { return FlatRowConverter.convertToModelRow(delegate.next()); } @Override public Row[] next(int count) throws IOException { FlatRow[] flatRows = delegate.next(count); Row[] rows = new Row[flatRows.length]; for (int i = 0; i < flatRows.length; i++) { rows[i] = FlatRowConverter.convertToModelRow(flatRows[i]); } return rows; } @Override public void close() throws IOException { delegate.close(); } @Override public int available() { return delegate.available(); } }; }
/** {@inheritDoc} */ @Override public ListenableFuture<List<Row>> readRowsAsync(Query request) { ListenableFuture<List<FlatRow>> responseProto = readFlatRowsAsync(request); return Futures.transform(responseProto, new Function<List<FlatRow>, List<Row>>() { @Override public List<Row> apply(List<FlatRow> flatRowList) { ImmutableList.Builder<Row> rowBuilder = ImmutableList.builderWithExpectedSize(flatRowList.size()); for(FlatRow flatRow : flatRowList){ rowBuilder.add(FlatRowConverter.convertToModelRow(flatRow)); } return rowBuilder.build(); } }, MoreExecutors.directExecutor()); }
/** {@inheritDoc} */ @Override public Row readModifyWriteRow(ReadModifyWriteRow readModifyWriteRow) { ReadModifyWriteRowResponse response = delegate.readModifyWriteRow(readModifyWriteRow.toProto(requestContext)); return transformResponse(response); }
private void mutateRow(Mutation mutation, RowMutation rowMutation, String type) throws IOException { Span span = TRACER.spanBuilder("BigtableTable." + type).startSpan(); try (Scope scope = TRACER.withSpan(span)) { clientWrapper.mutateRow(rowMutation); } catch (Throwable t) { span.setStatus(Status.UNKNOWN); throw logAndCreateIOException(type, mutation.getRow(), t); } finally { span.end(); } }
new BigtableDataClientWrapper(dataClient, options);
private void mutateRow(Mutation mutation, RowMutation rowMutation, String type) throws IOException { Span span = TRACER.spanBuilder("BigtableTable." + type).startSpan(); try (Scope scope = TRACER.withSpan(span)) { clientWrapper.mutateRow(rowMutation); } catch (Throwable t) { span.setStatus(Status.UNKNOWN); throw logAndCreateIOException(type, mutation.getRow(), t); } finally { span.end(); } }