in aws-cloudformation-moduleversion/src/main/java/software/amazon/cloudformation/moduleversion/ListHandler.java [138:168]
private ProgressEvent<ResourceModel, CallbackContext> handleListTypeVersionsResponse(
final ListTypeVersionsResponse response,
final CallbackContext callbackContext,
final Logger logger) {
final String moduleToListModuleName = callbackContext.getModuleToList().getModuleName();
final ProgressEvent.ProgressEventBuilder<ResourceModel, CallbackContext> builder = ProgressEvent.<ResourceModel, CallbackContext>builder()
.callbackContext(callbackContext)
.resourceModels(Translator.translateFromListTypeVersionsResponse(response))
.status(OperationStatus.SUCCESS);
if (response.nextToken() == null) {
if (callbackContext.hasModuleToList()) {
callbackContext.setModuleToList(callbackContext.getModulesToList().remove(0));
builder.nextToken(""); // force another call of handleRequest to list next module's versions
logger.log(String.format("No more ListTypeVersions calls for %s: ListTypeVersions call required for %s next",
moduleToListModuleName, callbackContext.getModuleToList().getModuleName()));
} else {
logger.log("List operation complete");
callbackContext.setModuleToList(null);
builder.nextToken(null);
}
} else {
logger.log(String.format("Received nextToken in ListTypeVersionsResponse for %s: another ListTypeVersions call required for %s",
moduleToListModuleName, moduleToListModuleName));
builder.nextToken(response.nextToken());
}
return builder.build();
}