package cc.nfscan.server.service.s3; import com.amazonaws.AmazonClientException; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.model.DeleteObjectRequest; import org.springframework.beans.factory.annotation.Autowired; /** * Class that integrates with AWS S3 service. * This service is in charge of delete objects on a bucket * * @author Paulo Miguel Almeida <a href="http://github.com/PauloMigAlmeida">@PauloMigAlmeida</a> */ abstract class S3Delete { /** * AmazonS3 instance */ @Autowired private AmazonS3 amazonS3; /** * Deletes the specified object in the specified bucket * * @param bucketName bucket name * @param key object key * @throws AmazonClientException If any errors are encountered in the client while making the * request or handling the response. * @throws AmazonServiceException If any errors occurred in Amazon S3 while processing the * request. */ protected void startDelete(String bucketName, String key) throws AmazonClientException, AmazonServiceException { DeleteObjectRequest deleteObjectRequest = new DeleteObjectRequest(bucketName, key); amazonS3.deleteObject(deleteObjectRequest); } }