in src/main/java/software/aws/glue/tableversions/utils/GlueUtil.java [40:67]
public List<TableVersion> getTableVersions(AWSGlue glueClient, String tableName, String databaseName) {
List<TableVersion> masterTableVersionList = new ArrayList<TableVersion>();
// Prepare GetTableVersionsRequest and Get Table versions
GetTableVersionsRequest getTableVersionsRequest = new GetTableVersionsRequest();
getTableVersionsRequest.setTableName(tableName);
getTableVersionsRequest.setDatabaseName(databaseName);
GetTableVersionsResult getTableVersionsResult = glueClient.getTableVersions(getTableVersionsRequest);
List<TableVersion> tableVersionList = getTableVersionsResult.getTableVersions();
masterTableVersionList.addAll(tableVersionList);
// Get and check next token if it is null
String tableVersionsNextToken = getTableVersionsResult.getNextToken();
if (Optional.ofNullable(tableVersionsNextToken).isPresent()) {
do {
getTableVersionsRequest = new GetTableVersionsRequest();
getTableVersionsRequest.setTableName(tableName);
getTableVersionsRequest.setDatabaseName(databaseName);
getTableVersionsRequest.setNextToken(tableVersionsNextToken);
getTableVersionsResult = glueClient.getTableVersions(getTableVersionsRequest);
tableVersionList = getTableVersionsResult.getTableVersions();
masterTableVersionList.addAll(tableVersionList);
tableVersionsNextToken = getTableVersionsResult.getNextToken();
} while (Optional.ofNullable(tableVersionsNextToken).isPresent());
}
return masterTableVersionList;
}