protected ProgressEvent handleRequest()

in aws-codegurureviewer-repositoryassociation/src/main/java/software/amazon/codegurureviewer/repositoryassociation/DeleteHandler.java [31:56]


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

        this.logger = logger;

        final ResourceModel model = request.getDesiredResourceState();

        return ProgressEvent.progress(model, callbackContext)
                .then(progress -> checkForPreDeleteResourceExistence(request, progress, proxyClient))
                .then(progress ->
                        proxy.initiate("AWS-CodeGuruReviewer-RepositoryAssociation::Delete", proxyClient, model,
                                callbackContext)
                                .translateToServiceRequest(Translator::translateToDisassociateRepositoryRequest)
                                .backoffDelay(BACKOFF_STRATEGY)
                                .makeServiceCall((awsRequest, sdkProxyClient) -> deleteResource(awsRequest,
                                        sdkProxyClient, model, callbackContext))
                                .stabilize(this::stabilizeOnHandle)
                                .progress())
                .then((response -> ProgressEvent.<ResourceModel, CallbackContext>builder()
                        .status(OperationStatus.SUCCESS)
                        .build()));
    }