Class ContentPropertyDataExporter
- java.lang.Object
-
- com.atlassian.confluence.impl.backuprestore.backup.exporters.ContentPropertyDataExporter
-
- All Implemented Interfaces:
Exporter,Subscriber
public class ContentPropertyDataExporter extends Object implements Exporter, Subscriber
Extracts content property. Content property configuration is weird (Hibernate can't return reference to the associated content), so we need to configure it manually.- Since:
- 7.20.0
-
-
Field Summary
Fields Modifier and Type Field Description static StringCONTENT_FIELD_NAME
-
Constructor Summary
Constructors Constructor Description ContentPropertyDataExporter(CommonDatabaseDataExporter exporter, boolean keepCollectionsForContentProperties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<Long,List<EntityObjectReadyForExport>>findContentPropertiesForContentEntityObjects(Collection<?> contentEntityIds)Used for legacy format only because the normal pub/sub mechanism does not work in this case.ExportableEntityInfogetEntityInfo()Returns default entity info for persister.ExportableEntityInfogetEntityInfo(Class<?> exportedClass)Returns default entity info for the particular class.Collection<Class<?>>getWatchingEntityClasses()Return a collection of entity classes that subscriber will monitor the object export events.voidonMonitoredObjectsExport(Class<?> exportedClass, Collection<Object> idList)It is called when the collection of objects was exported.
-
-
-
Field Detail
-
CONTENT_FIELD_NAME
public static final String CONTENT_FIELD_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ContentPropertyDataExporter
public ContentPropertyDataExporter(CommonDatabaseDataExporter exporter, boolean keepCollectionsForContentProperties)
-
-
Method Detail
-
getWatchingEntityClasses
public Collection<Class<?>> getWatchingEntityClasses()
Description copied from interface:SubscriberReturn a collection of entity classes that subscriber will monitor the object export events. This is called when DatabaseExporterHelper register subscribers for all exporters. See UseDatabaseExporterHelper.registerSubscriber(Subscriber)- Specified by:
getWatchingEntityClassesin interfaceSubscriber
-
onMonitoredObjectsExport
public void onMonitoredObjectsExport(Class<?> exportedClass, Collection<Object> idList) throws InterruptedException, BackupRestoreException
Description copied from interface:SubscriberIt is called when the collection of objects was exported. This is called only for objects that this class is watching. SeegetWatchingEntityClasses()- Specified by:
onMonitoredObjectsExportin interfaceSubscriber- Parameters:
exportedClass- the exported classidList- the list of ids of exported objects- Throws:
InterruptedExceptionBackupRestoreException
-
getEntityInfo
public ExportableEntityInfo getEntityInfo()
Description copied from interface:ExporterReturns default entity info for persister. Will fail if the persister has to work with multiple hibernate entitites.- Specified by:
getEntityInfoin interfaceExporter
-
getEntityInfo
public ExportableEntityInfo getEntityInfo(Class<?> exportedClass)
Description copied from interface:ExporterReturns default entity info for the particular class.- Specified by:
getEntityInfoin interfaceExporter
-
findContentPropertiesForContentEntityObjects
public Map<Long,List<EntityObjectReadyForExport>> findContentPropertiesForContentEntityObjects(Collection<?> contentEntityIds)
Used for legacy format only because the normal pub/sub mechanism does not work in this case. This method is called directly by ContentEntityDatabaseDataExporter.- Parameters:
contentEntityIds- collection of content entity ids (we have to find all their content properties)- Returns:
- content properties map grouped by content id
-
-