Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. public class FileReadImpl
  2. {
  3. private static final Logger logger = LoggerFactory.getLogger(FileReadImpl.class);
  4.  
  5. AmazonS3 s3;
  6.  
  7. public void init(String accessKey, String secretKey)
  8. {
  9. s3 = new AmazonS3Client(new BasicAWSCredentials(accessKey, secretKey));
  10. }
  11.  
  12.  
  13. public List<S3ObjectInputStream> readEmailsAndMoveToRead(String accessKeyId, String secretAccessKey, String incommingBucket, String processedBucket)
  14. {
  15. List<S3ObjectInputStream> s3ObjectInputStreamList = new ArrayList<S3ObjectInputStream>();
  16. AWSCredentials credentials = new BasicAWSCredentials(accessKeyId, secretAccessKey);
  17. AmazonS3 s3 = new AmazonS3Client(credentials);
  18. ObjectListing listing = s3.listObjects(incommingBucket, "Email/");
  19. List<S3ObjectSummary> summaries = listing.getObjectSummaries();
  20.  
  21. while (listing.isTruncated())
  22. {
  23. listing = s3.listNextBatchOfObjects (listing);
  24. summaries.addAll (listing.getObjectSummaries());
  25. }
  26. for (S3ObjectSummary s3ObjectSummary : summaries)
  27. {
  28. String key = s3ObjectSummary.getKey();//getting the key of the item
  29. S3Object object = s3.getObject(
  30. new GetObjectRequest(incommingBucket, key));
  31. S3ObjectInputStream inuptStream = object.getObjectContent();
  32. s3ObjectInputStreamList.add(inuptStream);
  33. if(!s3.doesBucketExist(processedBucket))
  34. {
  35. s3.createBucket(processedBucket);
  36. }
  37. s3.copyObject(incommingBucket, key, processedBucket, key);
  38. s3.deleteObject(incommingBucket, key);
  39. try
  40. {
  41. inuptStream.close();
  42. }
  43. catch (IOException e)
  44. {
  45. logger.error(e.toString());
  46. }
  47. }
  48. return s3ObjectInputStreamList;
  49. }
  50. }
  51.  
  52. public void getEmails()
  53. {
  54. FileReadImpl fileReadImpl = new FileReadImpl();
  55. List<S3ObjectInputStream> s3ObjectInputStreamList = fileReadImpl.readEmailsAndMoveToRead("accessKeyId", "secretAccessKey", "incomingBucket", "processedBucket");
  56. for (S3ObjectInputStream s3ObjectInputStream : s3ObjectInputStreamList)
  57. {
  58. //logic to save the email content as emails
  59. }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement