From 1891383aaf3ba1d4d74fcc034de7a72a5cfa773b Mon Sep 17 00:00:00 2001 From: Igor Bernstein <igorbernstein@google.com> Date: Tue, 18 Sep 2018 16:12:27 -0400 Subject: [PATCH] Bigtable: be consistent and don't expose absolute table names --- .../admin/v2/BigtableTableAdminClient.java | 32 +++++++++---------- .../v2/BigtableTableAdminClientTest.java | 6 ++-- .../v2/it/BigtableTableAdminClientIT.java | 5 ++- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java b/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java index eba6a51c4f01..877ec591915a 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/main/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClient.java @@ -383,38 +383,37 @@ public ApiFuture<Table> getTableAsync(String tableId) { } /** - * Lists all TableNames in the instance. + * Lists all table ids in the instance. * * <p>Sample code: * * <pre>{@code - * List<TableName> tableNames = client.listTables(); - * for(TableName name : tableNames) { + * List<String> tableIds = client.listTables(); + * for(String tableId: tableIds) { * System.out.println(name.getTable()); * } * }</pre> */ - // TODO(igorbernstein2): consider changing this method to use relative table ids. @SuppressWarnings("WeakerAccess") - public List<TableName> listTables() { + public List<String> listTables() { return awaitFuture(listTablesAsync()); } /** - * Asynchronously lists all TableNames in the instance. + * Asynchronously lists all table ids in the instance. * * <p>Sample code: * * <pre>{@code - * ApiFuture<List<TableName>> listFuture = client.listTables(); + * ApiFuture<List<String>> listFuture = client.listTables(); * * ApiFutures.addCallback( * listFuture, - * new ApiFutureCallback<List<TableName>>() { - * public void onSuccess(List<TableName> tableNames) { + * new ApiFutureCallback<List<String>>() { + * public void onSuccess(List<String> tableIds) { * System.out.println("Got list of tables:"); - * for (TableName name : tableNames) { - * System.out.println(name.getTable()); + * for (String tableId : tableIds) { + * System.out.println(tableId); * } * } * @@ -426,9 +425,8 @@ public List<TableName> listTables() { * ); * }</pre> */ - // TODO(igorbernstein2): consider changing this method to use relative table ids. @SuppressWarnings("WeakerAccess") - public ApiFuture<List<TableName>> listTablesAsync() { + public ApiFuture<List<String>> listTablesAsync() { ListTablesRequest request = ListTablesRequest.newBuilder().setParent(instanceName.toString()) .build(); @@ -479,12 +477,12 @@ public ApiFuture<List<com.google.bigtable.admin.v2.Table>> apply( // Wrap all of the accumulated protos. return ApiFutures.transform(allProtos, - new ApiFunction<List<com.google.bigtable.admin.v2.Table>, List<TableName>>() { + new ApiFunction<List<com.google.bigtable.admin.v2.Table>, List<String>>() { @Override - public List<TableName> apply(List<com.google.bigtable.admin.v2.Table> protos) { - List<TableName> results = Lists.newArrayListWithCapacity(protos.size()); + public List<String> apply(List<com.google.bigtable.admin.v2.Table> protos) { + List<String> results = Lists.newArrayListWithCapacity(protos.size()); for (com.google.bigtable.admin.v2.Table proto : protos) { - results.add(TableName.parse(proto.getName())); + results.add(TableName.parse(proto.getName()).getTable()); } return results; } diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java index 33b6a8b410d3..74bd2b7dcce9 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTest.java @@ -241,12 +241,12 @@ public void testListTables() { ); // Execute - List<TableName> actualResults = adminClient.listTables(); + List<String> actualResults = adminClient.listTables(); // Verify - List<TableName> expectedResults = Lists.newArrayList(); + List<String> expectedResults = Lists.newArrayList(); for (com.google.bigtable.admin.v2.Table expectedProto : expectedProtos) { - expectedResults.add(TableName.parse(expectedProto.getName())); + expectedResults.add(TableName.parse(expectedProto.getName()).getTable()); } assertThat(actualResults).containsExactlyElementsIn(expectedResults); diff --git a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java index e79120dec693..92d92e62cb52 100644 --- a/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java +++ b/google-cloud-clients/google-cloud-bigtable-admin/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableTableAdminClientIT.java @@ -22,7 +22,6 @@ import static org.junit.Assert.assertTrue; import com.google.bigtable.admin.v2.InstanceName; -import com.google.bigtable.admin.v2.TableName; import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient; import com.google.cloud.bigtable.admin.v2.models.ColumnFamily; import com.google.cloud.bigtable.admin.v2.models.CreateTableRequest; @@ -204,7 +203,7 @@ public void listTables() { try { tableAdmin.createTable(CreateTableRequest.of(tableId)); - List<TableName> tables = tableAdmin.listTables(); + List<String> tables = tableAdmin.listTables(); assertNotNull(tables); assertFalse("List tables did not return any tables", tables.isEmpty()); } finally { @@ -218,7 +217,7 @@ public void listTablesAsync() throws Exception { try { tableAdmin.createTable(CreateTableRequest.of(tableId)); - List<TableName> tables = tableAdmin.listTablesAsync().get(); + List<String> tables = tableAdmin.listTablesAsync().get(); assertNotNull(tables); assertFalse("List tables did not return any tables", tables.isEmpty()); } finally {