Class DatabasePersister
java.lang.Object
com.atlassian.confluence.impl.backuprestore.restore.persisters.DatabasePersister
- All Implemented Interfaces:
Persister
Stores prepared imported objects in the database.
THe class receives a batch with mapping between entity infos to the imported objects, then updates
ids using idMapper and stores all objects in the database in a single transaction.
- Since:
- 7.20.0
-
Constructor Summary
ConstructorsConstructorDescriptionDatabasePersister
(RestoreDao restoreDao, EntityInfoSqlHelper entityInfoSqlHelper, IdMapper idMapper, OnObjectsProcessingHandler onObjectsProcessingHandler) -
Method Summary
Modifier and TypeMethodDescriptionvoid
persist
(Map<ExportableEntityInfo, Collection<ImportedObjectV2>> objectsToPersistGroupedByClass) Persists some or all given objects.boolean
shouldPersist
(Map<ExportableEntityInfo, Collection<ImportedObjectV2>> objectsWithDatabaseIdsByClass) Checks if should persist any of the given objects.
-
Constructor Details
-
DatabasePersister
public DatabasePersister(RestoreDao restoreDao, EntityInfoSqlHelper entityInfoSqlHelper, IdMapper idMapper, OnObjectsProcessingHandler onObjectsProcessingHandler) - Parameters:
restoreDao
- dao that is responsible for persisting objects. All methods are transactionalentityInfoSqlHelper
- helps generating SQL codeidMapper
- id mapper is required to replace XML IDs with DB IDsonObjectsProcessingHandler
- is called when objects are persisted/skipped/etc
-
-
Method Details
-
shouldPersist
public boolean shouldPersist(Map<ExportableEntityInfo, Collection<ImportedObjectV2>> objectsWithDatabaseIdsByClass) Description copied from interface:Persister
Checks if should persist any of the given objects.- Specified by:
shouldPersist
in interfacePersister
- Parameters:
objectsWithDatabaseIdsByClass
- - objects to persist.- Returns:
- true if there are objects that this persister can persist. Otherwise, false.
-
persist
public void persist(Map<ExportableEntityInfo, Collection<ImportedObjectV2>> objectsToPersistGroupedByClass) throws BackupRestoreExceptionDescription copied from interface:Persister
Persists some or all given objects.- Specified by:
persist
in interfacePersister
- Parameters:
objectsToPersistGroupedByClass
- - objects to persist.- Throws:
BackupRestoreException
- - throws if cannot persist.
-