Validation Modes
Validation Modes
The validation mode controls validation checks on ImpEx. By default, strict mode is enabled meaning all checks are run.
There are five different modes available, where two are only applicable for import and three for export.
- Import Strict - Mode for import where all checks relevant for import are enabled. This is the preferred one for an import.
- Import Relaxed - Mode for import where several checks are disabled. Use this mode for modifying data not allowed by the data model like writing non-writable attributes. Please be aware of the fact that this mode only disables the checks by ImpEx, if there is any busines logic that prevents the modification, the import fails anyway.
- Export Strict (Re)Import - Mode for export where all checks relevant for a re-import of the exported data are enabled. This is the preferred mode for export if you want to re-import the data as in migration case.
- Export Relaxed (Re)Import - Mode for export where several checks relevant for a re-import of the exported data are disabled.
- Export Only - Mode for export where the exported data are not designated for a re-import. There are no checks enabled, so you can write for example a column twice, which cannot be re-imported in that way. Preferred export mode for an export without re-import capabilities.
The following table gives an overview of which checks can be disabled by using a different mode than the strict one.
Check Description | Thrown Exception | Import Strict | Import Relaxed | Export Only | Export Relaxed | Export Strict | Check location (for developers) |
|---|---|---|---|---|---|---|---|
Clashing of columns (columns referencing same attribute descriptor) | Ambiguous columns columns-related code. | ![]() | ![]() | ![]() | ![]() | ![]() | HeaderDescriptor.validate |
Missing unique modifier | Missing unique modifier inside header-related code - at least one attribute has to be declared as unique (attributename[ internal:unique=true ]). | ![]() | ![]() | ![]() | ![]() | ![]() | HeaderDescriptor.validate |
No abstract type | Type type-related code is abstract. | ![]() | ![]() | ![]() | ![]() | ![]() | HeaderDescriptor.calculatePermittedType |
No jalo only type | Type type-related code is jaloOnly. | ![]() | ![]() | ![]() | ![]() | ![]() | HeaderDescriptor.calculatePermittedType |
Missing mandatory columns | Type type-related code requires missing column(s) column-related code. | ![]() | ![]() | ![]() | ![]() | ![]() | HeaderDescriptor.calculatePermittedType |
Missing unique column | Type type-related code has no unique columns. | ![]() | ![]() | ![]() | ![]() | ![]() | HeaderDescriptor.calculatePermittedType |
Read-only (write=false, initial=false) column with unique modifier. | Unique attribute attribute-related code is read-only which is not allowed. | ![]() | ![]() | ![]() | ![]() | ![]() | StandardColumnDescriptor.validate |
Mandatory columns without value (no default value, no allowNull modifier) | Value is NULL for mandatory attribute attribute-related code. | ![]() | ![]() | ![]() | ![]() | ![]() | DefaultValueLineTranslator.translateColumnValues |
Dumping is disabled and a line has to be dumped | Line line-related code could not be imported completely | ![]() | ![]() | ![]() | ![]() | ![]() | ImpExImportReader.readLine |
Empty column expression | No attributes specified for header with type type-related code. | ![]() | ![]() | ![]() | ![]() | ![]() | AbstractTypeTranslator.translateColumnDescriptors |
Column within item expression not searchable or has no persistence representation | Attribute attribute-related code is not searchable - cannot use to resolve item reference via pattern. | ![]() | ![]() | ![]() | ![]() | ![]() | ItemExpressionTranslator.checkResolvableAttribute |
Column type within item expression is jalo-only. | Attribute attribute-related code is jalo-only - cannot use to resolve item reference. | ![]() | ![]() | ![]() | ![]() | ![]() | ItemExpressionTranslator.checkResolvableAttribute |


Comments
Post a Comment