public ProgressEvent handleRequest()

in aws-rekognition-project/src/main/java/software/amazon/rekognition/project/ListHandler.java [20:55]


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

        List<ResourceModel> models = new ArrayList<>();
        DescribeProjectsResponse describeProjectsResponse = null;
        DescribeProjectsRequest describeProjectsRequest = null;
        String nextToken = null;

        RekognitionClient rekognitionClient = RekognitionClient.create();

        do {
            describeProjectsRequest = DescribeProjectsRequest.builder()
                    .nextToken(nextToken)
                    .build();

            describeProjectsResponse = proxy.injectCredentialsAndInvokeV2(
                    describeProjectsRequest,
                    rekognitionClient::describeProjects);

            for (ProjectDescription p : describeProjectsResponse.projectDescriptions()) {
                models.add(ResourceModel.builder()
                        .arn(p.projectArn())
                        .projectName(Utils.getProjectNameFromArn(p.projectArn()))
                        .build());
            }
            nextToken = describeProjectsResponse.nextToken();
        } while (nextToken != null);

        return ProgressEvent.<ResourceModel, CallbackContext>builder()
                .resourceModels(models)
                .status(OperationStatus.SUCCESS)
                .build();
    }