Skip to content
Snippets Groups Projects

Fix: Validation issue with AP

Closed Sirieam Marie Hunke requested to merge Issue/2960-fixValidationForAP into dev
Compare and
7 files
+ 2755
3419
Compare changes
  • Side-by-side
  • Inline
Files
7
@@ -32,6 +32,13 @@ export default defineComponent({
};
},
methods: {
/**
* Recursively adds results from currentResults to the results array.
* Handles nested validation results by calling itself on detailed results.
*
* @param {ValidationType} currentResults - The current validation results.
* @param {ValidationType} results - The array to which results will be added.
*/
fillResults(currentResults: ValidationType, results: ValidationType) {
for (const currentResult of currentResults) {
results.push(currentResult);
@@ -40,6 +47,14 @@ export default defineComponent({
}
}
},
/**
* Sets error messages based on validation results.
* Updates the errorMessages object if the path matches and there are metadata entries with non-empty values.
*
* @param {Dataset} metadata - The dataset containing metadata.
* @param {ValidationType} results - The validation results.
* @param {Quad_Subject} subjectNode - The subject node for error reporting.
*/
setErrorMessages(
metadata: Dataset,
results: ValidationType,
@@ -62,6 +77,17 @@ export default defineComponent({
}
}
},
/**
* Triggers metadata validation after a debounce period.
* Combines metadata with the dataset and validates it using SHACLValidator.
* Emits validation results and updates error messages.
*
* @param {Dataset} metadata - The metadata to validate.
* @param {Dataset} dataset - The dataset used for validation.
* @param {Quad_Subject} subjectNode - The subject node related to validation.
* @param {string} [validationContext=''] - Optional context for validation.
* @param {boolean} [ignoreTemplateValues=false] - Flag to ignore template values.
*/
triggerMetadataValidation(
metadata: Dataset,
dataset: Dataset,
@@ -150,6 +176,14 @@ export default defineComponent({
return report;
}, this.validationDebounce) as unknown as number;
},
/**
* Deactivates template rules in the shape dataset by marking relevant paths as deactivated.
* This is used to prevent validation of template values.
*
* @param {Dataset} shape - The shape dataset to update.
* @param {DatasetExt} metadata - The metadata dataset containing template rules.
*/
deactiveTemplateRules(shape: Dataset, metadata: DatasetExt) {
for (const quad of metadata) {
if (!quad.object.value.match(/\{\{.*?\}\}/)) {
Loading