Package org.duracloud.durastore.util
Class ACLStorageProvider
java.lang.Object
org.duracloud.durastore.util.ACLStorageProvider
- All Implemented Interfaces:
StorageProvider
This class provides a filtering of spaces based on the username and groups
of the currently logged-in user. Additionally, caching of space ACLs and
access-type (opened/closed) is performed in this class.
- Author:
- Andrew Woods Date: 11/22/11
-
Field Summary
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
ConstructorsConstructorDescriptionACLStorageProvider(StorageProvider targetProvider, AccountChangeNotifier notifier, DuraCloudRequestContextUtil requestContextUtil) ACLStorageProvider(StorageProvider targetProvider, SecurityContextUtil securityContextUtil, AccountChangeNotifier notifier, DuraCloudRequestContextUtil requestContextUtil) -
Method Summary
Modifier and TypeMethodDescriptionaddContent(String spaceId, String contentId, String contentMimeType, Map<String, String> userProperties, long contentSize, String contentChecksum, InputStream content) copyContent(String sourceSpaceId, String sourceContentId, String destSpaceId, String destContentId) voidcreateSpace(String spaceId) voiddeleteContent(String spaceId, String contentId) voiddeleteSpace(String spaceId) getContent(String spaceId, String contentId) getContent(String spaceId, String contentId, String range) getContentProperties(String spaceId, String contentId) getSpaceACLs(String spaceId) getSpaceContents(String spaceId, String prefix) getSpaceContentsChunked(String spaceId, String prefix, long maxResults, String marker) getSpaceProperties(String spaceId) This method passes through the call to getSpaces() for 'admin' users, and for 'users', only returns the list of 'open' spaces and those to which they have and ACL.voidvoidsetSpaceACLs(String spaceId, Map<String, AclType> spaceACLs)
-
Constructor Details
-
ACLStorageProvider
public ACLStorageProvider(StorageProvider targetProvider, AccountChangeNotifier notifier, DuraCloudRequestContextUtil requestContextUtil) -
ACLStorageProvider
public ACLStorageProvider(StorageProvider targetProvider, SecurityContextUtil securityContextUtil, AccountChangeNotifier notifier, DuraCloudRequestContextUtil requestContextUtil)
-
-
Method Details
-
getStorageProviderType
- Specified by:
getStorageProviderTypein interfaceStorageProvider
-
getSpaces
This method passes through the call to getSpaces() for 'admin' users, and for 'users', only returns the list of 'open' spaces and those to which they have and ACL.- Specified by:
getSpacesin interfaceStorageProvider- Returns:
- spaces to which the user has read permissions
-
getSpaceContents
- Specified by:
getSpaceContentsin interfaceStorageProvider
-
getSpaceContentsChunked
public List<String> getSpaceContentsChunked(String spaceId, String prefix, long maxResults, String marker) - Specified by:
getSpaceContentsChunkedin interfaceStorageProvider
-
createSpace
- Specified by:
createSpacein interfaceStorageProvider
-
deleteSpace
- Specified by:
deleteSpacein interfaceStorageProvider
-
getSpaceProperties
- Specified by:
getSpacePropertiesin interfaceStorageProvider
-
getSpaceACLs
- Specified by:
getSpaceACLsin interfaceStorageProvider
-
setSpaceACLs
- Specified by:
setSpaceACLsin interfaceStorageProvider
-
addContent
public String addContent(String spaceId, String contentId, String contentMimeType, Map<String, String> userProperties, long contentSize, String contentChecksum, InputStream content) - Specified by:
addContentin interfaceStorageProvider
-
copyContent
public String copyContent(String sourceSpaceId, String sourceContentId, String destSpaceId, String destContentId) - Specified by:
copyContentin interfaceStorageProvider
-
getContent
- Specified by:
getContentin interfaceStorageProvider
-
getContent
- Specified by:
getContentin interfaceStorageProvider
-
deleteContent
- Specified by:
deleteContentin interfaceStorageProvider
-
setContentProperties
public void setContentProperties(String spaceId, String contentId, Map<String, String> contentProperties) - Specified by:
setContentPropertiesin interfaceStorageProvider
-
getContentProperties
- Specified by:
getContentPropertiesin interfaceStorageProvider
-