Fixes bug on Dataset Description creation caused by Data Repository External Reference. (Issue #160)

This commit is contained in:
gkolokythas 2019-09-19 13:59:25 +03:00
parent 0c27746465
commit 860801bb89
1 changed files with 4 additions and 9 deletions

View File

@ -402,11 +402,8 @@ public class DatasetManager {
} }
private void createDataRepositoriesIfTheyDontExist(DataRepositoryDao dataRepositoryDao, eu.eudat.data.entities.Dataset dataset) { private void createDataRepositoriesIfTheyDontExist(DataRepositoryDao dataRepositoryDao, eu.eudat.data.entities.Dataset dataset) {
Set<DatasetDataRepository> datasetDataRepositories = dataset.getDatasetDataRepositories(); if (dataset.getDatasetDataRepositories() != null && !dataset.getDatasetDataRepositories().isEmpty()) {
dataset.setDatasetDataRepositories(new HashSet<>()); for (eu.eudat.data.entities.DatasetDataRepository datasetDataRepository : dataset.getDatasetDataRepositories()) {
if (datasetDataRepositories != null && !datasetDataRepositories.isEmpty()) {
for (eu.eudat.data.entities.DatasetDataRepository datasetDataRepository : datasetDataRepositories) {
DataRepositoryCriteria criteria = new DataRepositoryCriteria(); DataRepositoryCriteria criteria = new DataRepositoryCriteria();
criteria.setLike(datasetDataRepository.getDataRepository().getReference()); criteria.setLike(datasetDataRepository.getDataRepository().getReference());
List<eu.eudat.data.entities.DataRepository> entries = dataRepositoryDao.getWithCriteria(criteria).toList(); List<eu.eudat.data.entities.DataRepository> entries = dataRepositoryDao.getWithCriteria(criteria).toList();
@ -415,10 +412,8 @@ public class DatasetManager {
datasetDataRepository.setDataset(dataset); datasetDataRepository.setDataset(dataset);
dataset.getDatasetDataRepositories().add(datasetDataRepository); dataset.getDatasetDataRepositories().add(datasetDataRepository);
} else { } else {
//datasetDataRepository.getDataRepository().setId(UUID.randomUUID()); dataRepositoryDao.createOrUpdate(datasetDataRepository.getDataRepository());
DataRepository dataRepository = dataRepositoryDao.createOrUpdate(datasetDataRepository.getDataRepository()); datasetDataRepository.setDataset(dataset);
datasetDataRepository.setDataRepository(dataRepository);
dataset.getDatasetDataRepositories().add(datasetDataRepository);
} }
} }
} }