Class AccessInternalModuleImpl
java.lang.Object
fr.gouv.vitam.access.internal.core.AccessInternalModuleImpl
- All Implemented Interfaces:
AccessInternalModule
AccessModuleImpl implements AccessModule
-
Constructor Summary
ConstructorsConstructorDescriptionAccessModuleImpl constructorAccessInternalModuleImpl(LogbookLifeCyclesClientFactory logbookLifeCyclesClientFactory, LogbookOperationsClientFactory logbookOperationsClientFactory, StorageClientFactory storageClientFactory, WorkspaceClientFactory workspaceClientFactory, AdminManagementClientFactory adminManagementClientFactory, MetaDataClientFactory metaDataClientFactory) -
Method Summary
Modifier and TypeMethodDescriptioncheckAccessRequestStatuses(List<AccessRequestReference> accessRequestReferences) voidcheckClassificationLevel(com.fasterxml.jackson.databind.JsonNode query) check ClassificationLevel in update UnitcreateObjectAccessRequestIfRequired(String idObjectGroup, String qualifier, int version) javax.ws.rs.core.Responseretrieve a DIP file according to an operationIdprotected StringfindFirstAccessibleArchiveUnitId(List<String> archiveUnitIds) findOneObjectGroupByPersistentId(String persistentId, com.fasterxml.jackson.databind.JsonNode query) javax.ws.rs.core.Responseretrieve a SIP file according to an operationIdjavax.ws.rs.core.ResponsegetAccessLog(com.fasterxml.jackson.databind.JsonNode params) Retrieve all accessLog by the concatenation of all accesslog files as InputStreamjavax.ws.rs.core.ResponsegetObjectByPersistentIdentifier(String persistentIdentifier) Gets a Response as InputStream according the founded object by persistent identifier.javax.ws.rs.core.ResponsegetObjectByUnitPersistentIdentifier(String persistentIdentifier, String qualifier, Integer version) javax.ws.rs.core.ResponsegetOneObjectFromObjectGroup(String idObjectGroup, String qualifier, int version, String idUnit) Retrieve an object as InputStream based on the associated ObjectGroupId and qualifier + version requestedvoidremoveAccessRequest(String strategyId, String accessRequestId) com.fasterxml.jackson.databind.JsonNodeselectObjectGroupById(com.fasterxml.jackson.databind.JsonNode jsonQuery, String idObjectGroup) Retrieve an ObjectGroup by its id with results fields filtered based on given querycom.fasterxml.jackson.databind.JsonNodeselectObjects(com.fasterxml.jackson.databind.JsonNode jsonQuery) select Objectcom.fasterxml.jackson.databind.JsonNodeselectPurgedPersistentIdentifier(String persistentIdentifier, PurgedCollectionType type) select purged persistent identifierscom.fasterxml.jackson.databind.JsonNodeselectUnit(com.fasterxml.jackson.databind.JsonNode jsonQuery) select Unitcom.fasterxml.jackson.databind.JsonNodeselectUnitbyId(com.fasterxml.jackson.databind.JsonNode jsonQuery, String idUnit) select Unit by idcom.fasterxml.jackson.databind.JsonNodeselectUnitsWithInheritedRules(com.fasterxml.jackson.databind.JsonNode jsonQuery) Select units by DSL and computes inherited rules for matching unitsjavax.ws.rs.core.ResponsestreamObjects(com.fasterxml.jackson.databind.JsonNode query) javax.ws.rs.core.ResponsestreamUnits(com.fasterxml.jackson.databind.JsonNode query) com.fasterxml.jackson.databind.JsonNodeupdateUnitById(com.fasterxml.jackson.databind.JsonNode queryJson, String idUnit, String requestId) update Unit by id
-
Constructor Details
-
AccessInternalModuleImpl
public AccessInternalModuleImpl()AccessModuleImpl constructor -
AccessInternalModuleImpl
public AccessInternalModuleImpl(LogbookLifeCyclesClientFactory logbookLifeCyclesClientFactory, LogbookOperationsClientFactory logbookOperationsClientFactory, StorageClientFactory storageClientFactory, WorkspaceClientFactory workspaceClientFactory, AdminManagementClientFactory adminManagementClientFactory, MetaDataClientFactory metaDataClientFactory)
-
-
Method Details
-
selectUnit
public com.fasterxml.jackson.databind.JsonNode selectUnit(com.fasterxml.jackson.databind.JsonNode jsonQuery) throws IllegalArgumentException, InvalidParseOperationException, AccessInternalExecutionException select Unit- Specified by:
selectUnitin interfaceAccessInternalModule- Parameters:
jsonQuery- as String { $query : query}- Returns:
- the result of the select on Unit
- Throws:
InvalidParseOperationException- Throw if json format is not correctAccessInternalExecutionException- Throw if error occurs when send Unit to databaseIllegalArgumentException- if json query is null
-
selectPurgedPersistentIdentifier
public com.fasterxml.jackson.databind.JsonNode selectPurgedPersistentIdentifier(String persistentIdentifier, @Nullable PurgedCollectionType type) throws InvalidParseOperationException, AccessInternalException select purged persistent identifiers- Specified by:
selectPurgedPersistentIdentifierin interfaceAccessInternalModule- Parameters:
persistentIdentifier- as String persistent identifiertype- Purged collection type- Returns:
- the result of the select on persistent identifier
- Throws:
InvalidParseOperationException- Throw if parameter is not correctAccessInternalExecutionException- Throw if error occurs when retrieve data from databaseAccessInternalException
-
selectUnitbyId
public com.fasterxml.jackson.databind.JsonNode selectUnitbyId(com.fasterxml.jackson.databind.JsonNode jsonQuery, String idUnit) throws InvalidParseOperationException, AccessInternalExecutionException, MetaDataNotFoundException Description copied from interface:AccessInternalModuleselect Unit by id- Specified by:
selectUnitbyIdin interfaceAccessInternalModule- Parameters:
jsonQuery- as String { $query : query}idUnit- as String- Returns:
- the corresponding JsonNode
- Throws:
InvalidParseOperationException- Throw if json format is not correctAccessInternalExecutionException- Throw if error occurs when send Unit to databaseMetaDataNotFoundException
-
selectObjectGroupById
public com.fasterxml.jackson.databind.JsonNode selectObjectGroupById(com.fasterxml.jackson.databind.JsonNode jsonQuery, String idObjectGroup) throws InvalidParseOperationException, AccessInternalExecutionException, MetaDataNotFoundException Description copied from interface:AccessInternalModuleRetrieve an ObjectGroup by its id with results fields filtered based on given query- Specified by:
selectObjectGroupByIdin interfaceAccessInternalModule- Parameters:
jsonQuery- the query DSL as a Json nodeidObjectGroup- the id of the ObjectGroup as- Returns:
- the ObjectGroup metadata as a JsonNode
- Throws:
InvalidParseOperationException- thrown if json query is not syntactically correctAccessInternalExecutionException- in case of access failureMetaDataNotFoundException
-
getOneObjectFromObjectGroup
public javax.ws.rs.core.Response getOneObjectFromObjectGroup(String idObjectGroup, String qualifier, int version, String idUnit) throws StorageNotFoundException, AccessInternalExecutionException, MetaDataNotFoundException, InvalidParseOperationException, AccessInternalUnavailableDataFromAsyncOfferException Description copied from interface:AccessInternalModuleRetrieve an object as InputStream based on the associated ObjectGroupId and qualifier + version requested- Specified by:
getOneObjectFromObjectGroupin interfaceAccessInternalModule- Parameters:
idObjectGroup- The Object Group Idqualifier- the qualifier to be retrieve (ie: Dissemination etc.)version- the version number to getidUnit- identifier of the parent archiveunit used to have access to the object- Returns:
- response
- Throws:
StorageNotFoundException- If the object is not found in storageAccessInternalExecutionException- For other technical errorsMetaDataNotFoundExceptionInvalidParseOperationException- when a query is badly structuredAccessInternalUnavailableDataFromAsyncOfferException
-
getAccessLog
public javax.ws.rs.core.Response getAccessLog(com.fasterxml.jackson.databind.JsonNode params) throws AccessInternalExecutionException, StorageNotFoundException, ParseException Description copied from interface:AccessInternalModuleRetrieve all accessLog by the concatenation of all accesslog files as InputStream- Specified by:
getAccessLogin interfaceAccessInternalModule- Parameters:
params- a json containing query on StartDate or EndDate- Returns:
- the Storage response for the asked file
- Throws:
AccessInternalExecutionExceptionStorageNotFoundExceptionParseException
-
checkClassificationLevel
public void checkClassificationLevel(com.fasterxml.jackson.databind.JsonNode query) throws InvalidParseOperationException Description copied from interface:AccessInternalModulecheck ClassificationLevel in update Unit- Specified by:
checkClassificationLevelin interfaceAccessInternalModule- Parameters:
query- query- Throws:
InvalidParseOperationException- InvalidParseOperationException
-
findOneObjectGroupByPersistentId
public ObjectGroupResponse findOneObjectGroupByPersistentId(String persistentId, @Nullable com.fasterxml.jackson.databind.JsonNode query) throws MetaDataNotFoundException, AccessUnauthorizedException - Specified by:
findOneObjectGroupByPersistentIdin interfaceAccessInternalModule- Throws:
MetaDataNotFoundExceptionAccessUnauthorizedException
-
getObjectByPersistentIdentifier
public javax.ws.rs.core.Response getObjectByPersistentIdentifier(String persistentIdentifier) throws MetaDataNotFoundException, StorageNotFoundException, AccessInternalException, AccessUnauthorizedException Description copied from interface:AccessInternalModuleGets a Response as InputStream according the founded object by persistent identifier.- Specified by:
getObjectByPersistentIdentifierin interfaceAccessInternalModule- Parameters:
persistentIdentifier- The object persistent identifier.- Returns:
- Response with InputStream.
- Throws:
MetaDataNotFoundException- when persistent identifier not found in metadata database.StorageNotFoundExceptionAccessInternalExceptionAccessUnauthorizedException
-
findFirstAccessibleArchiveUnitId
protected String findFirstAccessibleArchiveUnitId(List<String> archiveUnitIds) throws AccessInternalException, MetaDataNotFoundException -
createObjectAccessRequestIfRequired
public Optional<AccessRequestReference> createObjectAccessRequestIfRequired(String idObjectGroup, String qualifier, int version) throws MetaDataNotFoundException, InvalidParseOperationException, AccessInternalExecutionException - Specified by:
createObjectAccessRequestIfRequiredin interfaceAccessInternalModule- Throws:
MetaDataNotFoundExceptionInvalidParseOperationExceptionAccessInternalExecutionException
-
checkAccessRequestStatuses
public List<StatusByAccessRequest> checkAccessRequestStatuses(List<AccessRequestReference> accessRequestReferences) throws AccessInternalExecutionException, AccessInternalIllegalOperationException - Specified by:
checkAccessRequestStatusesin interfaceAccessInternalModule- Throws:
AccessInternalExecutionExceptionAccessInternalIllegalOperationException
-
removeAccessRequest
public void removeAccessRequest(String strategyId, String accessRequestId) throws AccessInternalExecutionException, AccessInternalIllegalOperationException - Specified by:
removeAccessRequestin interfaceAccessInternalModule- Throws:
AccessInternalExecutionExceptionAccessInternalIllegalOperationException
-
streamUnits
public javax.ws.rs.core.Response streamUnits(com.fasterxml.jackson.databind.JsonNode query) throws AccessInternalExecutionException, MetadataScrollLimitExceededException, MetadataScrollThresholdExceededException - Specified by:
streamUnitsin interfaceAccessInternalModule- Throws:
AccessInternalExecutionExceptionMetadataScrollLimitExceededExceptionMetadataScrollThresholdExceededException
-
streamObjects
public javax.ws.rs.core.Response streamObjects(com.fasterxml.jackson.databind.JsonNode query) throws AccessInternalExecutionException, MetadataScrollLimitExceededException, MetadataScrollThresholdExceededException - Specified by:
streamObjectsin interfaceAccessInternalModule- Throws:
AccessInternalExecutionExceptionMetadataScrollLimitExceededExceptionMetadataScrollThresholdExceededException
-
getObjectByUnitPersistentIdentifier
public javax.ws.rs.core.Response getObjectByUnitPersistentIdentifier(String persistentIdentifier, String qualifier, Integer version) throws StorageNotFoundException, MetaDataNotFoundException, AccessInternalException - Specified by:
getObjectByUnitPersistentIdentifierin interfaceAccessInternalModule- Throws:
StorageNotFoundExceptionMetaDataNotFoundExceptionAccessInternalException
-
updateUnitById
public com.fasterxml.jackson.databind.JsonNode updateUnitById(com.fasterxml.jackson.databind.JsonNode queryJson, String idUnit, String requestId) throws MetaDataNotFoundException, IllegalArgumentException, InvalidParseOperationException, AccessInternalExecutionException, UpdatePermissionException, AccessInternalRuleExecutionException Description copied from interface:AccessInternalModuleupdate Unit by id- Specified by:
updateUnitByIdin interfaceAccessInternalModule- Parameters:
queryJson- json update queryidUnit- as StringrequestId- the request id- Returns:
- the result of the update on Unit
- Throws:
MetaDataNotFoundException- Throw if unit is not foundIllegalArgumentException- Throw if error occurs when checking argumentInvalidParseOperationException- Throw if json format is not correctAccessInternalExecutionException- Throw if error occurs when send Unit to databaseAccessInternalRuleExecutionException- Throw When error occures on rules update checkUpdatePermissionException
-
findDIPByOperationId
public javax.ws.rs.core.Response findDIPByOperationId(String id) throws AccessInternalExecutionException Description copied from interface:AccessInternalModuleretrieve a DIP file according to an operationId- Specified by:
findDIPByOperationIdin interfaceAccessInternalModule- Parameters:
id- operation id- Returns:
- zip file containing a DIP
- Throws:
AccessInternalExecutionException
-
findTransferSIPByOperationId
public javax.ws.rs.core.Response findTransferSIPByOperationId(String id) throws AccessInternalExecutionException Description copied from interface:AccessInternalModuleretrieve a SIP file according to an operationId- Specified by:
findTransferSIPByOperationIdin interfaceAccessInternalModule- Parameters:
id- operation id- Returns:
- zip file containing a SIP
- Throws:
AccessInternalExecutionException
-
selectObjects
public com.fasterxml.jackson.databind.JsonNode selectObjects(com.fasterxml.jackson.databind.JsonNode jsonQuery) throws IllegalArgumentException, InvalidParseOperationException, AccessInternalExecutionException select Object- Specified by:
selectObjectsin interfaceAccessInternalModule- Parameters:
jsonQuery- as String { $query : query}- Returns:
- the result of the select on object
- Throws:
InvalidParseOperationException- Throw if json format is not correctAccessInternalExecutionException- Throw if error occurs when send Object to databaseIllegalArgumentException- if json query is null
-
selectUnitsWithInheritedRules
public com.fasterxml.jackson.databind.JsonNode selectUnitsWithInheritedRules(com.fasterxml.jackson.databind.JsonNode jsonQuery) throws IllegalArgumentException, InvalidParseOperationException, AccessInternalExecutionException Description copied from interface:AccessInternalModuleSelect units by DSL and computes inherited rules for matching units- Specified by:
selectUnitsWithInheritedRulesin interfaceAccessInternalModule- Parameters:
jsonQuery- the query DSL- Returns:
- the selected units with there inherited rules
- Throws:
IllegalArgumentException- Throw if json format is not correctInvalidParseOperationExceptionAccessInternalExecutionException- Throw if error occurs when send Unit to database
-