Class LogbookOperationsImpl
java.lang.Object
fr.gouv.vitam.logbook.operations.core.LogbookOperationsImpl
- All Implemented Interfaces:
LogbookOperations
Logbook Operations implementation base class
-
Constructor Summary
ConstructorDescriptionLogbookOperationsImpl
(LogbookDbAccess mongoDbAccess, ElasticsearchLogbookIndexManager indexManager) LogbookOperationsImpl
(LogbookDbAccess mongoDbAccess, WorkspaceClientFactory workspaceClientFactory, StorageClientFactory storageClientFactory, IndexationHelper indexationHelper, ElasticsearchLogbookIndexManager indexManager) -
Method Summary
Modifier and TypeMethodDescriptionboolean
checkNewEligibleLogbookOperationsSinceLastTraceabilityOperation
(LocalDateTime traceabilityStartDate, LocalDateTime traceabilityEndDate) void
create
(String operationId, LogbookOperationParameters... parameters) Create and insert logbook operation entriesFind One logbook TraceabilityOperation after a given datefindLastLifecycleTraceabilityOperation
(String eventType, boolean traceabilityWithZipOnly) Find last OK or WARNING LFC traceability operation (even if no traceability zip has been generated)findLastOperationByType
(String operationType) FInd last event of last operation by typeFind last successful traceability operationgetById
(String idProcess, com.fasterxml.jackson.databind.JsonNode query, boolean sliced, boolean crossTenant) Select logbook operation by the operation's IDreindex
(IndexParameters indexParameters) Reindex one or more collectionsselectOperations
(com.fasterxml.jackson.databind.JsonNode select) Select logbook operation entriesselectOperations
(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant) selectOperationsAsRequestResponse
(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant) com.mongodb.client.MongoCursor<LogbookOperation>
selectOperationsByLastPersistenceDateInterval
(LocalDateTime startDate, LocalDateTime endDate) Select all logbook operations entries persisted within provided intervalswitchIndex
(String alias, String newIndexName) Switch indexes for one or more collectionsvoid
update
(String operationId, LogbookOperationParameters... parameters) Update and insert logbook operation entries
-
Constructor Details
-
LogbookOperationsImpl
public LogbookOperationsImpl(LogbookDbAccess mongoDbAccess, ElasticsearchLogbookIndexManager indexManager) -
LogbookOperationsImpl
public LogbookOperationsImpl(LogbookDbAccess mongoDbAccess, WorkspaceClientFactory workspaceClientFactory, StorageClientFactory storageClientFactory, IndexationHelper indexationHelper, ElasticsearchLogbookIndexManager indexManager)
-
-
Method Details
-
create
public void create(String operationId, LogbookOperationParameters... parameters) throws LogbookAlreadyExistsException, LogbookDatabaseException Description copied from interface:LogbookOperations
Create and insert logbook operation entries- Specified by:
create
in interfaceLogbookOperations
parameters
- the entry parameters- Throws:
LogbookAlreadyExistsException
- if an operation with the same eventIdentifierProcess and outcome="Started" already existsLogbookDatabaseException
- if errors occur while connecting or writing to the database
-
update
public void update(String operationId, LogbookOperationParameters... parameters) throws LogbookNotFoundException, LogbookDatabaseException Description copied from interface:LogbookOperations
Update and insert logbook operation entries- Specified by:
update
in interfaceLogbookOperations
parameters
- the entry parameters- Throws:
LogbookNotFoundException
- if no operation with the same eventIdentifierProcess existsLogbookDatabaseException
- if errors occur while connecting or writing to the database
-
selectOperations
public List<LogbookOperation> selectOperations(com.fasterxml.jackson.databind.JsonNode select) throws VitamDBException, LogbookDatabaseException Description copied from interface:LogbookOperations
Select logbook operation entries- Specified by:
selectOperations
in interfaceLogbookOperations
- Parameters:
select
- the select request in format of JsonNode- Returns:
- List of the logbook operation
- Throws:
VitamDBException
- in case a desynchro is recorded between Mongo and ESLogbookDatabaseException
- if errors occur while connecting or writing to the database
-
selectOperations
public List<LogbookOperation> selectOperations(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant) throws VitamDBException, LogbookDatabaseException - Specified by:
selectOperations
in interfaceLogbookOperations
- Throws:
VitamDBException
LogbookDatabaseException
-
selectOperationsAsRequestResponse
public RequestResponseOK<LogbookOperation> selectOperationsAsRequestResponse(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant) throws VitamDBException, LogbookDatabaseException - Specified by:
selectOperationsAsRequestResponse
in interfaceLogbookOperations
- Throws:
VitamDBException
LogbookDatabaseException
-
getById
public LogbookOperation getById(String idProcess) throws LogbookDatabaseException, LogbookNotFoundException - Specified by:
getById
in interfaceLogbookOperations
- Throws:
LogbookDatabaseException
LogbookNotFoundException
-
getById
public LogbookOperation getById(String idProcess, com.fasterxml.jackson.databind.JsonNode query, boolean sliced, boolean crossTenant) throws LogbookDatabaseException, LogbookNotFoundException Description copied from interface:LogbookOperations
Select logbook operation by the operation's ID- Specified by:
getById
in interfaceLogbookOperations
- Parameters:
idProcess
- the operation identifier- Returns:
- the logbook operation found by the ID
- Throws:
LogbookDatabaseException
- if errors occur while connecting or writing to the databaseLogbookNotFoundException
- if no operation selected cannot be found
-
selectOperationsByLastPersistenceDateInterval
public com.mongodb.client.MongoCursor<LogbookOperation> selectOperationsByLastPersistenceDateInterval(LocalDateTime startDate, LocalDateTime endDate) throws LogbookDatabaseException, InvalidCreateOperationException, InvalidParseOperationException Description copied from interface:LogbookOperations
Select all logbook operations entries persisted within provided interval- Specified by:
selectOperationsByLastPersistenceDateInterval
in interfaceLogbookOperations
- Parameters:
startDate
- the start dateendDate
- the end date- Returns:
- the Closeable MongoCursor of LogbookOperation
- Throws:
LogbookDatabaseException
- if errors occur while connecting or writing to the databaseInvalidCreateOperationException
- if the query could not be createdInvalidParseOperationException
- if invalid parse for selecting the operation
-
findFirstTraceabilityOperationOKAfterDate
public LogbookOperation findFirstTraceabilityOperationOKAfterDate(LocalDateTime date) throws InvalidCreateOperationException, LogbookDatabaseException Description copied from interface:LogbookOperations
Find One logbook TraceabilityOperation after a given date- Specified by:
findFirstTraceabilityOperationOKAfterDate
in interfaceLogbookOperations
- Parameters:
date
- the select request in format of JsonNode- Returns:
- the LogbookOperation
- Throws:
InvalidCreateOperationException
- if the query could not be createdLogbookDatabaseException
- if errors occur while connecting or writing to the database
-
findLastTraceabilityOperationOK
public LogbookOperation findLastTraceabilityOperationOK() throws InvalidCreateOperationException, LogbookDatabaseException, InvalidParseOperationExceptionDescription copied from interface:LogbookOperations
Find last successful traceability operation- Specified by:
findLastTraceabilityOperationOK
in interfaceLogbookOperations
- Returns:
- the last valid traceability operation
- Throws:
InvalidCreateOperationException
- if the query could not be createdLogbookDatabaseException
- if errors occur while connecting or writing to the databaseInvalidParseOperationException
- if the query could not be created
-
findLastLifecycleTraceabilityOperation
public LogbookOperation findLastLifecycleTraceabilityOperation(String eventType, boolean traceabilityWithZipOnly) throws VitamException Description copied from interface:LogbookOperations
Find last OK or WARNING LFC traceability operation (even if no traceability zip has been generated)- Specified by:
findLastLifecycleTraceabilityOperation
in interfaceLogbookOperations
- Parameters:
eventType
- Logbook event typetraceabilityWithZipOnly
- if true, skip operation without Zip (empty operations)- Returns:
- the last valid traceability operation
- Throws:
VitamException
- if errors occur while retrieving data
-
findLastOperationByType
public Optional<LogbookOperation> findLastOperationByType(String operationType) throws InvalidCreateOperationException, LogbookDatabaseException, InvalidParseOperationException Description copied from interface:LogbookOperations
FInd last event of last operation by type- Specified by:
findLastOperationByType
in interfaceLogbookOperations
- Returns:
- Throws:
InvalidCreateOperationException
LogbookDatabaseException
InvalidParseOperationException
-
reindex
Description copied from interface:LogbookOperations
Reindex one or more collections- Specified by:
reindex
in interfaceLogbookOperations
- Parameters:
indexParameters
- the parameters specifying what to reindex- Returns:
- the reindexation result as a IndexationResult Object
-
switchIndex
Description copied from interface:LogbookOperations
Switch indexes for one or more collections- Specified by:
switchIndex
in interfaceLogbookOperations
- Parameters:
alias
- the alias namenewIndexName
- the new index to be pointed on- Returns:
- Throws:
DatabaseException
- in case error with database occurs
-
checkNewEligibleLogbookOperationsSinceLastTraceabilityOperation
public boolean checkNewEligibleLogbookOperationsSinceLastTraceabilityOperation(LocalDateTime traceabilityStartDate, LocalDateTime traceabilityEndDate) throws LogbookDatabaseException - Specified by:
checkNewEligibleLogbookOperationsSinceLastTraceabilityOperation
in interfaceLogbookOperations
- Throws:
LogbookDatabaseException
-