private void getBigTableTableInformation()

in vandelay-bigtable/src/main/java/com/spotify/api/vandelay/bigtable/exports/VandelayBigTableExporter.java [206:238]


  private void getBigTableTableInformation(
      final BigtableTableAdminClient tableAdminClient, final Builder builder) {

    final List<String> tables = tableAdminClient.listTables();
    if (!tables.isEmpty()) {

      final Map<String, BigTableTable> tableTables = new HashMap<>();
      final Map<String, IAMPolicy> tablePolicies = new HashMap<>();
      for (final var tableId : tables) {
        tableTables.put(
            tableId,
            new BigTableTableMapperFunction()
                .convertTo(tableAdminClient.getTable(tableId))
                .orElse(null));
        tablePolicies.put(
            tableId,
            new IAMPolicyMapperFunction()
                .convertTo(tableAdminClient.getIamPolicy(tableId))
                .orElse(null));
      }

      tableTables.values().removeIf(Objects::isNull);
      tablePolicies.values().removeIf(Objects::isNull);

      builder.setTables(tableTables);
      logger.info("Set " + tableTables.size() + " tables");

      builder.setTablePolicies(tablePolicies);
      logger.info("Set " + tablePolicies.size() + " table policies");
    } else {
      logger.info("No tables found");
    }
  }