Interface LogbookOperations
-
- All Known Implementing Classes:
AlertLogbookOperationsDecorator
,LogbookOperationsDecorator
,LogbookOperationsImpl
public interface LogbookOperations
Logbook operations interface for database operations
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
checkNewEligibleLogbookOperationsSinceLastTraceabilityOperation(java.time.LocalDateTime traceabilityStartDate, java.time.LocalDateTime traceabilityEndDate)
void
create(LogbookOperationParameters parameters)
Create and insert logbook operation entriesvoid
createBulkLogbookOperation(LogbookOperationParameters[] operationArray)
Create one Logbook Operation with already multiple sub-eventsLogbookOperation
findFirstTraceabilityOperationOKAfterDate(java.time.LocalDateTime date)
Find One logbook TraceabilityOperation after a given dateLogbookOperation
findLastLifecycleTraceabilityOperation(java.lang.String eventType, boolean traceabilityWithZipOnly)
Find last OK or WARNING LFC traceability operation (even if no traceability zip has been generated)java.util.Optional<LogbookOperation>
findLastOperationByType(java.lang.String operationType)
FInd last event of last operation by typeLogbookOperation
findLastTraceabilityOperationOK()
Find last successful traceability operationLogbookOperation
getById(java.lang.String idProcess)
LogbookOperation
getById(java.lang.String idProcess, com.fasterxml.jackson.databind.JsonNode query, boolean sliced, boolean crossTenant)
Select logbook operation by the operation's IDReindexationResult
reindex(IndexParameters indexParameters)
Reindex one or more collectionsjava.util.List<LogbookOperation>
selectOperations(com.fasterxml.jackson.databind.JsonNode select)
Select logbook operation entriesjava.util.List<LogbookOperation>
selectOperations(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant)
RequestResponseOK<LogbookOperation>
selectOperationsAsRequestResponse(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant)
com.mongodb.client.MongoCursor<LogbookOperation>
selectOperationsByLastPersistenceDateInterval(java.time.LocalDateTime startDate, java.time.LocalDateTime endDate)
Select all logbook operations entries persisted within provided intervalSwitchIndexResult
switchIndex(java.lang.String alias, java.lang.String newIndexName)
Switch indexes for one or more collectionsvoid
update(LogbookOperationParameters parameters)
Update and insert logbook operation entriesvoid
updateBulkLogbookOperation(LogbookOperationParameters[] operationArray)
Update one Logbook Operation with multiple sub-events
It adds this new entry within the very same Logbook Operaton entry in "events" array.
-
-
-
Method Detail
-
create
void create(LogbookOperationParameters parameters) throws LogbookAlreadyExistsException, LogbookDatabaseException
Create and insert logbook operation entries- Parameters:
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
void update(LogbookOperationParameters parameters) throws LogbookNotFoundException, LogbookDatabaseException
Update and insert logbook operation entries- Parameters:
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
java.util.List<LogbookOperation> selectOperations(com.fasterxml.jackson.databind.JsonNode select) throws LogbookDatabaseException, InvalidParseOperationException, VitamDBException
Select logbook operation entries- Parameters:
select
- the select request in format of JsonNode- Returns:
- List of the logbook operation
- Throws:
LogbookDatabaseException
- if errors occur while connecting or writing to the databaseInvalidParseOperationException
- if invalid parse for selecting the operationVitamDBException
- in case a desynchro is recorded between Mongo and ES
-
selectOperations
java.util.List<LogbookOperation> selectOperations(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant) throws VitamDBException, LogbookDatabaseException
-
selectOperationsAsRequestResponse
RequestResponseOK<LogbookOperation> selectOperationsAsRequestResponse(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant) throws VitamDBException, LogbookDatabaseException
-
getById
LogbookOperation getById(java.lang.String idProcess) throws LogbookDatabaseException, LogbookNotFoundException
-
getById
LogbookOperation getById(java.lang.String idProcess, com.fasterxml.jackson.databind.JsonNode query, boolean sliced, boolean crossTenant) throws LogbookDatabaseException, LogbookNotFoundException
Select logbook operation by the operation's ID- Parameters:
idProcess
- the operation identifierquery
-sliced
-crossTenant
-- 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 foundVitamDBException
- in case a desynchro is recorded between Mongo and ES
-
createBulkLogbookOperation
void createBulkLogbookOperation(LogbookOperationParameters[] operationArray) throws LogbookDatabaseException, LogbookAlreadyExistsException
Create one Logbook Operation with already multiple sub-events- Parameters:
operationArray
- with first and next events to add/update- Throws:
java.lang.IllegalArgumentException
- if first argument is null or null mandatory parameters for allLogbookDatabaseException
- if errors occur while connecting or writing to the databaseLogbookAlreadyExistsException
- if logbook already exists
-
updateBulkLogbookOperation
void updateBulkLogbookOperation(LogbookOperationParameters[] operationArray) throws LogbookDatabaseException, LogbookNotFoundException
Update one Logbook Operation with multiple sub-events
It adds this new entry within the very same Logbook Operaton entry in "events" array.- Parameters:
operationArray
- containing all operations Logbook in order- Throws:
java.lang.IllegalArgumentException
- if parameter has null or empty mandatory valuesLogbookDatabaseException
- if errors occur while connecting or writing to the databaseLogbookNotFoundException
- if no operation selected cannot be found
-
selectOperationsByLastPersistenceDateInterval
com.mongodb.client.MongoCursor<LogbookOperation> selectOperationsByLastPersistenceDateInterval(java.time.LocalDateTime startDate, java.time.LocalDateTime endDate) throws LogbookDatabaseException, LogbookNotFoundException, InvalidParseOperationException, InvalidCreateOperationException
Select all logbook operations entries persisted within provided interval- Parameters:
startDate
- the start dateendDate
- the end date- Returns:
- the Closeable MongoCursor of LogbookOperation
- Throws:
LogbookNotFoundException
- if no operation selected cannot be foundLogbookDatabaseException
- if errors occur while connecting or writing to the databaseInvalidParseOperationException
- if invalid parse for selecting the operationInvalidCreateOperationException
- if the query could not be created
-
findFirstTraceabilityOperationOKAfterDate
LogbookOperation findFirstTraceabilityOperationOKAfterDate(java.time.LocalDateTime date) throws InvalidCreateOperationException, LogbookNotFoundException, LogbookDatabaseException
Find One logbook TraceabilityOperation after a given date- Parameters:
date
- the select request in format of JsonNode- Returns:
- the LogbookOperation
- Throws:
LogbookNotFoundException
- if no operation selected cannot be foundLogbookDatabaseException
- if errors occur while connecting or writing to the databaseInvalidParseOperationException
- if invalid parse for selecting the operationInvalidCreateOperationException
- if the query could not be created
-
findLastTraceabilityOperationOK
LogbookOperation findLastTraceabilityOperationOK() throws InvalidCreateOperationException, LogbookNotFoundException, LogbookDatabaseException, InvalidParseOperationException
Find last successful traceability operation- Returns:
- the last valid traceability operation
- Throws:
InvalidCreateOperationException
- if the query could not be createdLogbookNotFoundException
- if no operation selected cannot be foundLogbookDatabaseException
- if errors occur while connecting or writing to the databaseInvalidParseOperationException
- if the query could not be created
-
findLastLifecycleTraceabilityOperation
LogbookOperation findLastLifecycleTraceabilityOperation(java.lang.String eventType, boolean traceabilityWithZipOnly) throws VitamException
Find last OK or WARNING LFC traceability operation (even if no traceability zip has been generated)- 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
-
reindex
ReindexationResult reindex(IndexParameters indexParameters)
Reindex one or more collections- Parameters:
indexParameters
- the parameters specifying what to reindex- Returns:
- the reindexation result as a IndexationResult Object
-
switchIndex
SwitchIndexResult switchIndex(java.lang.String alias, java.lang.String newIndexName) throws DatabaseException
Switch indexes for one or more collections- Parameters:
alias
- the alias namenewIndexName
- the new index to be pointed on- Returns:
- Throws:
DatabaseException
- in case error with database occurs
-
checkNewEligibleLogbookOperationsSinceLastTraceabilityOperation
boolean checkNewEligibleLogbookOperationsSinceLastTraceabilityOperation(java.time.LocalDateTime traceabilityStartDate, java.time.LocalDateTime traceabilityEndDate) throws LogbookDatabaseException
- Throws:
LogbookDatabaseException
-
findLastOperationByType
java.util.Optional<LogbookOperation> findLastOperationByType(java.lang.String operationType) throws InvalidCreateOperationException, LogbookDatabaseException, InvalidParseOperationException
FInd last event of last operation by type- Parameters:
operationType
-- Returns:
- Throws:
InvalidCreateOperationException
LogbookNotFoundException
LogbookDatabaseException
InvalidParseOperationException
-
-