in preparedstatement/src/main/java/software/amazon/athena/preparedstatement/ReadHandler.java [18:48]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<AthenaClient> proxyClient,
final Logger logger) {
this.logger = logger;
return proxy.initiate("AWS-Athena-PreparedStatement::Read",
proxyClient, request.getDesiredResourceState(), callbackContext)
.translateToServiceRequest(Translator::translateToReadRequest)
.makeServiceCall((awsRequest, client) -> {
GetPreparedStatementResponse awsResponse;
try {
awsResponse = client.injectCredentialsAndInvokeV2(awsRequest, client.client()::getPreparedStatement);
} catch (final AwsServiceException e) {
if (e instanceof ResourceNotFoundException) {
throw new CfnNotFoundException(e);
}
throw new CfnGeneralServiceException(ResourceModel.TYPE_NAME, e);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
logger.log(String.format("%s has successfully been read.", ResourceModel.TYPE_NAME));
return awsResponse;
})
.done(awsResponse -> ProgressEvent.defaultSuccessHandler(Translator.translateFromReadResponse(awsResponse)));
}