From be311f238bbcb7cc1b470f91ac99f60eb2ed5ea6 Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Tue, 1 Jun 2021 12:30:01 +0300 Subject: [PATCH] Add visibility rules checkup on dataset finalize checkup --- .../java/eu/eudat/logic/managers/DatasetManager.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java index e164b9092..65809a4e7 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetManager.java @@ -673,9 +673,18 @@ public class DatasetManager { datasetProfileValidators.add(node.getNodeValue()); } + JSONObject obj = new JSONObject(dataset.getProperties()); + VisibilityRuleService visibilityRuleService = this.apiContext.getUtilitiesService().getVisibilityRuleService(); + visibilityRuleService.setProperties(obj.toMap()); + + dataset.setProfile(profile); + PagedDatasetProfile pagedDatasetProfile = this.getPagedProfile(new DatasetWizardModel(), dataset); + visibilityRuleService.buildVisibilityContext(pagedDatasetProfile.getRules()); + + for (String validator : datasetProfileValidators) { - if (obj.getString(validator) == null || obj.getString(validator).trim().isEmpty()) { + if ((obj.getString(validator) == null || obj.getString(validator).trim().isEmpty()) && visibilityRuleService.isElementVisible(validator)) { throw new Exception("Field value of " + validator + " must be filled."); } }