Package org.duracloud.swiftstorage
Class SwiftStorageProvider
java.lang.Object
org.duracloud.storage.provider.StorageProviderBase
org.duracloud.s3storage.S3StorageProvider
org.duracloud.swiftstorage.SwiftStorageProvider
- All Implemented Interfaces:
StorageProvider
Provides content storage backed by OpenStack Swift with S3 API middleware.
- Author:
- Andy Foster Date: Feb 25, 2019
-
Nested Class Summary
Nested classes/interfaces inherited from class org.duracloud.storage.provider.StorageProviderBase
StorageProviderBase.SpaceDeleteWorker -
Field Summary
Fields inherited from class org.duracloud.s3storage.S3StorageProvider
accessKeyId, DEFAULT_STORAGE_CLASS, HEADER_KEY_SUFFIX, HEADER_VALUE_PREFIX, HIDDEN_SPACE_PREFIX, MAX_ITEM_COUNT, s3ClientFields inherited from class org.duracloud.storage.provider.StorageProviderBase
ACL_DELIM, ACL_GROUP_READ, ACL_GROUP_WRITE, ACL_USER_READ, ACL_USER_WRITEFields inherited from interface org.duracloud.storage.provider.StorageProvider
DEFAULT_MAX_RESULTS, DEFAULT_MIMETYPE, ISO8601_DATE_FORMAT, PROPERTIES_BUCKET, PROPERTIES_CONTENT_CHECKSUM, PROPERTIES_CONTENT_CREATOR, PROPERTIES_CONTENT_FILE_CREATED, PROPERTIES_CONTENT_FILE_LAST_ACCESSED, PROPERTIES_CONTENT_FILE_MODIFIED, PROPERTIES_CONTENT_FILE_PATH, PROPERTIES_CONTENT_MD5, PROPERTIES_CONTENT_MIMETYPE, PROPERTIES_CONTENT_MODIFIED, PROPERTIES_CONTENT_SIZE, PROPERTIES_COPY_SOURCE, PROPERTIES_COPY_SOURCE_STORE, PROPERTIES_HLS_STREAMING_HOST, PROPERTIES_HLS_STREAMING_TYPE, PROPERTIES_SPACE_ACL, PROPERTIES_SPACE_ACL_GROUP, PROPERTIES_SPACE_ACL_PUBLIC, PROPERTIES_SPACE_COUNT, PROPERTIES_SPACE_CREATED, PROPERTIES_SPACE_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionSwiftStorageProvider(com.amazonaws.services.s3.AmazonS3 s3Client, String accessKey) -
Method Summary
Modifier and TypeMethodDescriptionprotected com.amazonaws.services.s3.model.BucketcreateBucket(String spaceId) createHiddenSpace(String spaceId, int expirationInDays) protected voiddoSetSpaceProperties(String spaceId, Map<String, String> spaceProperties) com.amazonaws.services.s3.model.ObjectMetadataexpireObject(String bucketName, String contentId, Integer seconds) Add expire header for object in Swift.getAllSpaceProperties(String spaceId) protected StringgetNewBucketName(String spaceId) protected StringgetSpaceId(String bucketName) prepContentProperties(com.amazonaws.services.s3.model.ObjectMetadata objMetadata) voidremoveSpace(String spaceId) protected voidupdateObjectProperties(String bucketName, String contentId, com.amazonaws.services.s3.model.ObjectMetadata objMetadata) Methods inherited from class org.duracloud.s3storage.S3StorageProvider
addContent, addHiddenContent, copyContent, createSpace, decodeHeaderKey, decodeHeaderValue, deleteContent, doesContentExistWithExpectedChecksum, encodeHeaderKey, encodeHeaderValue, formattedDate, getBucketCreationDate, getBucketName, getContent, getContent, getContentProperties, getETagValue, getHiddenBucketName, getSpaceContents, getSpaceContentsChunked, getSpaceCount, getSpaceFree, getSpaceProperties, getSpaces, getStoragePolicy, getWithSpace, isSpace, removeCalculatedProperties, replaceInMapValues, setContentProperties, setSpaceLifecycle, spaceExists, throwIfContentNotExist, waitMethods inherited from class org.duracloud.storage.provider.StorageProviderBase
deleteSpace, deleteSpaceSync, getSpaceACLs, getSpaceDeleteWorker, packACLs, setNewSpaceProperties, setNewSpaceProperties, setSpaceACLs, setWrappedStorageProvider, throwIfSpaceNotExist, throwIfSpaceNotExist, unpackACLs
-
Constructor Details
-
SwiftStorageProvider
-
SwiftStorageProvider
-
-
Method Details
-
getStorageProviderType
- Specified by:
getStorageProviderTypein interfaceStorageProvider- Overrides:
getStorageProviderTypein classS3StorageProvider
-
createBucket
- Overrides:
createBucketin classS3StorageProvider
-
removeSpace
- Overrides:
removeSpacein classS3StorageProvider
-
createHiddenSpace
- Overrides:
createHiddenSpacein classS3StorageProvider
-
getNewBucketName
- Overrides:
getNewBucketNamein classS3StorageProvider
-
getSpaceId
- Overrides:
getSpaceIdin classS3StorageProvider
-
getAllSpaceProperties
- Overrides:
getAllSpacePropertiesin classS3StorageProvider
-
doSetSpaceProperties
- Overrides:
doSetSpacePropertiesin classS3StorageProvider
-
updateObjectProperties
protected void updateObjectProperties(String bucketName, String contentId, com.amazonaws.services.s3.model.ObjectMetadata objMetadata) - Overrides:
updateObjectPropertiesin classS3StorageProvider
-
prepContentProperties
protected Map<String,String> prepContentProperties(com.amazonaws.services.s3.model.ObjectMetadata objMetadata) - Overrides:
prepContentPropertiesin classS3StorageProvider
-
expireObject
public com.amazonaws.services.s3.model.ObjectMetadata expireObject(String bucketName, String contentId, Integer seconds) Add expire header for object in Swift.- Parameters:
bucketName-contentId-seconds-
-