From 4e7e2691305a8be3ac19a8d2b33e55f7d5fec4fc Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Mon, 20 Jan 2020 11:00:05 +0200 Subject: [PATCH] When cloning Datasets with external references properly get the DataRepository id and the ExternalDatatset id and copy the data from the original (ref #226) --- .../eu/eudat/logic/managers/DataManagementPlanManager.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 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 0eac9d67f..a299608db 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 @@ -788,11 +788,12 @@ public class DataManagementPlanManager { if (newDataset.getDatasetDataRepositories() != null) { newDataset.setDatasetDataRepositories(newDataset.getDatasetDataRepositories().stream().map(item -> { DataRepository dataRepository = new DataRepository(); - dataRepository.setId(item.getId()); + dataRepository.setId(item.getDataRepository().getId()); DatasetDataRepository datasetDataRepository = new DatasetDataRepository(); datasetDataRepository.setDataRepository(dataRepository); datasetDataRepository.setDataset(newDataset); + datasetDataRepository.setData(item.getData()); return datasetDataRepository; }).collect(Collectors.toSet())); } @@ -800,10 +801,11 @@ public class DataManagementPlanManager { if (newDataset.getDatasetExternalDatasets() != null) { newDataset.setDatasetExternalDatasets(newDataset.getDatasetExternalDatasets().stream().map(item -> { ExternalDataset externalDataset = new ExternalDataset(); - externalDataset.setId(item.getId()); + externalDataset.setId(item.getExternalDataset().getId()); DatasetExternalDataset datasetExternalDataset = new DatasetExternalDataset(); datasetExternalDataset.setExternalDataset(externalDataset); datasetExternalDataset.setDataset(newDataset); + datasetExternalDataset.setData(item.getData()); return datasetExternalDataset; }).collect(Collectors.toSet())); } @@ -823,6 +825,7 @@ public class DataManagementPlanManager { DatasetService datasetService = new DatasetService(); datasetService.setService(service); datasetService.setDataset(newDataset); + datasetService.setData(item.getData()); return datasetService; }).collect(Collectors.toSet())); }