protected ProgressEvent handleRequest()

in aws-sns-topicpolicy/src/main/java/software/amazon/sns/topicpolicy/DeleteHandler.java [22:44]


    protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
            final AmazonWebServicesClientProxy proxy,
            final ResourceHandlerRequest<ResourceModel> request,
            final CallbackContext callbackContext,
            final ProxyClient<SnsClient> proxyClient,
            final Logger logger) {

        this.logger = logger;

        final ResourceModel model = request.getDesiredResourceState();
        // primary id must be set up
        if (StringUtils.isNullOrEmpty(model.getId())
                || CollectionUtils.isNullOrEmpty(model.getTopics()))
        {
            throw new CfnInvalidRequestException("Invalid delete request, must contain Primary Id.");
        }

        return ProgressEvent.progress(model, callbackContext)
                .then(progress -> doDelete(proxy, proxyClient, request, progress))
                .then(progress -> ProgressEvent.<ResourceModel, CallbackContext> builder()
                        .status(OperationStatus.SUCCESS)
                        .build());
    }