Class AbstractDatabaseDataConverter
java.lang.Object
com.atlassian.confluence.impl.backuprestore.backup.exporters.converters.AbstractDatabaseDataConverter
- All Implemented Interfaces:
Converter
- Direct Known Subclasses:
AliasedKeyDatabaseDataConverter,CommonDatabaseDataConverter,Content2ContentRelationEntityDataConverter,ContentEntityDatabaseDataConverter
- Since:
- 7.20.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final HibernateMetadataHelperprotected final StatisticsCollector -
Constructor Summary
ConstructorsConstructorDescriptionAbstractDatabaseDataConverter(ExportableEntityInfo entityInfo, HibernateMetadataHelper hibernateMetadataHelper, StatisticsCollector statisticsCollector) AbstractDatabaseDataConverter(Collection<ExportableEntityInfo> entityInfos, HibernateMetadataHelper hibernateMetadataHelper, StatisticsCollector statisticsCollector) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddExternalReferenceToObject(Map<String, Object> dbObjectProperties, EntityObjectReadyForExport object, org.hibernate.type.ManyToOneType type, String columnName, String propertyName) Converts reference property into exportable format and adds it to the exportable objectprotected Class<?>calculateReferencedClass(Object referencedId, Class<?> referencedClass) static @Nullable BooleanconvertToBoolean(Object value) Some databases return boolean values as "T" and "F" If value is a string, best efforts to convert it to "true" or "false" will be made.static IntegerconvertToInteger(Object value) Oracle server returns BigDecimal objects (not Integer), so it has to be fixed first.static LongconvertToLong(Object value) SQL server and Oracle returns BigDecimal objects (not Long), so it has to be fixed first.protected abstract EntityObjectReadyForExportConverts db object into object ready for serialisationprotected EntityObjectReadyForExportconvertToObjectsReadyForSerialisation(List<DbRawObjectData> dbObjectsProperties) Class<?>getContentClassByContentType(String contentType) getEntityInfo(Class<?> entityClass) protected abstract Class<?>getHibernateEntityClass(Map<String, Object> objectProperties)
-
Field Details
-
hibernateMetadataHelper
-
statisticsCollector
-
-
Constructor Details
-
AbstractDatabaseDataConverter
public AbstractDatabaseDataConverter(ExportableEntityInfo entityInfo, HibernateMetadataHelper hibernateMetadataHelper, StatisticsCollector statisticsCollector) -
AbstractDatabaseDataConverter
public AbstractDatabaseDataConverter(Collection<ExportableEntityInfo> entityInfos, HibernateMetadataHelper hibernateMetadataHelper, StatisticsCollector statisticsCollector)
-
-
Method Details
-
getHibernateEntityClass
protected abstract Class<?> getHibernateEntityClass(Map<String, Object> objectProperties) throws DataConversionException- Returns:
- the java class associated with the entity
- Throws:
DataConversionException- Overriding classes may throw this exception when they convert data into exportable format
-
convertToObjectReadyForSerialisation
protected abstract EntityObjectReadyForExport convertToObjectReadyForSerialisation(DbRawObjectData dbObject) throws DataConversionException Converts db object into object ready for serialisation- Parameters:
dbObject- Raw db object data that should be converted- Returns:
- Object that is ready for export
- Throws:
DataConversionException- Overriding classes may throw this exception when they convert data into exportable format
-
convertToObjectReadyForSerialisationImpl
protected EntityObjectReadyForExport convertToObjectReadyForSerialisationImpl(DbRawObjectData dbObject) throws DataConversionException - Throws:
DataConversionException
-
getEntityInfo
- Specified by:
getEntityInfoin interfaceConverter- Returns:
- default entity info.
-
getEntityInfo
- Specified by:
getEntityInfoin interfaceConverter- Returns:
- entity info for the particular class
-
addExternalReferenceToObject
protected void addExternalReferenceToObject(Map<String, Object> dbObjectProperties, EntityObjectReadyForExport object, org.hibernate.type.ManyToOneType type, String columnName, String propertyName) throws DataConversionExceptionConverts reference property into exportable format and adds it to the exportable object- Parameters:
dbObjectProperties- Map of object propertiesobject- Object in exportable format to which reference will be addedtype- Type of the columncolumnName- Column name in DBpropertyName- Property name- Throws:
DataConversionException- Overriding classes may throw this exception when they convert data into exportable format
-
convertToObjectsReadyForSerialisation
public List<EntityObjectReadyForExport> convertToObjectsReadyForSerialisation(List<DbRawObjectData> dbObjectsProperties) - Specified by:
convertToObjectsReadyForSerialisationin interfaceConverter
-
convertToLong
SQL server and Oracle returns BigDecimal objects (not Long), so it has to be fixed first. -
convertToInteger
Oracle server returns BigDecimal objects (not Integer), so it has to be fixed first. -
convertToBoolean
Some databases return boolean values as "T" and "F" If value is a string, best efforts to convert it to "true" or "false" will be made. ("T", "F", "yes", "no", etc.) If no match is made, null is returned. See BooleanUtils.html#toBoolean-java.lang.String -
getContentClassByContentType
-
calculateReferencedClass
-