public class S3StorageProvider extends StorageProviderBase
StorageProviderBase.SpaceDeleteWorker
Modifier and Type | Field and Description |
---|---|
protected static int |
MAX_ITEM_COUNT |
protected com.amazonaws.services.s3.AmazonS3Client |
s3Client |
ACL_DELIM, ACL_GROUP_READ, ACL_GROUP_WRITE, ACL_USER_READ, ACL_USER_WRITE
DEFAULT_MAX_RESULTS, DEFAULT_MIMETYPE, ISO8601_DATE_FORMAT, 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_SPACE_ACL, PROPERTIES_SPACE_ACL_GROUP, PROPERTIES_SPACE_ACL_PUBLIC, PROPERTIES_SPACE_COUNT, PROPERTIES_SPACE_CREATED, PROPERTIES_SPACE_SIZE, PROPERTIES_STREAMING_HOST
Constructor and Description |
---|
S3StorageProvider(com.amazonaws.services.s3.AmazonS3Client s3Client,
String accessKey,
Map<String,String> options) |
S3StorageProvider(String accessKey,
String secretKey) |
S3StorageProvider(String accessKey,
String secretKey,
Map<String,String> options) |
Modifier and Type | Method and Description |
---|---|
String |
addContent(String spaceId,
String contentId,
String contentMimeType,
Map<String,String> userProperties,
long contentSize,
String contentChecksum,
InputStream content)
Adds content to a space.
|
String |
copyContent(String sourceSpaceId,
String sourceContentId,
String destSpaceId,
String destContentId)
This method copies the content item found in source-space with the id of
source-content-id into the dest-space, naming it to dest-content-id.
|
void |
createSpace(String spaceId)
Creates a new space.
|
void |
deleteContent(String spaceId,
String contentId)
Removes content from a space.
|
protected String |
doesContentExist(String bucketName,
String contentId) |
protected void |
doSetSpaceProperties(String spaceId,
Map<String,String> spaceProperties) |
protected Map<String,String> |
getAllSpaceProperties(String spaceId) |
String |
getBucketName(String spaceId)
Gets the name of an existing bucket based on a space ID.
|
InputStream |
getContent(String spaceId,
String contentId)
Gets content from a space.
|
Map<String,String> |
getContentProperties(String spaceId,
String contentId)
Retrieves the properties associated with content.
|
protected String |
getETagValue(String etag) |
protected String |
getNewBucketName(String spaceId) |
Iterator<String> |
getSpaceContents(String spaceId,
String prefix)
Provides access to the content files within a space.
|
List<String> |
getSpaceContentsChunked(String spaceId,
String prefix,
long maxResults,
String marker)
Provides a listing of the content files within a space.
|
protected String |
getSpaceCount(String spaceId,
int maxCount) |
protected String |
getSpaceFree(String name)
Replaces all spaces with "%20"
|
protected String |
getSpaceId(String bucketName)
Converts a bucket name into what could be passed in as a space ID.
|
Iterator<String> |
getSpaces()
Provides a listing of all spaces owned by a customer.
|
protected String |
getWithSpace(String name)
Converts "%20" back to spaces
|
protected boolean |
isSpace(String bucketName)
Determines if an S3 bucket is a DuraCloud space
|
protected Map<String,String> |
removeCalculatedProperties(Map<String,String> contentProperties) |
void |
removeSpace(String spaceId) |
void |
setContentProperties(String spaceId,
String contentId,
Map<String,String> contentProperties)
Sets the properties associated with content.
|
protected boolean |
spaceExists(String spaceId) |
protected void |
wait(int seconds) |
deleteSpace, deleteSpaceSync, getSpaceACLs, getSpaceDeleteWorker, getSpaceProperties, packACLs, setNewSpaceProperties, setSpaceACLs, setWrappedStorageProvider, throwIfSpaceExists, throwIfSpaceNotExist, throwIfSpaceNotExist, unpackACLs
protected static final int MAX_ITEM_COUNT
protected com.amazonaws.services.s3.AmazonS3Client s3Client
public S3StorageProvider(String accessKey, String secretKey, Map<String,String> options)
public Iterator<String> getSpaces()
public Iterator<String> getSpaceContents(String spaceId, String prefix)
spaceId
- - ID of the spaceprefix
- - The prefix of the content id (null for no constraints)public List<String> getSpaceContentsChunked(String spaceId, String prefix, long maxResults, String marker)
spaceId
- - ID of the spaceprefix
- - Only retrieve content IDs with this prefix (null for all content ids)maxResults
- - The maximum number of content IDs to return in the list (0 indicates default (1000))marker
- - The content ID marking the last item in the previous set (null indicates the first set of ids)protected boolean spaceExists(String spaceId)
spaceExists
in class StorageProviderBase
public void createSpace(String spaceId)
spaceId
- - ID of the spacepublic void removeSpace(String spaceId)
removeSpace
in class StorageProviderBase
protected Map<String,String> getAllSpaceProperties(String spaceId)
getAllSpaceProperties
in class StorageProviderBase
protected void doSetSpaceProperties(String spaceId, Map<String,String> spaceProperties)
doSetSpaceProperties
in class StorageProviderBase
public String addContent(String spaceId, String contentId, String contentMimeType, Map<String,String> userProperties, long contentSize, String contentChecksum, InputStream content)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacecontentMimeType
- - the MIME type of the content being addeduserProperties
- - the metadata associated with the contentcontentSize
- - the file size (in bytes) of the content being addedcontentChecksum
- - the MD5 checksum of the content being added (null if no checksum is known)content
- - content to addprotected void wait(int seconds)
public String copyContent(String sourceSpaceId, String sourceContentId, String destSpaceId, String destContentId)
StorageProvider
sourceSpaceId
- of content to copysourceContentId
- of content to copydestSpaceId
- where copied content will end updestContentId
- given to copied contentpublic InputStream getContent(String spaceId, String contentId)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacepublic void deleteContent(String spaceId, String contentId)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacepublic void setContentProperties(String spaceId, String contentId, Map<String,String> contentProperties)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacecontentProperties
- - new content propertiesprotected Map<String,String> removeCalculatedProperties(Map<String,String> contentProperties)
removeCalculatedProperties
in class StorageProviderBase
public Map<String,String> getContentProperties(String spaceId, String contentId)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacepublic String getBucketName(String spaceId)
spaceId
- the space Id to convert into an S3 bucket nameNotFoundException
- if no bucket matches this spaceIDprotected String getSpaceId(String bucketName)
bucketName
- name of the S3 bucketprotected boolean isSpace(String bucketName)
bucketName
- name of the S3 bucketprotected String getSpaceFree(String name)
name
- string with possible spaceCopyright © 2009–2014 DuraSpace. All rights reserved.