From f6ef760e99a5777819505bd63c818a17d7fce7ef Mon Sep 17 00:00:00 2001 From: dtziotzios Date: Fri, 15 Feb 2019 17:11:38 +0200 Subject: [PATCH] Fix Delete DMP If hasn't Dataset --- .../logic/managers/DataManagementPlanManager.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java index 5ce8500c7..a42313f11 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java @@ -2,10 +2,7 @@ package eu.eudat.logic.managers; import eu.eudat.configurations.dynamicproject.DynamicProjectConfiguration; import eu.eudat.configurations.dynamicproject.entities.Property; -import eu.eudat.data.dao.criteria.DynamicFieldsCriteria; -import eu.eudat.data.dao.criteria.OrganisationCriteria; -import eu.eudat.data.dao.criteria.ProjectCriteria; -import eu.eudat.data.dao.criteria.ResearcherCriteria; +import eu.eudat.data.dao.criteria.*; import eu.eudat.data.dao.entities.*; import eu.eudat.data.entities.*; import eu.eudat.data.query.items.item.dmp.DataManagementPlanCriteriaRequest; @@ -277,9 +274,12 @@ public class DataManagementPlanManager { } public void delete(ApiContext apiContext, UUID uuid) throws DMPWithDatasetsDeleteException { - DMP oldDmp = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().find(uuid); - if (oldDmp.getDataset().size() > 0) + DatasetCriteria criteria = new DatasetCriteria(); + List dmpIds = Collections.singletonList(uuid); + criteria.setDmpIds(dmpIds); + if (apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().getWithCriteria(criteria).toList().size()>0) throw new DMPWithDatasetsDeleteException("You cannot Remove Datamanagement Plan with Datasets"); + DMP oldDmp = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().find(uuid); oldDmp.setStatus(DMP.DMPStatus.DELETED.getValue()); apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().createOrUpdate(oldDmp); }