Interface CloudStoreInf

All Known Implementing Classes:
AWSS3Cloud, AWSS3V2Cloud, CloudhostAPI, OpenstackCloud, PairtreeCloud, StoreCloud

public interface CloudStoreInf
Interface for Cloud Store
Author:
dloy
  • Method Details

    • putObject

      CloudResponse putObject(String bucketName, String key, File inputFile) throws org.cdlib.mrt.utility.TException
      Upload cloud object
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - entry key to be added
      inputFile - file to be uploaded
      Returns:
      information about upload
      Throws:
      org.cdlib.mrt.utility.TException
    • putObject

      CloudResponse putObject(String bucketName, org.cdlib.mrt.core.Identifier objectID, int versionID, String fileID, File inputFile) throws org.cdlib.mrt.utility.TException
      Upload cloud object
      Parameters:
      bucketName - s3 bucket - rackspace container
      objectID - Object identifier
      versionID - Version identifier
      fileID - File/component identifier that may contain a directory element
      inputFile - file to be uploaded
      Returns:
      information about upload
      Throws:
      org.cdlib.mrt.utility.TException
    • putManifest

      CloudResponse putManifest(String bucketName, org.cdlib.mrt.core.Identifier objectID, File inputFile) throws org.cdlib.mrt.utility.TException
      Upload cloud manifest
      Parameters:
      bucketName - s3 bucket - rackspace container
      objectID - Object identifier
      inputFile - manifest file to be uploaded
      Returns:
      information about upload
      Throws:
      org.cdlib.mrt.utility.TException
    • deleteObject

      CloudResponse deleteObject(String bucketName, String key) throws org.cdlib.mrt.utility.TException
      Delete object
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - cloud object key
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • deleteObject

      CloudResponse deleteObject(String bucketName, org.cdlib.mrt.core.Identifier objectID, int versionID, String fileID) throws org.cdlib.mrt.utility.TException
      Delete cloud object
      Parameters:
      bucketName - s3 bucket - rackspace container
      objectID - Object identifier
      versionID - Version identifier
      fileID - File/component identifier that may contain a directory element
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • deleteManifest

      CloudResponse deleteManifest(String bucketName, org.cdlib.mrt.core.Identifier objectID) throws org.cdlib.mrt.utility.TException
      Delete cloud manifest
      Parameters:
      bucketName - s3 bucket - rackspace container
      objectID - Object identifier
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • getObject

      InputStream getObject(String bucketName, org.cdlib.mrt.core.Identifier objectID, int versionID, String fileID, CloudResponse response) throws org.cdlib.mrt.utility.TException
      Retrieve cloud Object
      Parameters:
      bucketName - s3 bucket - rackspace container
      objectID - Object identifier
      versionID - Version identifier
      fileID - File/component identifier that may contain a directory element
      response - input stream of retrieved object
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • getObject

      InputStream getObject(String bucketName, String key, CloudResponse response) throws org.cdlib.mrt.utility.TException
      Retrieve cloud object
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - cloud object key for object to be returned
      response -
      Returns:
      input stream of retrieved object
      Throws:
      org.cdlib.mrt.utility.TException
    • getObjectStreaming

      InputStream getObjectStreaming(String bucketName, String key, CloudResponse response) throws org.cdlib.mrt.utility.TException
      Retrieve cloud object in streaming mode
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - cloud object key for object to be returned
      response -
      Returns:
      input stream of retrieved object
      Throws:
      org.cdlib.mrt.utility.TException
    • getObject

      void getObject(String bucketName, String key, File outFile, CloudResponse response) throws org.cdlib.mrt.utility.TException
      Retrieve content into a file
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - cloud object key for object to be returned
      outFile - file to receive content
      response -
      Throws:
      org.cdlib.mrt.utility.TException
    • getObjectMeta

      Properties getObjectMeta(String bucketName, String fileKey) throws org.cdlib.mrt.utility.TException
      Retrieve metadata for file
      Parameters:
      bucketName - s3 bucket - rackspace container
      fileKey - cloud object key for object to be returned
      Returns:
      exists: named properties; does not exist: null
      Throws:
      org.cdlib.mrt.utility.TException
    • getManifest

      InputStream getManifest(String bucketName, org.cdlib.mrt.core.Identifier objectID, CloudResponse response) throws org.cdlib.mrt.utility.TException
      Retrieve cloud manifest
      Parameters:
      bucketName - s3 bucket - rackspace container
      objectID - Object identifier
      response -
      Returns:
      input stream of retrieved object
      Throws:
      org.cdlib.mrt.utility.TException
    • getManifest

      InputStream getManifest(String bucketName, org.cdlib.mrt.core.Identifier objectID) throws org.cdlib.mrt.utility.TException
      Retrieve cloud manifest
      Parameters:
      bucketName - s3 bucket - rackspace container
      objectID - Object identifier
      Returns:
      input stream of retrieved manifest
      Throws:
      org.cdlib.mrt.utility.TException
    • restoreObject

      void restoreObject(String container, String key, File outFile, CloudResponse response) throws org.cdlib.mrt.utility.TException
      Restore nearline content
      Parameters:
      containers3 - bucket - rackspace container
      key - cloud key
      outFile - target file of response
      response -
      Throws:
      org.cdlib.mrt.utility.TException
    • getObjectList

      CloudResponse getObjectList(String bucketName, String key) throws org.cdlib.mrt.utility.TException
      Return content that matches for the length of the key
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - prefix of content to be returned
      Returns:
      CloudResponse with list of matching entries
      Throws:
      org.cdlib.mrt.utility.TException
    • getObjectList

      CloudResponse getObjectList(String bucketName, String key, int limit) throws org.cdlib.mrt.utility.TException
      Return a set number of entry metadata based on start key
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - content key of the first output
      limit - number of returned entries
      Returns:
      CloudResponse with list of sequential entries
      Throws:
      org.cdlib.mrt.utility.TException
    • getObjectList

      CloudResponse getObjectList(String bucketName) throws org.cdlib.mrt.utility.TException
      Return info on bucket/container
      Parameters:
      bucketName - s3 bucket - rackspace container
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • getObjectListAfter

      CloudResponse getObjectListAfter(String bucketName, String afterKey, int limit) throws org.cdlib.mrt.utility.TException
      Return list of S3 keys after a start key
      Parameters:
      bucketName - s3 bucket
      afterKey - start return list after this value
      limit - number of keys to return
      Returns:
      cloud response with keys
      Throws:
      org.cdlib.mrt.utility.TException
    • getState

      StateHandler.RetState getState(String bucketName) throws org.cdlib.mrt.utility.TException
      Return state of cloud store manager
      Parameters:
      bucketName - bucket container
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • getCloudProp

      Properties getCloudProp()
      Retrieve cloud properties for bucket
      Returns:
    • validateMd5

      CloudResponse validateMd5(String bucketName, String key, String inMd5) throws org.cdlib.mrt.utility.TException
      Validate that the md5 digest matches cloud object digest
      Parameters:
      bucketName - s3 bucket - rackspace container
      key - cloud object key
      inMd5 - md5 digest value
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • validateDigest

      CloudResponse validateDigest(String bucketName, String key, org.cdlib.mrt.core.MessageDigest digest, long length) throws org.cdlib.mrt.utility.TException
      Generic validation of stored content
      Parameters:
      bucketName - cloud container
      key - cloud key
      digest - expected Digest and Digest Type
      length - expected file length
      Returns:
      Throws:
      org.cdlib.mrt.utility.TException
    • isAlive

      Boolean isAlive(String bucketName)
      Determine if host:port is available
      Parameters:
      testUrlS - - base url for site to be tested
      Returns:
      true=alive; false=not alive; null=test not performed
    • getPreSigned

      CloudResponse getPreSigned(long expirationMinutes, String bucketName, String key, String contentType, String contentDisp) throws org.cdlib.mrt.utility.TException
      Returns an S3 presigned URL
      Parameters:
      expirationMinutes - minutes for the signed URL to work
      bucketName - cloud container
      key - cloud key
      contentType - optional ContentType for this file
      contentDisp - optional ContentDisposition for this file
      Returns:
      CloudResponse where response.getReturnURL returns the presigned URL
      Throws:
      org.cdlib.mrt.utility.TException
    • getRangeStream

      InputStream getRangeStream(String bucketName, String key, long start, long stop, CloudResponse response) throws org.cdlib.mrt.utility.TException
      Return part of a cloud object as stream
      Parameters:
      bucketName - cloud container
      key - cloud key
      start - byte location to start from zero
      stop - byte location to stop from zero
      response - Res[pmse tp reqiest
      Returns:
      input stream for segment
      Throws:
      org.cdlib.mrt.utility.TException
    • getType

      Return the API type
      Returns:
      AWS-S3, SDSC-Swift, Cloudhost, Pairtree
    • isAlphaNumericKey

      boolean isAlphaNumericKey()
      Because of earlier SDSC bug only alpha-numerics could be used in a key. true=alpha-numeric key, false=ASCII (current default)
      Returns: