Interface StorageDistribution
-
- All Superinterfaces:
java.lang.AutoCloseable,VitamAutoCloseable
- All Known Implementing Classes:
ReadOnlyShieldStorageDistribution,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 BulkObjectStoreResponsebulkCreateFromWorkspace(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)booleancheckObjectAvailability(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.StoredInfoResultcopyObjectFromOfferToOffer(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)voiddeleteObjectInAllOffers(java.lang.String strategyId, DataContext context)Delete an objectvoiddeleteObjectInOffers(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.ResponsegetContainerByCategory(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.ResponsegetContainerByCategory(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.JsonNodegetContainerInformation(java.lang.String strategyId)Get Storage Information (availability and capacity) for the requested tenant + strategycom.fasterxml.jackson.databind.JsonNodegetContainerInformation(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.StringgetReferentOffer(java.lang.String strategyId)java.util.Map<java.lang.String,StorageStrategy>getStrategies()Retrieve all the available storage strategiesjavax.ws.rs.core.ResponselaunchOfferLogCompaction(java.lang.String offerReferenceId, java.lang.Integer tenantId)CloseableIterator<ObjectEntry>listContainerObjects(java.lang.String strategyId, DataCategory category)List container objectsCloseableIterator<ObjectEntry>listContainerObjectsForOffer(DataCategory category, java.lang.String offerId, boolean includeDisabled)voidremoveAccessRequest(java.lang.String strategyId, java.lang.String offerId, java.lang.String accessRequestId, boolean adminCrossTenantAccessRequestAllowed)StoredInfoResultstoreDataInAllOffers(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 strategyStoredInfoResultstoreDataInOffers(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)StoredInfoResultstoreDataInOffers(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 StorageExceptionget 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 StorageExceptionGet 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 StorageExceptionGet 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 StorageExceptionGet 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 StorageExceptionGet 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 StorageExceptionVerify 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 StorageExceptionDelete 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 StorageExceptionDelete 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
-
launchOfferLogCompaction
javax.ws.rs.core.Response launchOfferLogCompaction(java.lang.String offerReferenceId, java.lang.Integer tenantId) throws StorageException- Throws:
StorageException
-
-