Interface StorageDistribution
-
- All Superinterfaces:
java.lang.AutoCloseable
,VitamAutoCloseable
- All Known Implementing Classes:
StorageDistributionImpl
public interface StorageDistribution extends VitamAutoCloseable
Interface Storage Distribution for Storage Operations
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description BulkObjectStoreResponse
bulkCreateFromWorkspace(java.lang.String strategyId, BulkObjectStoreRequest bulkObjectStoreRequest, java.lang.String requester)
java.util.Map<java.lang.String,AccessRequestStatus>
checkAccessRequestStatuses(java.lang.String strategyId, java.lang.String offerId, java.util.List<java.lang.String> accessRequestIds, boolean adminCrossTenantAccessRequestAllowed)
boolean
checkObjectAvailability(java.lang.String strategyId, java.lang.String offerId, DataCategory dataCategory, java.util.List<java.lang.String> objectsNames)
java.util.Map<java.lang.String,java.lang.Boolean>
checkObjectExisting(java.lang.String strategyId, java.lang.String objectId, DataCategory category, java.util.List<java.lang.String> offerIds)
Verify if object exists.StoredInfoResult
copyObjectFromOfferToOffer(DataContext context, java.lang.String sourceOffer, java.lang.String destinationOffer)
copy object from on offer to an anotherjava.util.Optional<java.lang.String>
createAccessRequestIfRequired(java.lang.String strategyId, java.lang.String offerId, DataCategory dataCategory, java.util.List<java.lang.String> objectsNames)
void
deleteObjectInAllOffers(java.lang.String strategyId, DataContext context)
Delete an objectvoid
deleteObjectInOffers(java.lang.String strategyId, DataContext context, java.util.List<java.lang.String> offers)
Delete an object in offersjava.util.List<BatchObjectInformationResponse>
getBatchObjectInformation(java.lang.String strategyId, DataCategory type, java.util.List<java.lang.String> objectIds, java.util.List<java.lang.String> offerIds)
javax.ws.rs.core.Response
getContainerByCategory(java.lang.String strategyId, java.lang.String origin, java.lang.String objectId, DataCategory category, AccessLogInfoModel logInformation)
Get a specific Object binary data as an input streamjavax.ws.rs.core.Response
getContainerByCategory(java.lang.String strategyId, java.lang.String origin, java.lang.String objectId, DataCategory category, java.lang.String offerId)
Get a specific Object binary data as an input streamcom.fasterxml.jackson.databind.JsonNode
getContainerInformation(java.lang.String strategyId)
Get Storage Information (availability and capacity) for the requested tenant + strategycom.fasterxml.jackson.databind.JsonNode
getContainerInformation(java.lang.String strategyId, DataCategory type, java.lang.String objectId, java.util.List<java.lang.String> offerIds, boolean noCache)
Get a specific Object informationjava.util.List<java.lang.String>
getOfferIds(java.lang.String strategyId)
get offer ids listRequestResponse<OfferLog>
getOfferLogs(java.lang.String strategyId, DataCategory category, java.lang.Long offset, int limit, Order order)
Get offer log from referentRequestResponse<OfferLog>
getOfferLogsByOfferId(java.lang.String strategyId, java.lang.String offerId, DataCategory category, java.lang.Long offset, int limit, Order order)
Get offer log from the given offerjava.lang.String
getReferentOffer(java.lang.String strategyId)
java.util.Map<java.lang.String,StorageStrategy>
getStrategies()
Retrieve all the available storage strategiesCloseableIterator<ObjectEntry>
listContainerObjects(java.lang.String strategyId, DataCategory category)
List container objectsCloseableIterator<ObjectEntry>
listContainerObjectsForOffer(DataCategory category, java.lang.String offerId, boolean includeDisabled)
void
removeAccessRequest(java.lang.String strategyId, java.lang.String offerId, java.lang.String accessRequestId, boolean adminCrossTenantAccessRequestAllowed)
StoredInfoResult
storeDataInAllOffers(java.lang.String strategyId, java.lang.String objectId, ObjectDescription createObjectDescription, DataCategory category, java.lang.String requester)
Store data of any type for given tenant on storage offers associated to given strategyStoredInfoResult
storeDataInOffers(java.lang.String strategyId, java.lang.String origin, StreamAndInfo streamAndInfo, java.lang.String objectId, DataCategory category, java.lang.String requester, java.util.List<java.lang.String> offerIds)
StoredInfoResult
storeDataInOffers(java.lang.String strategyId, java.lang.String origin, java.lang.String objectId, DataCategory category, java.lang.String requester, java.util.List<java.lang.String> offerIds, javax.ws.rs.core.Response response)
Store data of any type for given tenant on the given storage offer.-
Methods inherited from interface fr.gouv.vitam.common.model.VitamAutoCloseable
close
-
-
-
-
Method Detail
-
copyObjectFromOfferToOffer
StoredInfoResult copyObjectFromOfferToOffer(DataContext context, java.lang.String sourceOffer, java.lang.String destinationOffer) throws StorageException
copy object from on offer to an another- Parameters:
context
- the contextdestinationOffer
- destination OffersourceOffer
- source offer- Returns:
- StoredInfoResult Object
- Throws:
StorageException
- StorageException
-
storeDataInAllOffers
StoredInfoResult storeDataInAllOffers(java.lang.String strategyId, java.lang.String objectId, ObjectDescription createObjectDescription, DataCategory category, java.lang.String requester) throws StorageException
Store data of any type for given tenant on storage offers associated to given strategy- Parameters:
strategyId
- id of the strategyobjectId
- the workspace URI of the data to be retrieve (and stored in offer)createObjectDescription
- object additional informationscategory
- the category of the data to store (unit, object...)requester
- the requester information- Returns:
- a StoredInfoResult containing informations about the created Data
- Throws:
StorageException
- StorageException
-
storeDataInOffers
StoredInfoResult storeDataInOffers(java.lang.String strategyId, java.lang.String origin, java.lang.String objectId, DataCategory category, java.lang.String requester, java.util.List<java.lang.String> offerIds, javax.ws.rs.core.Response response) throws StorageException
Store data of any type for given tenant on the given storage offer.- Parameters:
strategyId
- id of the strategyorigin
- origin of the transaction (normal, bulk, offer_sync)objectId
- the workspace URI of the data to be retrieve (and stored incategory
- the category of the data to store (unit, object...)requester
- the requester informationofferIds
- offer identifiersresponse
- the response- Returns:
- a StoredInfoResult containing information about the created Data
- Throws:
StorageException
- StorageException
-
storeDataInOffers
StoredInfoResult storeDataInOffers(java.lang.String strategyId, java.lang.String origin, StreamAndInfo streamAndInfo, java.lang.String objectId, DataCategory category, java.lang.String requester, java.util.List<java.lang.String> offerIds) throws StorageException
- Parameters:
strategyId
- id of the strategyorigin
- origin of the transaction (normal, bulk, offer_sync)streamAndInfo
- streamAndInfoobjectId
- id of the objectcategory
- the object type to listrequester
- the requester informationofferIds
- offer identfiers- Returns:
- StoredInfoResult
- Throws:
StorageException
- StorageException
-
getOfferIds
java.util.List<java.lang.String> getOfferIds(java.lang.String strategyId) throws StorageException
get offer ids list- Parameters:
strategyId
- strategy id- Returns:
- offers ids list
- Throws:
StorageException
-
getContainerInformation
com.fasterxml.jackson.databind.JsonNode getContainerInformation(java.lang.String strategyId) throws StorageException
Get Storage Information (availability and capacity) for the requested tenant + strategy- Parameters:
strategyId
- id of the strategy- Returns:
- a JsonNode containing informations about the storage
- Throws:
StorageNotFoundException
- Thrown if the Container does not existStorageTechnicalException
- Thrown in case of any technical problemStorageException
-
listContainerObjects
CloseableIterator<ObjectEntry> listContainerObjects(java.lang.String strategyId, DataCategory category) throws StorageException
List container objects- Parameters:
strategyId
- the strategy id to get offerscategory
- the object type to list- Returns:
- a response with object listing
- Throws:
StorageException
- thrown in case of any technical problem
-
listContainerObjectsForOffer
CloseableIterator<ObjectEntry> listContainerObjectsForOffer(DataCategory category, java.lang.String offerId, boolean includeDisabled) throws StorageException
- Throws:
StorageException
-
getOfferLogs
RequestResponse<OfferLog> getOfferLogs(java.lang.String strategyId, DataCategory category, java.lang.Long offset, int limit, Order order) throws StorageException
Get offer log from referent- Parameters:
strategyId
- the strategy id to get offerscategory
- the object type to listoffset
- offset of the excluded objectlimit
- the number of result wantedorder
- order- Returns:
- list of offer log
- Throws:
StorageException
- thrown in case of any technical problem
-
getOfferLogsByOfferId
RequestResponse<OfferLog> getOfferLogsByOfferId(java.lang.String strategyId, java.lang.String offerId, DataCategory category, java.lang.Long offset, int limit, Order order) throws StorageException
Get offer log from the given offer- Parameters:
strategyId
- the strategy id to get offersofferId
-category
- the object type to listoffset
- offset of the excluded objectlimit
- the number of result wantedorder
- order- Returns:
- list of offer log
- Throws:
StorageException
- thrown in case of any technical problem
-
getContainerByCategory
javax.ws.rs.core.Response getContainerByCategory(java.lang.String strategyId, java.lang.String origin, java.lang.String objectId, DataCategory category, AccessLogInfoModel logInformation) throws StorageException
Get a specific Object binary data as an input stream- Parameters:
strategyId
- id of the strategyorigin
- originobjectId
- id of the objectcategory
- category of the objectlogInformation
- information for accessLog- Returns:
- an object as a Response with an InputStream
- Throws:
StorageNotFoundException
- Thrown if the Container or the object does not existStorageTechnicalException
- thrown if a technical error happenedStorageException
-
getContainerByCategory
javax.ws.rs.core.Response getContainerByCategory(java.lang.String strategyId, java.lang.String origin, java.lang.String objectId, DataCategory category, java.lang.String offerId) throws StorageException
Get a specific Object binary data as an input stream- Parameters:
strategyId
- id of the strategyorigin
- originobjectId
- id of the objectcategory
- categoryofferId
- offer identfier- Returns:
- an object as a Response with an InputStream
- Throws:
StorageNotFoundException
- Thrown if the Container or the object does not existStorageTechnicalException
- thrown if a technical error happenedStorageException
-
getContainerInformation
com.fasterxml.jackson.databind.JsonNode getContainerInformation(java.lang.String strategyId, DataCategory type, java.lang.String objectId, java.util.List<java.lang.String> offerIds, boolean noCache) throws StorageException
Get a specific Object information- Parameters:
strategyId
- id of the strategytype
- data categoryobjectId
- id of the objectofferIds
- list id of offers- Returns:
- JsonNode containing informations about the requested object
- Throws:
StorageException
-
checkObjectExisting
java.util.Map<java.lang.String,java.lang.Boolean> checkObjectExisting(java.lang.String strategyId, java.lang.String objectId, DataCategory category, java.util.List<java.lang.String> offerIds) throws StorageException
Verify if object exists. If an offer is not in hot offers in strategy, it is considered as not existing.- Parameters:
strategyId
- id of the strategyobjectId
- id of the objectcategory
- categoryofferIds
- list id of offers- Returns:
- list of result existence by offerId
- Throws:
StorageException
- StorageException
-
deleteObjectInAllOffers
void deleteObjectInAllOffers(java.lang.String strategyId, DataContext context) throws StorageException
Delete an object- Parameters:
strategyId
- id of the strategy- Throws:
StorageNotFoundException
- Thrown if the Container or the object does not existStorageTechnicalException
- thrown if a technical error happenedStorageException
-
deleteObjectInOffers
void deleteObjectInOffers(java.lang.String strategyId, DataContext context, java.util.List<java.lang.String> offers) throws StorageException
Delete an object in offers- Parameters:
strategyId
- id of the strategycontext
- contextoffers
- offers- Throws:
StorageNotFoundException
- Thrown if the Container or the object does not existStorageTechnicalException
- thrown if a technical error happenedStorageException
-
getBatchObjectInformation
java.util.List<BatchObjectInformationResponse> getBatchObjectInformation(java.lang.String strategyId, DataCategory type, java.util.List<java.lang.String> objectIds, java.util.List<java.lang.String> offerIds) throws StorageException
- Throws:
StorageException
-
bulkCreateFromWorkspace
BulkObjectStoreResponse bulkCreateFromWorkspace(java.lang.String strategyId, BulkObjectStoreRequest bulkObjectStoreRequest, java.lang.String requester) throws StorageException
- Throws:
StorageException
-
getStrategies
java.util.Map<java.lang.String,StorageStrategy> getStrategies() throws StorageException
Retrieve all the available storage strategies- Returns:
- all storage strategies by id
- Throws:
StorageException
- if any unwanted technical issue happens
-
createAccessRequestIfRequired
java.util.Optional<java.lang.String> createAccessRequestIfRequired(java.lang.String strategyId, java.lang.String offerId, DataCategory dataCategory, java.util.List<java.lang.String> objectsNames) throws StorageException
- Throws:
StorageException
-
checkAccessRequestStatuses
java.util.Map<java.lang.String,AccessRequestStatus> checkAccessRequestStatuses(java.lang.String strategyId, java.lang.String offerId, java.util.List<java.lang.String> accessRequestIds, boolean adminCrossTenantAccessRequestAllowed) throws StorageException
- Throws:
StorageException
-
removeAccessRequest
void removeAccessRequest(java.lang.String strategyId, java.lang.String offerId, java.lang.String accessRequestId, boolean adminCrossTenantAccessRequestAllowed) throws StorageException
- Throws:
StorageException
-
checkObjectAvailability
boolean checkObjectAvailability(java.lang.String strategyId, java.lang.String offerId, DataCategory dataCategory, java.util.List<java.lang.String> objectsNames) throws StorageException
- Throws:
StorageException
-
getReferentOffer
java.lang.String getReferentOffer(java.lang.String strategyId) throws StorageTechnicalException, StorageNotFoundException
-
-