Package fr.gouv.vitam.logbook.common.server.database.collections

# Class LogbookMongoDbAccessImpl

java.lang.Object
fr.gouv.vitam.common.database.server.mongodb.MongoDbAccess
fr.gouv.vitam.logbook.common.server.database.collections.LogbookMongoDbAccessImpl

All Implemented Interfaces:
  `DatabaseConnection`, `LogbookDbAccess`

public final class LogbookMongoDbAccessImpl extends MongoDbAccess implements LogbookDbAccess
MongoDb Access implementation base class

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LogbookMongoDbAccessImpl(com.mongodb.client.MongoClient mongoClient, String dbname, boolean recreate, LogbookElasticsearchAccess esClient, OntologyLoader ontologyLoader)`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `bulkInsert(String operationId, LogbookCollections lifecycleUnit, List<? extends LogbookLifeCycleModel> logbookLifeCycleModels)`
  `void`
  `close()`
  Close database access
  `void`
  `createLogbookLifeCycleObjectGroup(LogbookLifeCycleObjectGroupInProcess logbookLifeCycleObjectGroupInProcess)`
  Creates ObjectGroup lifeCycle from a LogbookLifeCycleObjectGroupInProcess instance
  `void`
  `createLogbookLifeCycleObjectGroup(String operationId, LogbookLifeCycleObjectGroupParameters... lifecycleItems)`
  Create one Logbook LifeCycle with already multiple sub-events
  `void`
  `createLogbookLifeCycleUnit(LogbookLifeCycleUnitInProcess logbookLifeCycleUnitInProcess)`
  Creates Unit lifeCycle from a LogbookLifeCycleUnitInProcess instance
  `void`
  `createLogbookLifeCycleUnit(String operationId, LogbookLifeCycleUnitParameters... lifecycleItems)`
  Create one Logbook LifeCycle with already multiple sub-events
  `void`
  `createLogbookOperation(String operationId, LogbookOperationParameters... operationItems)`
  Create one Logbook Operation with already multiple sub-events
  `void`
  `deleteCollectionForTesting(LogbookCollections collection)`
  Delete logbook collection
  `boolean`
  `existsLogbookLifeCycleObjectGroup(String objectGroupId)`
  Check if one eventIdentifier for Lifecycle exists already
  `boolean`
  `existsLogbookLifeCycleObjectGroupInProcess(String objectGroupId)`
  Check if one eventIdentifier for Lifecycle exists already
  `boolean`
  `existsLogbookLifeCycleUnit(String unitId)`
  Check if one eventIdentifier for Lifecycle exists already
  `boolean`
  `existsLogbookLifeCycleUnitInProcess(String unitId)`
  Check if one eventIdentifier for Lifecycle exists already
  `boolean`
  `existsLogbookOperation(String operationItem)`
  Check if one eventIdentifier for Operation exists already
  `LogbookElasticsearchAccess`
  `getEsClient()`
  `String`
  `getInfo()`
  Get information on a Database
  `LogbookLifeCycleObjectGroupInProcess`
  `getLogbookLifeCycleObjectGroupInProcess(String objectGroupId)`
  Gets ObjectGroup LifeCycle In process
  `VitamMongoCursor<LogbookLifeCycleObjectGroup>`
  `getLogbookLifeCycleObjectGroupsFull(LogbookCollections collection, Select select)`
  Get a list of Logbook LifeCycle through Closeable MongoCursor
  `com.mongodb.client.MongoCursor<LogbookLifeCycle<?>>`
  `getLogbookLifeCycles(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, LogbookCollections collection)`
  Get a list of Logbook LifeCycles through Closeable MongoCursor
  `LogbookLifeCycleUnitInProcess`
  `getLogbookLifeCycleUnitInProcess(String unitId)`
  Get Unit LifeCycle In process
  `VitamMongoCursor<LogbookLifeCycleUnit>`
  `getLogbookLifeCycleUnitsFull(LogbookCollections collection, Select select)`
  Get a list of Logbook LifeCycle through Closeable MongoCursor
  `long`
  `getLogbookLifeCyleObjectGroupInProcessSize()`
  `long`
  `getLogbookLifeCyleObjectGroupSize()`
  `long`
  `getLogbookLifeCyleUnitInProcessSize()`
  `long`
  `getLogbookLifeCyleUnitSize()`
  `LogbookOperation`
  `getLogbookOperationById(String eventIdentifierProcess)`
  Get one Operation
  `LogbookOperation`
  `getLogbookOperationById(String eventIdentifierProcess, com.fasterxml.jackson.databind.JsonNode query, boolean sliced, boolean crossTenant)`
  Get one Operation
  `VitamMongoCursor<LogbookOperation>`
  `getLogbookOperations(com.fasterxml.jackson.databind.JsonNode select, boolean sliced)`
  `VitamMongoCursor<LogbookOperation>`
  `getLogbookOperations(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant)`
  Get a list of Logbook Operation through Closeable MongoCursor
  `long`
  `getLogbookOperationSize()`
  `LogbookLifeCycle<?>`
  `getOneLogbookLifeCycle(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, LogbookCollections collection)`
  Get a list of Logbook LifeCycles through Closeable MongoCursor
  `void`
  `rollbackLogbookLifeCycleObjectGroup(String idOperation, String lifecycleItem)`
  Rollback one Logbook LifeCycle
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `rollbackLogbookLifeCycleUnit(String idOperation, String lifecycleItem)`
  Rollback one Logbook LifeCycle
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `rollBackObjectGroupLifeCyclesByOperation(String operationId)`
  Rolls back all the created objectGroups lifeCycles during a given operation
  `void`
  `rollBackUnitLifeCyclesByOperation(String operationId)`
  Rolls back all the created unit lifeCycles during a given operation
  `void`
  `updateLogbookLifeCycleBulk(LogbookCollections collection, List<LogbookLifeCycleParametersBulk> logbookLifeCycleParametersBulk)`
  `void`
  `updateLogbookLifeCycleObjectGroup(LogbookLifeCycleObjectGroupParameters... lifecycleItems)`
  Update one Logbook LifeCycle with multiple sub-events
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `updateLogbookLifeCycleObjectGroup(LogbookLifeCycleObjectGroupInProcess logbookLifeCycleObjectGrouptInProcess)`
  Updates ObjectGroup lifeCycle from a LogbookLifeCycleObjectGroupInProcess instance
  `void`
  `updateLogbookLifeCycleObjectGroup(String idOperation, String idLfc, LogbookLifeCycleObjectGroupParameters lifecycleItem)`
  Update one Logbook LifeCycle
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `updateLogbookLifeCycleObjectGroup(String idOperation, String idLfc, LogbookLifeCycleObjectGroupParameters lifecycleItem, boolean commit)`
  Update one Logbook LifeCycle
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `updateLogbookLifeCycleUnit(LogbookLifeCycleUnitParameters... lifecycleItems)`
  Update one Logbook LifeCycle with multiple sub-events
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `updateLogbookLifeCycleUnit(LogbookLifeCycleUnitInProcess logbookLifeCycleUnitInProcess)`
  Updates Unit lifeCycle from a LogbookLifeCycleUnitInProcess instance
  `void`
  `updateLogbookLifeCycleUnit(String idOperation, String idLfc, LogbookLifeCycleUnitParameters lifecycleItem)`
  Update one Logbook LifeCycle
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `updateLogbookLifeCycleUnit(String idOperation, String idLfc, LogbookLifeCycleUnitParameters lifecycleItem, boolean commit)`
  Update one Logbook LifeCycle (in progress or committed
  It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
  `void`
  `updateLogbookOperation(String operationId, LogbookOperationParameters... operationItems)`
  Update one Logbook Operation with multiple sub-events
  It adds this new entry within the very same Logbook Operaton entry in "events" array.

  ### Methods inherited from class fr.gouv.vitam.common.database.server.mongodb.MongoDbAccess

  `checkConnection, createMongoClient, createMongoClient, getMongoAdmin, getMongoClient, getMongoClientSettingsBuilder, getMongoClientSettingsBuilder, getMongoDatabase, setDatabase, setMongoAdmin, setMongoClient, setMongoDatabase`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### LogbookMongoDbAccessImpl

    public LogbookMongoDbAccessImpl(com.mongodb.client.MongoClient mongoClient, String dbname, boolean recreate, LogbookElasticsearchAccess esClient, OntologyLoader ontologyLoader)
    Constructor
    Parameters:
      `mongoClient` - MongoClient
      `dbname` - MongoDB database name
      `recreate` - True to recreate the index
      `esClient` - elastic search client
      `ontologyLoader` -
    Throws:
      `IllegalArgumentException` - if mongoClient or dbname is null

- ## Method Details

  - ### close

    public void close()
    Close database access
    Specified by:
      `close` in interface `LogbookDbAccess`
    Overrides:
      `close` in class `MongoDbAccess`

  - ### getInfo

    public String getInfo()
    Description copied from interface: `DatabaseConnection`
    Get information on a Database
    Specified by:
      `getInfo` in interface `DatabaseConnection`
    Specified by:
      `getInfo` in interface `LogbookDbAccess`
    Overrides:
      `getInfo` in class `MongoDbAccess`
    Returns:
      information on the database

  - ### getEsClient

    public LogbookElasticsearchAccess getEsClient()
    Returns:
      the Elasticsearch Acess Logbook client

  - ### getLogbookOperationSize

    public long getLogbookOperationSize()
    Specified by:
      `getLogbookOperationSize` in interface `LogbookDbAccess`
    Returns:
      the current number of Logbook Operation

  - ### getLogbookLifeCyleUnitSize

    public long getLogbookLifeCyleUnitSize()
    Specified by:
      `getLogbookLifeCyleUnitSize` in interface `LogbookDbAccess`
    Returns:
      the current number of Logbook LifeCyle

  - ### getLogbookLifeCyleObjectGroupSize

    public long getLogbookLifeCyleObjectGroupSize()
    Specified by:
      `getLogbookLifeCyleObjectGroupSize` in interface `LogbookDbAccess`
    Returns:
      the current number of Logbook LifeCyle

  - ### getLogbookLifeCyleUnitInProcessSize

    public long getLogbookLifeCyleUnitInProcessSize()
    Specified by:
      `getLogbookLifeCyleUnitInProcessSize` in interface `LogbookDbAccess`
    Returns:
      the current number of LogbookLifeCyle created in working unit collection

  - ### getLogbookLifeCyleObjectGroupInProcessSize

    public long getLogbookLifeCyleObjectGroupInProcessSize()
    Specified by:
      `getLogbookLifeCyleObjectGroupInProcessSize` in interface `LogbookDbAccess`
    Returns:
      the current number of LogbookLifeCyle created in working objectGroup collection

  - ### getLogbookOperations

    public VitamMongoCursor<LogbookOperation> getLogbookOperations(com.fasterxml.jackson.databind.JsonNode select, boolean sliced) throws LogbookDatabaseException, VitamDBException
    Specified by:
      `getLogbookOperations` in interface `LogbookDbAccess`
    Throws:
      `LogbookDatabaseException`
      `VitamDBException`

  - ### getLogbookOperations

    public VitamMongoCursor<LogbookOperation> getLogbookOperations(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, boolean crossTenant) throws LogbookDatabaseException, VitamDBException
    Description copied from interface: `LogbookDbAccess`
    Get a list of Logbook Operation through Closeable MongoCursor
    Specified by:
      `getLogbookOperations` in interface `LogbookDbAccess`
    Parameters:
      `select` -
      `sliced` - If true will return the first and last events only
    Returns:
      the Closeable MongoCursor of LogbookOperation
    Throws:
      `LogbookDatabaseException`
      `VitamDBException`

  - ### getOneLogbookLifeCycle

    public LogbookLifeCycle<?> getOneLogbookLifeCycle(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, LogbookCollections collection) throws LogbookDatabaseException, LogbookNotFoundException, VitamDBException
    Description copied from interface: `LogbookDbAccess`
    Get a list of Logbook LifeCycles through Closeable MongoCursor
    Specified by:
      `getOneLogbookLifeCycle` in interface `LogbookDbAccess`
    Parameters:
      `select` -
      `sliced` -
      `collection` - the collection on which the select operation will be done : Production collection (LIFECYCLE_UNIT/LIFECYCLE_OBJECT_GROUP) or Working collection (LIFECYCLE_UNIT_IN_PROCESS/LIFECYCLE_OBJECT_GROUP_IN_PROCESS)
    Returns:
      the Closeable MongoCursor of LogbookLifeCycle
    Throws:
      `LogbookDatabaseException` - if more than one result
      `LogbookNotFoundException` - if no result
      `VitamDBException`

  - ### getLogbookLifeCycles

    public com.mongodb.client.MongoCursor<LogbookLifeCycle<?>> getLogbookLifeCycles(com.fasterxml.jackson.databind.JsonNode select, boolean sliced, LogbookCollections collection) throws LogbookDatabaseException, VitamDBException
    Description copied from interface: `LogbookDbAccess`
    Get a list of Logbook LifeCycles through Closeable MongoCursor
    Specified by:
      `getLogbookLifeCycles` in interface `LogbookDbAccess`
    Parameters:
      `select` -
      `sliced` -
      `collection` - the collection on which the select operation will be done : Production collection (LIFECYCLE_UNIT/LIFECYCLE_OBJECT_GROUP) or Working collection (LIFECYCLE_UNIT_IN_PROCESS/LIFECYCLE_OBJECT_GROUP_IN_PROCESS)
    Returns:
      the Closeable MongoCursor of LogbookLifeCycle
    Throws:
      `LogbookDatabaseException`
      `VitamDBException`

  - ### getLogbookLifeCycleUnitsFull

    public VitamMongoCursor<LogbookLifeCycleUnit> getLogbookLifeCycleUnitsFull(LogbookCollections collection, Select select) throws LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Get a list of Logbook LifeCycle through Closeable MongoCursor
    Specified by:
      `getLogbookLifeCycleUnitsFull` in interface `LogbookDbAccess`
    Parameters:
      `collection` - the collection on which the select operation will be done : Production collection (LIFECYCLE_UNIT) or Working collection (LIFECYCLE_UNIT_IN_PROCESS)
      `select` -
    Returns:
      the Closeable MongoCursor of LogbookLifeCycle
    Throws:
      `LogbookDatabaseException`

  - ### getLogbookLifeCycleObjectGroupsFull

    public VitamMongoCursor<LogbookLifeCycleObjectGroup> getLogbookLifeCycleObjectGroupsFull(LogbookCollections collection, Select select) throws LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Get a list of Logbook LifeCycle through Closeable MongoCursor
    Specified by:
      `getLogbookLifeCycleObjectGroupsFull` in interface `LogbookDbAccess`
    Parameters:
      `collection` - the collection on which the select operation will be done : Production collection (LIFECYCLE_OBJECT_GROUP) or Working collection (LIFECYCLE_OBJECT_GROUP_IN_PROCESS)
      `select` -
    Returns:
      the Closeable MongoCursor of LogbookLifeCycle
    Throws:
      `LogbookDatabaseException`

  - ### existsLogbookOperation

    public boolean existsLogbookOperation(String operationItem) throws LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Check if one eventIdentifier for Operation exists already
    Specified by:
      `existsLogbookOperation` in interface `LogbookDbAccess`
    Parameters:
      `operationItem` -
    Returns:
      True if one LogbookOperation exists with this id
    Throws:
      `LogbookDatabaseException`

  - ### existsLogbookLifeCycleUnit

    public boolean existsLogbookLifeCycleUnit(String unitId) throws LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Check if one eventIdentifier for Lifecycle exists already
    Specified by:
      `existsLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `unitId` -
    Returns:
      True if one LogbookLibeCycle exists with this id
    Throws:
      `LogbookDatabaseException`

  - ### existsLogbookLifeCycleObjectGroup

    public boolean existsLogbookLifeCycleObjectGroup(String objectGroupId) throws LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Check if one eventIdentifier for Lifecycle exists already
    Specified by:
      `existsLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `objectGroupId` -
    Returns:
      True if one LogbookLibeCycle exists with this id
    Throws:
      `LogbookDatabaseException`

  - ### getLogbookOperationById

    public LogbookOperation getLogbookOperationById(String eventIdentifierProcess) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Get one Operation
    Specified by:
      `getLogbookOperationById` in interface `LogbookDbAccess`
    Parameters:
      `eventIdentifierProcess` -
    Returns:
      the corresponding LogbookOperation if it exists
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### getLogbookOperationById

    public LogbookOperation getLogbookOperationById(@Nonnull String eventIdentifierProcess, @Nonnull com.fasterxml.jackson.databind.JsonNode query, boolean sliced, boolean crossTenant) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Get one Operation
    Specified by:
      `getLogbookOperationById` in interface `LogbookDbAccess`
    Parameters:
      `eventIdentifierProcess` -
      `query` -
      `sliced` -
      `crossTenant` -
    Returns:
      the corresponding LogbookOperation if it exists
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### updateLogbookLifeCycleBulk

    public void updateLogbookLifeCycleBulk(LogbookCollections collection, List<LogbookLifeCycleParametersBulk> logbookLifeCycleParametersBulk)
    Specified by:
      `updateLogbookLifeCycleBulk` in interface `LogbookDbAccess`

  - ### updateLogbookLifeCycleUnit

    public void updateLogbookLifeCycleUnit(String idOperation, String idLfc, LogbookLifeCycleUnitParameters lifecycleItem) throws LogbookDatabaseException, LogbookNotFoundException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Update one Logbook LifeCycle
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `updateLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `idOperation` -
      `idLfc` -
      `lifecycleItem` -
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`
      `LogbookAlreadyExistsException`

  - ### updateLogbookLifeCycleUnit

    public void updateLogbookLifeCycleUnit(String idOperation, String idLfc, LogbookLifeCycleUnitParameters lifecycleItem, boolean commit) throws LogbookDatabaseException, LogbookNotFoundException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Update one Logbook LifeCycle (in progress or committed
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `updateLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `idOperation` -
      `idLfc` -
      `lifecycleItem` -
      `commit` - if true update committed LFC else update in progress LFC
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`
      `LogbookAlreadyExistsException`

  - ### updateLogbookLifeCycleObjectGroup

    public void updateLogbookLifeCycleObjectGroup(String idOperation, String idLfc, LogbookLifeCycleObjectGroupParameters lifecycleItem) throws LogbookDatabaseException, LogbookNotFoundException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Update one Logbook LifeCycle
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `updateLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `idOperation` -
      `idLfc` -
      `lifecycleItem` -
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`
      `LogbookAlreadyExistsException`

  - ### updateLogbookLifeCycleObjectGroup

    public void updateLogbookLifeCycleObjectGroup(String idOperation, String idLfc, LogbookLifeCycleObjectGroupParameters lifecycleItem, boolean commit) throws LogbookDatabaseException, LogbookNotFoundException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Update one Logbook LifeCycle
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `updateLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `idOperation` -
      `idLfc` -
      `lifecycleItem` -
      `commit` - if true update is done on committed collection otherwise on inProcess one
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`
      `LogbookAlreadyExistsException`

  - ### rollbackLogbookLifeCycleUnit

    public void rollbackLogbookLifeCycleUnit(String idOperation, String lifecycleItem) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Rollback one Logbook LifeCycle
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `rollbackLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `idOperation` -
      `lifecycleItem` -
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### rollbackLogbookLifeCycleObjectGroup

    public void rollbackLogbookLifeCycleObjectGroup(String idOperation, String lifecycleItem) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Rollback one Logbook LifeCycle
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `rollbackLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `idOperation` -
      `lifecycleItem` -
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### createLogbookOperation

    public void createLogbookOperation(String operationId, LogbookOperationParameters... operationItems) throws LogbookDatabaseException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Create one Logbook Operation with already multiple sub-events
    Specified by:
      `createLogbookOperation` in interface `LogbookDbAccess`
    Parameters:
      `operationItems` - with first and next events to add/update
    Throws:
      `LogbookDatabaseException`
      `LogbookAlreadyExistsException`

  - ### createLogbookLifeCycleUnit

    public void createLogbookLifeCycleUnit(String operationId, LogbookLifeCycleUnitParameters... lifecycleItems) throws LogbookDatabaseException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Create one Logbook LifeCycle with already multiple sub-events
    Specified by:
      `createLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `lifecycleItems` - with first and next events to add/update
    Throws:
      `LogbookDatabaseException`
      `LogbookAlreadyExistsException`

  - ### createLogbookLifeCycleObjectGroup

    public void createLogbookLifeCycleObjectGroup(String operationId, LogbookLifeCycleObjectGroupParameters... lifecycleItems) throws LogbookDatabaseException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Create one Logbook LifeCycle with already multiple sub-events
    Specified by:
      `createLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `lifecycleItems` - with first and next events to add/update
    Throws:
      `LogbookDatabaseException`
      `LogbookAlreadyExistsException`

  - ### updateLogbookOperation

    public void updateLogbookOperation(String operationId, LogbookOperationParameters... operationItems) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Update one Logbook Operation with multiple sub-events
    It adds this new entry within the very same Logbook Operaton entry in "events" array.
    Specified by:
      `updateLogbookOperation` in interface `LogbookDbAccess`
    Parameters:
      `operationId` -
      `operationItems` -
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### updateLogbookLifeCycleUnit

    public void updateLogbookLifeCycleUnit(LogbookLifeCycleUnitParameters... lifecycleItems) throws LogbookDatabaseException, LogbookNotFoundException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Update one Logbook LifeCycle with multiple sub-events
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `updateLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `lifecycleItems` -
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`
      `LogbookAlreadyExistsException`

  - ### updateLogbookLifeCycleObjectGroup

    public void updateLogbookLifeCycleObjectGroup(LogbookLifeCycleObjectGroupParameters... lifecycleItems) throws LogbookDatabaseException, LogbookNotFoundException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Update one Logbook LifeCycle with multiple sub-events
    It adds this new entry within the very same Logbook LifeCycle entry in "events" array.
    Specified by:
      `updateLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `lifecycleItems` -
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`
      `LogbookAlreadyExistsException`

  - ### deleteCollectionForTesting

    public void deleteCollectionForTesting(LogbookCollections collection) throws DatabaseException, LogbookExecutionException
    Description copied from interface: `LogbookDbAccess`
    Delete logbook collection
    Specified by:
      `deleteCollectionForTesting` in interface `LogbookDbAccess`
    Parameters:
      `collection` - the logbook collection to delete
    Throws:
      `DatabaseException` - thrown when error on delete
      `LogbookExecutionException`

  - ### getLogbookLifeCycleUnitInProcess

    public LogbookLifeCycleUnitInProcess getLogbookLifeCycleUnitInProcess(String unitId) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Get Unit LifeCycle In process
    Specified by:
      `getLogbookLifeCycleUnitInProcess` in interface `LogbookDbAccess`
    Parameters:
      `unitId` - the unit id
    Returns:
      the corresponding LogbookLifeCycleUnitInProcess if it exists
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### getLogbookLifeCycleObjectGroupInProcess

    public LogbookLifeCycleObjectGroupInProcess getLogbookLifeCycleObjectGroupInProcess(String objectGroupId) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Gets ObjectGroup LifeCycle In process
    Specified by:
      `getLogbookLifeCycleObjectGroupInProcess` in interface `LogbookDbAccess`
    Parameters:
      `objectGroupId` - the object group id
    Returns:
      the corresponding LogbookLifeCycleObjectGroupInProcess if it exists
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### createLogbookLifeCycleUnit

    public void createLogbookLifeCycleUnit(LogbookLifeCycleUnitInProcess logbookLifeCycleUnitInProcess) throws LogbookDatabaseException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Creates Unit lifeCycle from a LogbookLifeCycleUnitInProcess instance
    Specified by:
      `createLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `logbookLifeCycleUnitInProcess` - a LogbookLifeCycleUnitInProcess instance
    Throws:
      `LogbookDatabaseException`
      `LogbookAlreadyExistsException`

  - ### createLogbookLifeCycleObjectGroup

    public void createLogbookLifeCycleObjectGroup(LogbookLifeCycleObjectGroupInProcess logbookLifeCycleObjectGroupInProcess) throws LogbookDatabaseException, LogbookAlreadyExistsException
    Description copied from interface: `LogbookDbAccess`
    Creates ObjectGroup lifeCycle from a LogbookLifeCycleObjectGroupInProcess instance
    Specified by:
      `createLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `logbookLifeCycleObjectGroupInProcess` -
    Throws:
      `LogbookDatabaseException`
      `LogbookAlreadyExistsException`

  - ### updateLogbookLifeCycleUnit

    public void updateLogbookLifeCycleUnit(LogbookLifeCycleUnitInProcess logbookLifeCycleUnitInProcess) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Updates Unit lifeCycle from a LogbookLifeCycleUnitInProcess instance
    Specified by:
      `updateLogbookLifeCycleUnit` in interface `LogbookDbAccess`
    Parameters:
      `logbookLifeCycleUnitInProcess` - a LogbookLifeCycleUnitInProcess instance
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### updateLogbookLifeCycleObjectGroup

    public void updateLogbookLifeCycleObjectGroup(LogbookLifeCycleObjectGroupInProcess logbookLifeCycleObjectGrouptInProcess) throws LogbookDatabaseException, LogbookNotFoundException
    Description copied from interface: `LogbookDbAccess`
    Updates ObjectGroup lifeCycle from a LogbookLifeCycleObjectGroupInProcess instance
    Specified by:
      `updateLogbookLifeCycleObjectGroup` in interface `LogbookDbAccess`
    Parameters:
      `logbookLifeCycleObjectGrouptInProcess` - a LogbookLifeCycleObjectGroupInProcess instance
    Throws:
      `LogbookDatabaseException`
      `LogbookNotFoundException`

  - ### rollBackUnitLifeCyclesByOperation

    public void rollBackUnitLifeCyclesByOperation(String operationId) throws LogbookNotFoundException, LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Rolls back all the created unit lifeCycles during a given operation
    Specified by:
      `rollBackUnitLifeCyclesByOperation` in interface `LogbookDbAccess`
    Parameters:
      `operationId` - an operation id
    Throws:
      `LogbookNotFoundException`
      `LogbookDatabaseException`

  - ### rollBackObjectGroupLifeCyclesByOperation

    public void rollBackObjectGroupLifeCyclesByOperation(String operationId) throws LogbookNotFoundException, LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Rolls back all the created objectGroups lifeCycles during a given operation
    Specified by:
      `rollBackObjectGroupLifeCyclesByOperation` in interface `LogbookDbAccess`
    Parameters:
      `operationId` - an operation Id
    Throws:
      `LogbookNotFoundException`
      `LogbookDatabaseException`

  - ### existsLogbookLifeCycleUnitInProcess

    public boolean existsLogbookLifeCycleUnitInProcess(String unitId) throws LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Check if one eventIdentifier for Lifecycle exists already
    Specified by:
      `existsLogbookLifeCycleUnitInProcess` in interface `LogbookDbAccess`
    Parameters:
      `unitId` -
    Returns:
      True if one LogbookLibeCycle exists with this id
    Throws:
      `LogbookDatabaseException`

  - ### existsLogbookLifeCycleObjectGroupInProcess

    public boolean existsLogbookLifeCycleObjectGroupInProcess(String objectGroupId) throws LogbookDatabaseException
    Description copied from interface: `LogbookDbAccess`
    Check if one eventIdentifier for Lifecycle exists already
    Specified by:
      `existsLogbookLifeCycleObjectGroupInProcess` in interface `LogbookDbAccess`
    Parameters:
      `objectGroupId` -
    Returns:
      True if one LogbookLibeCycle exists with this id
    Throws:
      `LogbookDatabaseException`

  - ### bulkInsert

    public void bulkInsert(String operationId, LogbookCollections lifecycleUnit, List<? extends LogbookLifeCycleModel> logbookLifeCycleModels) throws DatabaseException
    Specified by:
      `bulkInsert` in interface `LogbookDbAccess`
    Throws:
      `DatabaseException`