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
public class SwiftStorageProvider extends S3StorageProvider
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, s3Client
-
Fields inherited from class org.duracloud.storage.provider.StorageProviderBase
ACL_DELIM, ACL_GROUP_READ, ACL_GROUP_WRITE, ACL_USER_READ, ACL_USER_WRITE
-
Fields 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
Constructors Constructor Description SwiftStorageProvider(com.amazonaws.services.s3.AmazonS3 s3Client, String accessKey)SwiftStorageProvider(String accessKey, String secretKey, Map<String,String> options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.amazonaws.services.s3.model.BucketcreateBucket(String spaceId)StringcreateHiddenSpace(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.protected Map<String,String>getAllSpaceProperties(String spaceId)protected StringgetNewBucketName(String spaceId)protected StringgetSpaceId(String bucketName)StorageProviderTypegetStorageProviderType()protected Map<String,String>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, wait
-
Methods inherited from class org.duracloud.storage.provider.StorageProviderBase
deleteSpace, deleteSpaceSync, getSpaceACLs, getSpaceDeleteWorker, packACLs, setNewSpaceProperties, setNewSpaceProperties, setSpaceACLs, setWrappedStorageProvider, throwIfSpaceNotExist, throwIfSpaceNotExist, unpackACLs
-
-
-
-
Method Detail
-
getStorageProviderType
public StorageProviderType getStorageProviderType()
- Specified by:
getStorageProviderTypein interfaceStorageProvider- Overrides:
getStorageProviderTypein classS3StorageProvider
-
createBucket
protected com.amazonaws.services.s3.model.Bucket createBucket(String spaceId)
- Overrides:
createBucketin classS3StorageProvider
-
removeSpace
public void removeSpace(String spaceId)
- Overrides:
removeSpacein classS3StorageProvider
-
createHiddenSpace
public String createHiddenSpace(String spaceId, int expirationInDays)
- Overrides:
createHiddenSpacein classS3StorageProvider
-
getNewBucketName
protected String getNewBucketName(String spaceId)
- Overrides:
getNewBucketNamein classS3StorageProvider
-
getSpaceId
protected String getSpaceId(String bucketName)
- Overrides:
getSpaceIdin classS3StorageProvider
-
getAllSpaceProperties
protected Map<String,String> getAllSpaceProperties(String spaceId)
- Overrides:
getAllSpacePropertiesin classS3StorageProvider
-
doSetSpaceProperties
protected void doSetSpaceProperties(String spaceId, Map<String,String> spaceProperties)
- 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
-
-