protected ProgressEvent handleRequest()

in aws-kendra-faq/src/main/java/software/amazon/kendra/faq/ReadHandler.java [36:62]


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

        this.logger = logger;

        final ResourceModel model = request.getDesiredResourceState();

        // TODO: Adjust Progress Chain according to your implementation
        // https://github.com/aws-cloudformation/cloudformation-cli-java-plugin/blob/master/src/main/java/software/amazon/cloudformation/proxy/CallChain.java

        DescribeFaqRequest describeFaqRequest = Translator.translateToReadRequest(model);
        DescribeFaqResponse describeFaqResponse = readFaq(describeFaqRequest, proxyClient);
        String faqArn = faqArnBuilder.build(request);
        final ListTagsForResourceRequest listTagsForResourceRequest = Translator.translateToListTagsRequest(faqArn);
        ListTagsForResourceResponse listTagsForResourceResponse;
        try {
            listTagsForResourceResponse = proxyClient.injectCredentialsAndInvokeV2(listTagsForResourceRequest,
                    proxyClient.client()::listTagsForResource);
        } catch (ResourceInUseException e) {
            throw new CfnGeneralServiceException(LIST_TAGS_FOR_RESOURCE, e);
        }
        return constructResourceModelFromResponse(describeFaqResponse, listTagsForResourceResponse, faqArn);
    }