public ProgressEvent handleRequest()

in aws-databrew-recipe/src/main/java/software/amazon/databrew/recipe/ReadHandler.java [19:54]


    public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
        final AmazonWebServicesClientProxy proxy,
        final ResourceHandlerRequest<ResourceModel> request,
        final CallbackContext callbackContext,
        final Logger logger) {

        final ResourceModel model = request.getDesiredResourceState();

        final String recipeName = model.getName();
        final DataBrewClient databrewClient = ClientBuilder.getClient();
        final DescribeRecipeRequest describeRecipeRequest = DescribeRecipeRequest.builder()
                .name(recipeName)
                .recipeVersion(LATEST_WORKING)
                .build();

        final DescribeRecipeResponse describeRecipeResponse;
        try {
            describeRecipeResponse = proxy.injectCredentialsAndInvokeV2(describeRecipeRequest, databrewClient::describeRecipe);
            logger.log(String.format("%s [%s] Read Successfully", ResourceModel.TYPE_NAME, recipeName));
            final ResourceModel resultModel = ModelHelper.constructModel(describeRecipeResponse);
            return ProgressEvent.<ResourceModel, CallbackContext>builder()
                    .resourceModel(resultModel)
                    .status(OperationStatus.SUCCESS)
                    .build();

        } catch (ResourceNotFoundException ex) {
            logger.log(String.format("%s [%s] Does Not Exist", ResourceModel.TYPE_NAME, recipeName));
            return ProgressEvent.defaultFailureHandler(ex, HandlerErrorCode.NotFound);
        } catch (ValidationException ex) {
            logger.log(String.format("%s [%s] Invalid Parameter", ResourceModel.TYPE_NAME, recipeName));
            return ProgressEvent.defaultFailureHandler(ex, HandlerErrorCode.InvalidRequest);
        } catch (DataBrewException ex) {
            logger.log(String.format("%s [%s] Read Failed", ResourceModel.TYPE_NAME, recipeName));
            return ProgressEvent.defaultFailureHandler(ex, HandlerErrorCode.ServiceInternalError);
        }
    }