Class DefaultOfferServiceImpl
java.lang.Object
fr.gouv.vitam.storage.offers.core.DefaultOfferServiceImpl
- All Implemented Interfaces:
DefaultOfferService
-
Field Summary
Fields inherited from interface fr.gouv.vitam.storage.offers.core.DefaultOfferService
STORAGE_CONF_FILE_NAME
-
Constructor Summary
ConstructorDescriptionDefaultOfferServiceImpl
(ContentAddressableStorage defaultStorage, OfferLogCompactionDatabaseService offerLogCompactionDatabaseService, OfferLogDatabaseService offerDatabaseService, OfferSequenceDatabaseService offerSequenceDatabaseService, StorageConfiguration configuration, OfferLogCompactionConfiguration offerLogCompactionConfig, OfferLogAndCompactedOfferLogService offerLogAndCompactedOfferLogService, int maxBatchThreadPoolSize, int batchMetadataComputationTimeout) -
Method Summary
Modifier and TypeMethodDescriptionbulkPutObjects
(String containerName, List<String> objectIds, MultiplexedStreamReader multiplexedStreamReader, DataCategory type, DigestType digestType) checkAccessRequestStatuses
(List<String> accessRequestIds, boolean adminCrossTenantAccessRequestAllowed) boolean
checkObjectAvailability
(String containerName, List<String> objectNames) void
createAccessRequest
(String containerName, List<String> objectNames) Create access request (asynchronous read from tape to local FS) for the given @containerName and objects list.createObject
(String containerName, String objectId, InputStream objectPart, DataCategory type, long size, DigestType digestType) Create object on container with objectId Receive object part of object.void
deleteObject
(String containerName, String objectId, DataCategory type) Deletes a object representing the data at location containerName/objectNamegetBulkMetadata
(String containerName, List<String> objectIds, Boolean noCache) getCapacity
(String containerName) Get container capacitygetMetadata
(String containerName, String objectId, boolean noCache) Get MetadataGet object on offer as an inputStreamgetObjectDigest
(String containerName, String objectId, DigestType digestAlgorithm) Get offer storage digest of objectgetOfferLogs
(String containerName, Long offset, int limit, Order order) Get the offer log of objects created in offer containerboolean
isObjectExist
(String containerName, String objectId) Check if object existsvoid
listObjects
(String containerName, ObjectListingListener objectListingListener) List container objectsvoid
void
removeAccessRequest
(String accessRequestId, boolean adminCrossTenantAccessRequestAllowed)
-
Constructor Details
-
DefaultOfferServiceImpl
public DefaultOfferServiceImpl(ContentAddressableStorage defaultStorage, OfferLogCompactionDatabaseService offerLogCompactionDatabaseService, OfferLogDatabaseService offerDatabaseService, OfferSequenceDatabaseService offerSequenceDatabaseService, StorageConfiguration configuration, OfferLogCompactionConfiguration offerLogCompactionConfig, OfferLogAndCompactedOfferLogService offerLogAndCompactedOfferLogService, int maxBatchThreadPoolSize, int batchMetadataComputationTimeout)
-
-
Method Details
-
getObjectDigest
public String getObjectDigest(String containerName, String objectId, DigestType digestAlgorithm) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Get offer storage digest of object- Specified by:
getObjectDigest
in interfaceDefaultOfferService
- Parameters:
containerName
- the container with the objectobjectId
- the object name / iddigestAlgorithm
- the digest algorithm- Returns:
- the offer computed digest
- Throws:
ContentAddressableStorageException
- thrown on storage error
-
getObject
public ObjectContent getObject(String containerName, String objectId) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Get object on offer as an inputStream- Specified by:
getObject
in interfaceDefaultOfferService
- Parameters:
containerName
- the container containing the objectobjectId
- the object id- Returns:
- the object included in a response
- Throws:
ContentAddressableStorageNotFoundException
- thrown when object does not existsContentAddressableStorageException
- thrown when a server error occurs
-
createAccessRequest
public String createAccessRequest(String containerName, List<String> objectNames) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Create access request (asynchronous read from tape to local FS) for the given @containerName and objects list. Return access request id- Specified by:
createAccessRequest
in interfaceDefaultOfferService
- Parameters:
containerName
- the container containing the objectobjectNames
- the objects ids- Returns:
- acess request id
- Throws:
ContentAddressableStorageNotFoundException
- thrown when object does not existsContentAddressableStorageException
- thrown when a server error occurs
-
checkAccessRequestStatuses
public Map<String,AccessRequestStatus> checkAccessRequestStatuses(List<String> accessRequestIds, boolean adminCrossTenantAccessRequestAllowed) throws ContentAddressableStorageException - Specified by:
checkAccessRequestStatuses
in interfaceDefaultOfferService
- Throws:
ContentAddressableStorageException
-
removeAccessRequest
public void removeAccessRequest(String accessRequestId, boolean adminCrossTenantAccessRequestAllowed) throws ContentAddressableStorageException - Specified by:
removeAccessRequest
in interfaceDefaultOfferService
- Throws:
ContentAddressableStorageException
-
checkObjectAvailability
public boolean checkObjectAvailability(String containerName, List<String> objectNames) throws ContentAddressableStorageException - Specified by:
checkObjectAvailability
in interfaceDefaultOfferService
- Throws:
ContentAddressableStorageException
-
createObject
public String createObject(String containerName, String objectId, InputStream objectPart, DataCategory type, long size, DigestType digestType) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Create object on container with objectId Receive object part of object. Actually these parts HAVE TO be send in the great order.- Specified by:
createObject
in interfaceDefaultOfferService
- Parameters:
containerName
- the container nameobjectId
- the offer objectId to createobjectPart
- the part of the object to create (chunk style)type
- the object type to createsize
- inputstream sizedigestType
- digest of object- Returns:
- the digest of the complete file or the digest of the chunk
- Throws:
ContentAddressableStorageException
- if the container does not exist
-
bulkPutObjects
public StorageBulkPutResult bulkPutObjects(String containerName, List<String> objectIds, MultiplexedStreamReader multiplexedStreamReader, DataCategory type, DigestType digestType) throws ContentAddressableStorageException, IOException - Specified by:
bulkPutObjects
in interfaceDefaultOfferService
- Throws:
ContentAddressableStorageException
IOException
-
isObjectExist
public boolean isObjectExist(String containerName, String objectId) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Check if object exists- Specified by:
isObjectExist
in interfaceDefaultOfferService
- Parameters:
containerName
- the container suppose to contain the objectobjectId
- the objectId to check- Returns:
- true if object exists, false otherwise
- Throws:
ContentAddressableStorageServerException
ContentAddressableStorageException
-
getCapacity
public ContainerInformation getCapacity(String containerName) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Get container capacity- Specified by:
getCapacity
in interfaceDefaultOfferService
- Parameters:
containerName
- the container name- Returns:
- Json with usableSpace information
- Throws:
ContentAddressableStorageNotFoundException
- thrown if the container does not existContentAddressableStorageServerException
ContentAddressableStorageException
-
deleteObject
public void deleteObject(String containerName, String objectId, DataCategory type) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Deletes a object representing the data at location containerName/objectName- Specified by:
deleteObject
in interfaceDefaultOfferService
- Parameters:
containerName
- container where this exists.objectId
- the objectId to deletetype
- the object type to delete- Throws:
ContentAddressableStorageNotFoundException
- Thrown when the container cannot be located or the blob cannot be located in the container.ContentAddressableStorageException
- Thrown when delete action failed due some other failure
-
getMetadata
public StorageMetadataResult getMetadata(String containerName, String objectId, boolean noCache) throws ContentAddressableStorageException Description copied from interface:DefaultOfferService
Get Metadata- Specified by:
getMetadata
in interfaceDefaultOfferService
- Returns:
- StorageMetadataResult
- Throws:
ContentAddressableStorageException
-
getBulkMetadata
public StorageBulkMetadataResult getBulkMetadata(String containerName, List<String> objectIds, Boolean noCache) throws ContentAddressableStorageException - Specified by:
getBulkMetadata
in interfaceDefaultOfferService
- Throws:
ContentAddressableStorageException
-
listObjects
public void listObjects(String containerName, ObjectListingListener objectListingListener) throws IOException, ContentAddressableStorageException Description copied from interface:DefaultOfferService
List container objects- Specified by:
listObjects
in interfaceDefaultOfferService
- Parameters:
containerName
- the container nameobjectListingListener
- a listener to which are reported found object entries- Throws:
IOException
ContentAddressableStorageException
-
getOfferLogs
public List<OfferLog> getOfferLogs(String containerName, Long offset, int limit, Order order) throws ContentAddressableStorageDatabaseException Description copied from interface:DefaultOfferService
Get the offer log of objects created in offer container- Specified by:
getOfferLogs
in interfaceDefaultOfferService
- Parameters:
containerName
- container the container nameoffset
- the offset of the object before the wanted listlimit
- number of objects wantedorder
- order of search- Returns:
- list of object informations
- Throws:
ContentAddressableStorageDatabaseException
- Database error
-
compactOfferLogs
- Specified by:
compactOfferLogs
in interfaceDefaultOfferService
- Throws:
Exception
-
log
-