Class S3FileSystemImpl

  • All Implemented Interfaces:
    org.refcodes.component.Component, org.refcodes.component.Destroyable, org.refcodes.filesystem.FileSystem


    public class S3FileSystemImpl
    extends java.lang.Object
    implements org.refcodes.filesystem.FileSystem
    TODO Update the file handle size after writing. Provide a size argument for stream based operations.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable

        org.refcodes.component.Destroyable.DestroyAutomaton
    • Field Summary

      • Fields inherited from interface org.refcodes.filesystem.FileSystem

        PATH_DELIMITER
    • Constructor Summary

      Constructors 
      Constructor Description
      S3FileSystemImpl​(java.lang.String aBucketName, java.lang.String aAccessKey, java.lang.String aSecretKey)
      Instantiates a new s 3 file system impl.
      S3FileSystemImpl​(java.lang.String aBucketName, java.lang.String aAccessKey, java.lang.String aSecretKey, java.lang.String aEndPoint)
      Instantiates a new s 3 file system impl.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static void clearBucket​(com.amazonaws.services.s3.AmazonS3 aAmazonS3, java.lang.String aBucketId)
      Clears (removes all content from) an S3 bucket.
      protected static com.amazonaws.services.s3.AmazonS3 createAmazonS3​(java.lang.String aAccessKey, java.lang.String aSecretKey)
      Creates an AmazonS3 "client".
      static void createBucket​(com.amazonaws.services.s3.AmazonS3 aAmazonS3, java.lang.String aBucketId)
      Creates an S3 bucket.
      org.refcodes.filesystem.FileHandle createFile​(java.lang.String aKey)
      org.refcodes.filesystem.FileHandle createFile​(java.lang.String aPath, java.lang.String aName)
      static void deleteBucket​(com.amazonaws.services.s3.AmazonS3 aAmazonS3, java.lang.String aBucketId)
      Deletes an S3 bucket.
      void deleteFile​(org.refcodes.filesystem.FileHandle aFileHandle)
      protected static void deleteS3Objects​(com.amazonaws.services.s3.AmazonS3 aAmazonS3, java.lang.String aBucketId, java.util.List<com.amazonaws.services.s3.model.S3ObjectSummary> aS3SummaryObjects)
      Deletes the content described by the given S3ObjectSummary list from an S3 bucket.
      void destroy​()
      java.io.InputStream fromFile​(org.refcodes.filesystem.FileHandle aFromFileHandle)
      void fromFile​(org.refcodes.filesystem.FileHandle aFileHandle, java.io.File aToFile)
      void fromFile​(org.refcodes.filesystem.FileHandle aFromFileHandle, java.io.OutputStream aOutputStream)
      protected java.lang.String getAmazonS3BucketName​()
      Retrieves the bucket name to be used.
      protected com.amazonaws.services.s3.AmazonS3 getAmazonS3Client​()
      Retrieves the amazon S3 client to be used.
      protected static com.amazonaws.services.s3.AmazonS3 getAmazonS3Client​(java.io.File aConfigFile)
      Retrieves an AmazonS3Client from a configuration file containing the access- and the secret key.
      org.refcodes.filesystem.FileHandle getFileHandle​(java.lang.String aKey)
      org.refcodes.filesystem.FileHandle getFileHandle​(java.lang.String aPath, java.lang.String aName)
      java.util.List<org.refcodes.filesystem.FileHandle> getFileHandles​(java.lang.String aPath, boolean isRecursively)
      boolean hasFile​(java.lang.String aKey)
      Checks for file.
      boolean hasFile​(java.lang.String aPath, java.lang.String aName)
      boolean hasFile​(org.refcodes.filesystem.FileHandle aFileHandle)
      boolean hasFiles​(java.lang.String aPath, boolean isRecursively)
      org.refcodes.filesystem.FileHandle moveFile​(org.refcodes.filesystem.FileHandle aFileHandle, java.lang.String aNewKey)
      org.refcodes.filesystem.FileHandle renameFile​(org.refcodes.filesystem.FileHandle aFileHandle, java.lang.String aNewName)
      protected void setAmazonS3BucketName​(java.lang.String aAmazonS3BucketName)
      Sets the bucket name to be used.
      java.io.OutputStream toFile​(org.refcodes.filesystem.FileHandle aToFileHandle)
      void toFile​(org.refcodes.filesystem.FileHandle aFileHandle, byte[] aBuffer)
      void toFile​(org.refcodes.filesystem.FileHandle aFileHandle, java.io.File aFile)
      void toFile​(org.refcodes.filesystem.FileHandle aToFileHandle, java.io.InputStream aInputStream)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • S3FileSystemImpl

        public S3FileSystemImpl​(java.lang.String aBucketName,
                                java.lang.String aAccessKey,
                                java.lang.String aSecretKey)
        Instantiates a new s 3 file system impl.
        Parameters:
        aBucketName - the bucket name
        aAccessKey - the access key
        aSecretKey - the secret key
      • S3FileSystemImpl

        public S3FileSystemImpl​(java.lang.String aBucketName,
                                java.lang.String aAccessKey,
                                java.lang.String aSecretKey,
                                java.lang.String aEndPoint)
        Instantiates a new s 3 file system impl.
        Parameters:
        aBucketName - the bucket name
        aAccessKey - the access key
        aSecretKey - the secret key
        aEndPoint - the end point
    • Method Detail

      • hasFile

        public boolean hasFile​(java.lang.String aKey)
                        throws org.refcodes.filesystem.IllegalKeyException,
                               org.refcodes.filesystem.NoListAccessException,
                               org.refcodes.filesystem.UnknownFileSystemException,
                               java.io.IOException
        Checks for file.
        Specified by:
        hasFile in interface org.refcodes.filesystem.FileSystem
        Parameters:
        aKey - the key
        Returns:
        true, if successful
        Throws:
        org.refcodes.filesystem.IllegalKeyException - the illegal key exception
        org.refcodes.filesystem.NoListAccessException - the no list access exception
        org.refcodes.filesystem.UnknownFileSystemException - the unknown file system exception
        java.io.IOException - Signals that an I/O exception has occurred.
      • hasFile

        public boolean hasFile​(java.lang.String aPath,
                               java.lang.String aName)
                        throws org.refcodes.filesystem.IllegalPathException,
                               org.refcodes.filesystem.IllegalNameException,
                               org.refcodes.filesystem.NoListAccessException,
                               org.refcodes.filesystem.UnknownFileSystemException,
                               java.io.IOException
        Specified by:
        hasFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.IllegalPathException
        org.refcodes.filesystem.IllegalNameException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
      • hasFile

        public boolean hasFile​(org.refcodes.filesystem.FileHandle aFileHandle)
                        throws org.refcodes.filesystem.NoListAccessException,
                               org.refcodes.filesystem.UnknownFileSystemException,
                               java.io.IOException,
                               org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        hasFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.IllegalFileHandleException
      • createFile

        public org.refcodes.filesystem.FileHandle createFile​(java.lang.String aKey)
                                                      throws org.refcodes.filesystem.FileAlreadyExistsException,
                                                             org.refcodes.filesystem.NoCreateAccessException,
                                                             org.refcodes.filesystem.IllegalKeyException,
                                                             org.refcodes.filesystem.UnknownFileSystemException,
                                                             java.io.IOException,
                                                             org.refcodes.filesystem.NoListAccessException
        Specified by:
        createFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.FileAlreadyExistsException
        org.refcodes.filesystem.NoCreateAccessException
        org.refcodes.filesystem.IllegalKeyException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
      • createFile

        public org.refcodes.filesystem.FileHandle createFile​(java.lang.String aPath,
                                                             java.lang.String aName)
                                                      throws org.refcodes.filesystem.FileAlreadyExistsException,
                                                             org.refcodes.filesystem.NoCreateAccessException,
                                                             org.refcodes.filesystem.IllegalNameException,
                                                             org.refcodes.filesystem.IllegalPathException,
                                                             org.refcodes.filesystem.UnknownFileSystemException,
                                                             java.io.IOException,
                                                             org.refcodes.filesystem.NoListAccessException
        Specified by:
        createFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.FileAlreadyExistsException
        org.refcodes.filesystem.NoCreateAccessException
        org.refcodes.filesystem.IllegalNameException
        org.refcodes.filesystem.IllegalPathException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
      • getFileHandle

        public org.refcodes.filesystem.FileHandle getFileHandle​(java.lang.String aKey)
                                                         throws org.refcodes.filesystem.NoListAccessException,
                                                                org.refcodes.filesystem.IllegalKeyException,
                                                                org.refcodes.filesystem.UnknownFileSystemException,
                                                                java.io.IOException,
                                                                org.refcodes.filesystem.UnknownKeyException
        Specified by:
        getFileHandle in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalKeyException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.UnknownKeyException
      • getFileHandle

        public org.refcodes.filesystem.FileHandle getFileHandle​(java.lang.String aPath,
                                                                java.lang.String aName)
                                                         throws org.refcodes.filesystem.NoListAccessException,
                                                                org.refcodes.filesystem.IllegalNameException,
                                                                org.refcodes.filesystem.IllegalPathException,
                                                                org.refcodes.filesystem.UnknownFileSystemException,
                                                                java.io.IOException,
                                                                org.refcodes.filesystem.UnknownKeyException
        Specified by:
        getFileHandle in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalNameException
        org.refcodes.filesystem.IllegalPathException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.UnknownKeyException
      • fromFile

        public void fromFile​(org.refcodes.filesystem.FileHandle aFromFileHandle,
                             java.io.OutputStream aOutputStream)
                      throws org.refcodes.filesystem.ConcurrentAccessException,
                             org.refcodes.filesystem.UnknownFileException,
                             org.refcodes.filesystem.NoReadAccessException,
                             org.refcodes.filesystem.UnknownFileSystemException,
                             java.io.IOException,
                             org.refcodes.filesystem.NoListAccessException,
                             org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        fromFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoReadAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • toFile

        public void toFile​(org.refcodes.filesystem.FileHandle aToFileHandle,
                           java.io.InputStream aInputStream)
                    throws org.refcodes.filesystem.ConcurrentAccessException,
                           org.refcodes.filesystem.UnknownFileException,
                           org.refcodes.filesystem.NoWriteAccessException,
                           org.refcodes.filesystem.UnknownFileSystemException,
                           java.io.IOException,
                           org.refcodes.filesystem.NoListAccessException,
                           org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        toFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoWriteAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • fromFile

        public java.io.InputStream fromFile​(org.refcodes.filesystem.FileHandle aFromFileHandle)
                                     throws org.refcodes.filesystem.ConcurrentAccessException,
                                            org.refcodes.filesystem.UnknownFileException,
                                            org.refcodes.filesystem.UnknownFileException,
                                            org.refcodes.filesystem.NoReadAccessException,
                                            org.refcodes.filesystem.UnknownFileSystemException,
                                            java.io.IOException,
                                            org.refcodes.filesystem.NoListAccessException,
                                            org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        fromFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoReadAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • toFile

        public java.io.OutputStream toFile​(org.refcodes.filesystem.FileHandle aToFileHandle)
                                    throws org.refcodes.filesystem.ConcurrentAccessException,
                                           org.refcodes.filesystem.UnknownFileException,
                                           org.refcodes.filesystem.NoWriteAccessException,
                                           org.refcodes.filesystem.UnknownFileSystemException,
                                           java.io.IOException,
                                           org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        toFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoWriteAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.IllegalFileHandleException
      • fromFile

        public void fromFile​(org.refcodes.filesystem.FileHandle aFileHandle,
                             java.io.File aToFile)
                      throws org.refcodes.filesystem.ConcurrentAccessException,
                             org.refcodes.filesystem.UnknownFileException,
                             org.refcodes.filesystem.NoReadAccessException,
                             org.refcodes.filesystem.UnknownFileSystemException,
                             java.io.IOException,
                             org.refcodes.filesystem.NoListAccessException,
                             org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        fromFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoReadAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • toFile

        public void toFile​(org.refcodes.filesystem.FileHandle aFileHandle,
                           java.io.File aFile)
                    throws org.refcodes.filesystem.ConcurrentAccessException,
                           org.refcodes.filesystem.UnknownFileException,
                           org.refcodes.filesystem.NoWriteAccessException,
                           org.refcodes.filesystem.UnknownFileSystemException,
                           java.io.IOException,
                           org.refcodes.filesystem.NoListAccessException,
                           org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        toFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoWriteAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • toFile

        public void toFile​(org.refcodes.filesystem.FileHandle aFileHandle,
                           byte[] aBuffer)
                    throws org.refcodes.filesystem.ConcurrentAccessException,
                           org.refcodes.filesystem.UnknownFileException,
                           org.refcodes.filesystem.NoWriteAccessException,
                           org.refcodes.filesystem.UnknownFileSystemException,
                           java.io.IOException,
                           org.refcodes.filesystem.NoListAccessException,
                           org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        toFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoWriteAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • renameFile

        public org.refcodes.filesystem.FileHandle renameFile​(org.refcodes.filesystem.FileHandle aFileHandle,
                                                             java.lang.String aNewName)
                                                      throws org.refcodes.filesystem.UnknownFileException,
                                                             org.refcodes.filesystem.ConcurrentAccessException,
                                                             org.refcodes.filesystem.FileAlreadyExistsException,
                                                             org.refcodes.filesystem.NoCreateAccessException,
                                                             org.refcodes.filesystem.NoDeleteAccessException,
                                                             org.refcodes.filesystem.IllegalNameException,
                                                             org.refcodes.filesystem.UnknownFileSystemException,
                                                             java.io.IOException,
                                                             org.refcodes.filesystem.NoListAccessException,
                                                             org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        renameFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.FileAlreadyExistsException
        org.refcodes.filesystem.NoCreateAccessException
        org.refcodes.filesystem.NoDeleteAccessException
        org.refcodes.filesystem.IllegalNameException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • moveFile

        public org.refcodes.filesystem.FileHandle moveFile​(org.refcodes.filesystem.FileHandle aFileHandle,
                                                           java.lang.String aNewKey)
                                                    throws org.refcodes.filesystem.UnknownFileException,
                                                           org.refcodes.filesystem.ConcurrentAccessException,
                                                           org.refcodes.filesystem.FileAlreadyExistsException,
                                                           org.refcodes.filesystem.NoCreateAccessException,
                                                           org.refcodes.filesystem.NoDeleteAccessException,
                                                           org.refcodes.filesystem.IllegalKeyException,
                                                           org.refcodes.filesystem.UnknownFileSystemException,
                                                           java.io.IOException,
                                                           org.refcodes.filesystem.NoListAccessException,
                                                           org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        moveFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.FileAlreadyExistsException
        org.refcodes.filesystem.NoCreateAccessException
        org.refcodes.filesystem.NoDeleteAccessException
        org.refcodes.filesystem.IllegalKeyException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • deleteFile

        public void deleteFile​(org.refcodes.filesystem.FileHandle aFileHandle)
                        throws org.refcodes.filesystem.ConcurrentAccessException,
                               org.refcodes.filesystem.UnknownFileException,
                               org.refcodes.filesystem.NoDeleteAccessException,
                               org.refcodes.filesystem.UnknownFileSystemException,
                               java.io.IOException,
                               org.refcodes.filesystem.NoListAccessException,
                               org.refcodes.filesystem.IllegalFileHandleException
        Specified by:
        deleteFile in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.ConcurrentAccessException
        org.refcodes.filesystem.UnknownFileException
        org.refcodes.filesystem.NoDeleteAccessException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalFileHandleException
      • hasFiles

        public boolean hasFiles​(java.lang.String aPath,
                                boolean isRecursively)
                         throws org.refcodes.filesystem.NoListAccessException,
                                org.refcodes.filesystem.IllegalPathException,
                                org.refcodes.filesystem.UnknownFileSystemException,
                                java.io.IOException
        Specified by:
        hasFiles in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.IllegalPathException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
      • getFileHandles

        public java.util.List<org.refcodes.filesystem.FileHandle> getFileHandles​(java.lang.String aPath,
                                                                                 boolean isRecursively)
                                                                          throws org.refcodes.filesystem.NoListAccessException,
                                                                                 org.refcodes.filesystem.UnknownPathException,
                                                                                 org.refcodes.filesystem.IllegalPathException,
                                                                                 org.refcodes.filesystem.UnknownFileSystemException,
                                                                                 java.io.IOException
        Specified by:
        getFileHandles in interface org.refcodes.filesystem.FileSystem
        Throws:
        org.refcodes.filesystem.NoListAccessException
        org.refcodes.filesystem.UnknownPathException
        org.refcodes.filesystem.IllegalPathException
        org.refcodes.filesystem.UnknownFileSystemException
        java.io.IOException
      • destroy

        public void destroy​()
        Specified by:
        destroy in interface org.refcodes.component.Destroyable
      • getAmazonS3BucketName

        protected java.lang.String getAmazonS3BucketName​()
        Retrieves the bucket name to be used.
        Returns:
        The bucket name.
      • setAmazonS3BucketName

        protected void setAmazonS3BucketName​(java.lang.String aAmazonS3BucketName)
        Sets the bucket name to be used.
        Parameters:
        aAmazonS3BucketName - The bucket name to be used.
      • getAmazonS3Client

        protected com.amazonaws.services.s3.AmazonS3 getAmazonS3Client​()
        Retrieves the amazon S3 client to be used.
        Returns:
        The S3 client to be used.
      • createBucket

        public static void createBucket​(com.amazonaws.services.s3.AmazonS3 aAmazonS3,
                                        java.lang.String aBucketId)
        Creates an S3 bucket.
        Parameters:
        aAmazonS3 - The AmazonS3 client.
        aBucketId - The ID of the bucket to be created.
      • clearBucket

        protected static void clearBucket​(com.amazonaws.services.s3.AmazonS3 aAmazonS3,
                                          java.lang.String aBucketId)
        Clears (removes all content from) an S3 bucket.
        Parameters:
        aAmazonS3 - The AmazonS3 client.
        aBucketId - The ID of the bucket to be cleared.
      • deleteBucket

        public static void deleteBucket​(com.amazonaws.services.s3.AmazonS3 aAmazonS3,
                                        java.lang.String aBucketId)
        Deletes an S3 bucket.
        Parameters:
        aAmazonS3 - The AmazonS3 client.
        aBucketId - The ID of the bucket to be deleted.
      • createAmazonS3

        protected static com.amazonaws.services.s3.AmazonS3 createAmazonS3​(java.lang.String aAccessKey,
                                                                           java.lang.String aSecretKey)
        Creates an AmazonS3 "client".
        Parameters:
        aAccessKey - The according access key for accessing amazon AWS.
        aSecretKey - The secret access key for accessing amazon AWS.
        Returns:
        The client represented by an AmazonS3 instance.
      • deleteS3Objects

        protected static void deleteS3Objects​(com.amazonaws.services.s3.AmazonS3 aAmazonS3,
                                              java.lang.String aBucketId,
                                              java.util.List<com.amazonaws.services.s3.model.S3ObjectSummary> aS3SummaryObjects)
        Deletes the content described by the given S3ObjectSummary list from an S3 bucket.
        Parameters:
        aAmazonS3 - The AmazonS3 client.
        aBucketId - The ID of the bucket from which the objects are to be deleted.
        aS3SummaryObjects - The S3ObjectSummary list describing the objects to be deleted.
      • getAmazonS3Client

        protected static com.amazonaws.services.s3.AmazonS3 getAmazonS3Client​(java.io.File aConfigFile)
                                                                       throws java.io.IOException
        Retrieves an AmazonS3Client from a configuration file containing the access- and the secret key.
        Parameters:
        aConfigFile - The configuration file used to configure the AmazonS3Client.
        Returns:
        An AmazonS3Client.
        Throws:
        java.io.IOException - In case there were problems reading the configuration file.