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) {
Set<DatasetDataRepository> 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<eu.eudat.data.entities.DataRepository> 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);
}
}
}