From 425a64e60abb1dbec6d75d00f7f7b7179cc60542 Mon Sep 17 00:00:00 2001 From: gkolokythas Date: Mon, 24 Jun 2019 13:00:59 +0300 Subject: [PATCH] Refactors Dataset update so it cannot be edited if it's DMP is public. --- .../main/java/eu/eudat/logic/managers/DatasetManager.java | 5 ++++- 1 file changed, 4 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 02e4f6123..a4f305bd3 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 @@ -316,8 +316,11 @@ public class DatasetManager { } public eu.eudat.data.entities.Dataset createOrUpdate(DatasetWizardModel datasetWizardModel, Principal principal) throws Exception { + DMP dmp = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().find(datasetWizardModel.getDmp().getId()); + if (dmp.isPublic()) + throw new Exception("DMP is public, therefore Dataset cannot be edited."); eu.eudat.data.entities.Dataset dataset = datasetWizardModel.toDataModel(); - dataset.setDmp(apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().find(datasetWizardModel.getDmp().getId())); + dataset.setDmp(dmp); propertiesModelToString(datasetWizardModel, dataset); UserInfo userInfo = apiContext.getOperationsContext().getBuilderFactory().getBuilder(UserInfoBuilder.class).id(principal.getId()).build(); dataset.setCreator(userInfo);