in services/library/src/main/java/com/google/cloud/pso/bq_snapshot_manager/services/scan/ResourceScannerImpl.java [94:123]
public List<String> listProjects(Long folderId) throws IOException {
ListProjectsResponse listProjectsResponse = cloudResourceManager.projects().list()
.setParent("folders/" + folderId)
.setPageSize(RESOURCE_MANAGER_PAGE_SIZE)
.execute();
List<String> allProjects = pagedProjectsToList(listProjectsResponse.getProjects());
String nextPageToken = listProjectsResponse.getNextPageToken();
while (nextPageToken != null){
// submit a new request for the next page
listProjectsResponse = cloudResourceManager.projects()
.list()
.setParent("folders/" + folderId)
.setPageSize(RESOURCE_MANAGER_PAGE_SIZE)
.setPageToken(nextPageToken)
.execute();
// add all entries listed in that page
allProjects.addAll(pagedProjectsToList(listProjectsResponse.getProjects()));
// set the next page
nextPageToken = listProjectsResponse.getNextPageToken();
}
return allProjects.stream().distinct().toList();
}