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 String
CONTENT_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.ExportableEntityInfo
getEntityInfo()
Returns default entity info for persister.ExportableEntityInfo
getEntityInfo(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.void
onMonitoredObjectsExport(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:Subscriber
Return 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:
getWatchingEntityClasses
in interfaceSubscriber
-
onMonitoredObjectsExport
public void onMonitoredObjectsExport(Class<?> exportedClass, Collection<Object> idList) throws InterruptedException, BackupRestoreException
Description copied from interface:Subscriber
It is called when the collection of objects was exported. This is called only for objects that this class is watching. SeegetWatchingEntityClasses()
- Specified by:
onMonitoredObjectsExport
in interfaceSubscriber
- Parameters:
exportedClass
- the exported classidList
- the list of ids of exported objects- Throws:
InterruptedException
BackupRestoreException
-
getEntityInfo
public ExportableEntityInfo getEntityInfo()
Description copied from interface:Exporter
Returns default entity info for persister. Will fail if the persister has to work with multiple hibernate entitites.- Specified by:
getEntityInfo
in interfaceExporter
-
getEntityInfo
public ExportableEntityInfo getEntityInfo(Class<?> exportedClass)
Description copied from interface:Exporter
Returns default entity info for the particular class.- Specified by:
getEntityInfo
in 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
-
-