Package de.xima.fc.importer.config
Class AEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>
java.lang.Object
de.xima.fc.importer.config.AEntityImportConfig<T>
- All Implemented Interfaces:
IEntityImportConfig<T>,Serializable,Comparable<IEntityImportConfig<?>>
- Direct Known Subclasses:
ActionImportConfig,AppointmentTemplateImportConfig,ClientCounterImportConfig,ClientResourceImportConfig,DataSourceImportConfig,EntityImportConfig,FormVersionImportConfig,InboxImportConfig,ProjectDoiDataImportConfig,ProjectIdentityCheckDataImportConfig,ProjectImportConfig,ProjectInviteDataImportConfig,ProjectResourceImportConfig,StateImportConfig,TemplateImportConfig,UserGroupImportConfig
public abstract class AEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>
extends Object
implements IEntityImportConfig<T>
Configuration class for entity imports
- Author:
- XIMA MEDIA GmbH
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected de.xima.cmn.dao.interfaces.IEntity<Long>protected Tprotected final com.vdurmont.semver4j.Semverprotected Stringprotected static final org.slf4j.Loggerprotected static final Stringprotected Longprotected Stringprotected UUIDprotected Tprotected Stringprotected Map<de.xima.cmn.dao.interfaces.IEntity<Long>,List<IEntityDependency>> -
Constructor Summary
ConstructorsConstructorDescriptionAEntityImportConfig(IEntityContext ec, de.xima.cmn.dao.interfaces.IEntity<Long> context, T entity, Set<IEntityDependency> dependencies, String importJson) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionfinalize(IEntityContext ec, String fcVersion, String exportVersion) Finish the import.protected Tprotected abstract IGenericDao<T>getDao()protected static UUIDgetDependencyUuid(IEntityImportConfig<?> config, String fieldDescriptor) Class<?>de.xima.cmn.dao.interfaces.IEntity<Long>Deprecated.Deprecated.Map<de.xima.cmn.dao.interfaces.IEntity<Long>,List<IEntityDependency>> protected static StringgetUuidEntityValue(com.google.gson.JsonObject authConfig, String key) booleanbooleanprotected booleanprotected abstract voidprotected voidprotected voidprotected voidprotected voidvoidDeprecated.voidsetAlternativeId(Long alternativeId) voidsetConflictResolveAction(EEntityConflictResolveAction conflictResolveAction) voidDeprecated.voidsetEntityToOverride(de.xima.cmn.dao.interfaces.IEntity<Long> entityToOverride) Deprecated.voidsetImported(boolean imported) Deprecated.voidsetPersisted(T persisted) voidstage(IEntityContext ec) Stages the import for execution based on the given configurationtoString()voidUpdates the persisted entity if existing based on the entity represented by this configprotected voidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface de.xima.fc.importer.interfaces.IEntityImportConfig
compareTo, getDependencies
-
Field Details
-
LOG
protected static final org.slf4j.Logger LOG -
LOG_PREFIX
- See Also:
-
entity
-
formcycleVersion
protected final com.vdurmont.semver4j.Semver formcycleVersion -
persisted
-
persistedName
-
unresolvedDependencies
protected Map<de.xima.cmn.dao.interfaces.IEntity<Long>,List<IEntityDependency>> unresolvedDependencies -
importJson
-
originalID
-
originalUUID
-
originalName
-
context
-
-
Constructor Details
-
AEntityImportConfig
@Deprecated public AEntityImportConfig(IEntityContext ec, de.xima.cmn.dao.interfaces.IEntity<Long> context, T entity, Set<IEntityDependency> dependencies, String importJson) Deprecated.
-
-
Method Details
-
getEntity
- Specified by:
getEntityin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- The entity that should be imported
-
getPersisted
- Specified by:
getPersistedin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- The persisted entity that may be overridden
-
setPersisted
- Specified by:
setPersistedin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
persisted- The persisted entity that may be overridden
-
getEntityClass
- Specified by:
getEntityClassin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- the class of the entity
-
getUnresolvedDependencies
public Map<de.xima.cmn.dao.interfaces.IEntity<Long>,List<IEntityDependency>> getUnresolvedDependencies()- Specified by:
getUnresolvedDependenciesin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- a map of all the entities of this import config that have unresolved dependencies. This includes not only entity dependencies of this import configs entity but also dependencies of its children, e.g.: a ProjectImportConfig might have unresolved dependencies for one of its WorkflowStates.
-
getConflictResolveAction
- Specified by:
getConflictResolveActionin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
EEntityConflictResolveActionspecifying what to do if the entity already exists
-
setConflictResolveAction
- Specified by:
setConflictResolveActionin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
conflictResolveAction-EEntityConflictResolveActionspecifying what to do if the entity already exists
-
isEntityExists
public boolean isEntityExists()- Specified by:
isEntityExistsin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
trueif the given entity already exists (based on UUID and its context)
-
isImported
public boolean isImported()- Specified by:
isImportedin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- whether or not the entity has been imported yet
-
getOriginalID
- Specified by:
getOriginalIDin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- original ID of the entity
-
getOriginalExportId
- Specified by:
getOriginalExportIdin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- The original ID of the entity from the export file. Note that
IEntityImportConfig.getOriginalID()may benullwhen the IDs are not preserved, this will always be set to the original ID from the export file.
-
getOriginalUUID
- Specified by:
getOriginalUUIDin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- original UUID of the entity or
nullif the entity is noIUUIDEntity
-
getOriginalName
- Specified by:
getOriginalNamein interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- original name of the entity before import (and possible name change)
-
getChildren
- Specified by:
getChildrenin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- all child importConfigs
-
getAllChildrenFlat
- Specified by:
getAllChildrenFlatin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- all child importConfigs. Including the children of children
-
setAlternativeId
- Specified by:
setAlternativeIdin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
alternativeId- of an existing entity of typeTthat should be used instead
-
loadAlternative
- Specified by:
loadAlternativein interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
ec-IEntityContextto use- Returns:
- Entity that should be used instead
-
updatePersisted
Description copied from interface:IEntityImportConfigUpdates the persisted entity if existing based on the entity represented by this config- Specified by:
updatePersistedin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
ec-IEntityContextto be used for updating the persisted entity
-
stage
Description copied from interface:IEntityImportConfigStages the import for execution based on the given configuration- Specified by:
stagein interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
ec-IEntityContextto be used- Throws:
Exception- When the entity could not be staged.
-
finalize
public List<DependencyDescriptor> finalize(IEntityContext ec, String fcVersion, String exportVersion) throws Exception Description copied from interface:IEntityImportConfigFinish the import. Should be called after every import config has been staged for import and deprecated fields have been handled.- Specified by:
finalizein interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
ec-IEntityContextto be usedfcVersion- The current formcycle version where the entity is imported.exportVersion- The formcycle version that was used to create the export file with the entity.- Returns:
ListofDependencyDescriptors of missing dependencies- Throws:
Exception- When the entity import could not be finalized.
-
toString
-
isUuidExisting
-
getDao
-
makeEntityUnique
- Throws:
Exception
-
preCreate
- Throws:
Exception
-
preUpdate
- Throws:
Exception
-
postCreate
- Throws:
Exception
-
postUpdate
- Throws:
Exception
-
validateImport
- Throws:
Exception
-
getDependencyUuid
-
getUuidEntityValue
-
findPersisted
-
resolveDependencies
Deprecated.Description copied from interface:IEntityImportConfigResolves the dependencies of this entity- Specified by:
resolveDependenciesin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
ec-IEntityContextto be used
-
setEntity
Deprecated.- Specified by:
setEntityin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
entity- The entity that should be imported
-
getEntityToOverride
Deprecated.- Specified by:
getEntityToOverridein interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
IEntitythat should be overridden instead of the persisted
-
setEntityToOverride
@Deprecated public void setEntityToOverride(de.xima.cmn.dao.interfaces.IEntity<Long> entityToOverride) Deprecated.- Specified by:
setEntityToOverridein interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Parameters:
entityToOverride-IEntitythat should be overridden instead of the persisted
-
setImported
Deprecated.Description copied from interface:IEntityImportConfigSet totrueif the entity has been imported- Specified by:
setImportedin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>
-
getImportJson
Deprecated.- Specified by:
getImportJsonin interfaceIEntityImportConfig<T extends de.xima.cmn.dao.interfaces.IEntity<Long>>- Returns:
- the original JSON String of the import entity
-