From 860801bb89a90646f3fbb2bfd2217b3c7701fb5b Mon Sep 17 00:00:00 2001 From: gkolokythas Date: Thu, 19 Sep 2019 13:59:25 +0300 Subject: [PATCH] Fixes bug on Dataset Description creation caused by Data Repository External Reference. (Issue #160) --- .../eu/eudat/logic/managers/DatasetManager.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) 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 b361cb96a..1bc7bc3de 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 @@ -402,11 +402,8 @@ public class DatasetManager { } private void createDataRepositoriesIfTheyDontExist(DataRepositoryDao dataRepositoryDao, eu.eudat.data.entities.Dataset dataset) { - Set datasetDataRepositories = dataset.getDatasetDataRepositories(); - dataset.setDatasetDataRepositories(new HashSet<>()); - - if (datasetDataRepositories != null && !datasetDataRepositories.isEmpty()) { - for (eu.eudat.data.entities.DatasetDataRepository datasetDataRepository : datasetDataRepositories) { + if (dataset.getDatasetDataRepositories() != null && !dataset.getDatasetDataRepositories().isEmpty()) { + for (eu.eudat.data.entities.DatasetDataRepository datasetDataRepository : dataset.getDatasetDataRepositories()) { DataRepositoryCriteria criteria = new DataRepositoryCriteria(); criteria.setLike(datasetDataRepository.getDataRepository().getReference()); List entries = dataRepositoryDao.getWithCriteria(criteria).toList(); @@ -415,10 +412,8 @@ public class DatasetManager { datasetDataRepository.setDataset(dataset); dataset.getDatasetDataRepositories().add(datasetDataRepository); } else { - //datasetDataRepository.getDataRepository().setId(UUID.randomUUID()); - DataRepository dataRepository = dataRepositoryDao.createOrUpdate(datasetDataRepository.getDataRepository()); - datasetDataRepository.setDataRepository(dataRepository); - dataset.getDatasetDataRepositories().add(datasetDataRepository); + dataRepositoryDao.createOrUpdate(datasetDataRepository.getDataRepository()); + datasetDataRepository.setDataset(dataset); } } }