@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException { input.defaultReadObject(); builder = ReadRowsRequest.newBuilder().mergeFrom(input); }
private RpcExpectation() { this.requestBuilder = ReadRowsRequest.newBuilder() .setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)); this.statusCode = Status.Code.OK; this.responses = Lists.newArrayList(); }
private static ReadRowsRequest.Builder expectedProtoBuilder() { return ReadRowsRequest.newBuilder() .setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)) .setAppProfileId(APP_PROFILE_ID); }
final ReadRowsRequest.Builder rrr = ReadRowsRequest.newBuilder() .setTableNameBytes(ByteStringer.wrap(lastTableBytes)) .setFilter(filter)
.build(); final ReadRowsRequest.Builder rrr = ReadRowsRequest.newBuilder() .setTableNameBytes(ByteStringer.wrap(lastTableBytes)) .setFilter(filter)
@Test public void testFromProto() { ReadRowsRequest request = ReadRowsRequest.newBuilder() .setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)) .setAppProfileId(APP_PROFILE_ID) .setFilter(RowFilter.newBuilder().setRowKeyRegexFilter(ByteString.copyFromUtf8(".*"))) .setRows( RowSet.newBuilder() .addRowKeys(ByteString.copyFromUtf8("row-key")) .addRowRanges( RowRange.newBuilder() .setStartKeyClosed(ByteString.copyFromUtf8("j")) .setEndKeyClosed(ByteString.copyFromUtf8("z")))) .build(); Query query = Query.fromProto(request); assertThat(query.toProto(requestContext)).isEqualTo(request); }
assertThat(subQueries.get(0).toProto(requestContext)) .isEqualTo( ReadRowsRequest.newBuilder() .setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)) .setAppProfileId(APP_PROFILE_ID) assertThat(subQueries.get(1).toProto(requestContext)) .isEqualTo( ReadRowsRequest.newBuilder() .setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)) .setAppProfileId(APP_PROFILE_ID)
assertThat(subQueries.get(0).toProto(requestContext)) .isEqualTo( ReadRowsRequest.newBuilder() .setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)) .setAppProfileId(APP_PROFILE_ID) assertThat(subQueries.get(1).toProto(requestContext)) .isEqualTo( ReadRowsRequest.newBuilder() .setTableName(NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID)) .setAppProfileId(APP_PROFILE_ID)
@Test @SuppressWarnings("all") public void readRowsTest() throws Exception { ByteString lastScannedRowKey = ByteString.copyFromUtf8("-126"); ReadRowsResponse expectedResponse = ReadRowsResponse.newBuilder().setLastScannedRowKey(lastScannedRowKey).build(); mockBigtable.addResponse(expectedResponse); TableName tableName = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); ReadRowsRequest request = ReadRowsRequest.newBuilder().setTableName(tableName.toString()).build(); MockStreamObserver<ReadRowsResponse> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<ReadRowsRequest, ReadRowsResponse> callable = client.readRowsCallable(); callable.serverStreamingCall(request, responseObserver); List<ReadRowsResponse> actualResponses = responseObserver.future().get(); Assert.assertEquals(1, actualResponses.size()); Assert.assertEquals(expectedResponse, actualResponses.get(0)); }
@Test @SuppressWarnings("all") public void readRowsExceptionTest() throws Exception { StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockBigtable.addException(exception); TableName tableName = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); ReadRowsRequest request = ReadRowsRequest.newBuilder().setTableName(tableName.toString()).build(); MockStreamObserver<ReadRowsResponse> responseObserver = new MockStreamObserver<>(); ServerStreamingCallable<ReadRowsRequest, ReadRowsResponse> callable = client.readRowsCallable(); callable.serverStreamingCall(request, responseObserver); try { List<ReadRowsResponse> actualResponses = responseObserver.future().get(); Assert.fail("No exception thrown"); } catch (ExecutionException e) { Assert.assertTrue(e.getCause() instanceof InvalidArgumentException); InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); } }
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException { input.defaultReadObject(); builder = ReadRowsRequest.newBuilder().mergeFrom(input); }
/** {@inheritDoc} */ @Override public ReadRowsRequest.Builder adapt(Get operation, ReadHooks readHooks) { Scan operationAsScan = new Scan(addKeyOnlyFilter(operation)); scanAdapter.throwIfUnsupportedScan(operationAsScan); return ReadRowsRequest.newBuilder() .setFilter(scanAdapter.buildFilter(operationAsScan, readHooks).toProto()) .setRows(RowSet.newBuilder().addRowKeys(ByteString.copyFrom(operation.getRow()))); }
public void run() { try { ResultScanner<FlatRow> scanner = client.readFlatRows(ReadRowsRequest.newBuilder() .setTableName(tableName) .setFilter(filter)
/** {@inheritDoc} */ @Override public ReadRowsRequest.Builder adapt(Scan scan, ReadHooks readHooks) { throwIfUnsupportedScan(scan); ReadRowsRequest.Builder requestBuilder = ReadRowsRequest.newBuilder() .setRows(toRowSet(scan)) .setFilter(buildFilter(scan, readHooks).toProto()); if (LIMIT_AVAILABLE && scan.getLimit() > 0) { requestBuilder.setRowsLimit(scan.getLimit()); } return requestBuilder; }
ReadRowsRequest buildUpdatedRequest() { ReadRowsRequest.Builder newRequest = ReadRowsRequest.newBuilder() .setRows(filterRows()) .setTableName(originalRequest.getTableName()) .setAppProfileId(originalRequest.getAppProfileId()); if (originalRequest.hasFilter()) { newRequest.setFilter(originalRequest.getFilter()); } // If the row limit is set, update it. long numRowsLimit = originalRequest.getRowsLimit(); if (numRowsLimit > 0) { // Updates the {@code numRowsLimit} by removing the number of rows already read. numRowsLimit -= rowCount; checkArgument(numRowsLimit > 0, "The remaining number of rows must be greater than 0."); newRequest.setRowsLimit(numRowsLimit); } return newRequest.build(); }
@Override public boolean start() throws IOException { RowSet.Builder rowSetBuilder = RowSet.newBuilder(); for (ByteKeyRange sourceRange : source.getRanges()) { rowSetBuilder = rowSetBuilder.addRowRanges( RowRange.newBuilder() .setStartKeyClosed(ByteString.copyFrom(sourceRange.getStartKey().getValue())) .setEndKeyOpen(ByteString.copyFrom(sourceRange.getEndKey().getValue()))); } RowSet rowSet = rowSetBuilder.build(); String tableNameSr = session.getOptions().getInstanceName().toTableNameStr(source.getTableId().get()); ReadRowsRequest.Builder requestB = ReadRowsRequest.newBuilder().setRows(rowSet).setTableName(tableNameSr); if (source.getRowFilter() != null) { requestB.setFilter(source.getRowFilter()); } results = session.getDataClient().readRows(requestB.build()); return advance(); }
/** Helper function to get a table's data. */ private List<KV<ByteString, ByteString>> getTableData(String tableName) throws IOException { // Add empty range to avoid TARGET_NOT_SET error RowRange range = RowRange.newBuilder() .setStartKeyClosed(ByteString.EMPTY) .setEndKeyOpen(ByteString.EMPTY) .build(); RowSet rowSet = RowSet.newBuilder().addRowRanges(range).build(); ReadRowsRequest.Builder readRowsRequestBuilder = ReadRowsRequest.newBuilder().setTableName(tableName).setRows(rowSet); ResultScanner<Row> scanner = session.getDataClient().readRows(readRowsRequestBuilder.build()); Row currentRow; List<KV<ByteString, ByteString>> tableData = new ArrayList<>(); while ((currentRow = scanner.next()) != null) { ByteString key = currentRow.getKey(); ByteString value = currentRow.getFamilies(0).getColumns(0).getCells(0).getValue(); tableData.add(KV.of(key, value)); } scanner.close(); return tableData; }