From 0a82f368cd2302bd2aa46d8dad44de59afb16bf5 Mon Sep 17 00:00:00 2001 From: Ioannis Kalyvas Date: Fri, 19 Jan 2018 16:19:14 +0200 Subject: [PATCH] no message --- .../java/eu/eudat/managers/DatasetManager.java | 14 ++++++++++++++ .../models/datasetwizard/DatasetWizardModel.java | 1 + .../java/eu/eudat/proxy/config/ConfigLoader.java | 4 ++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java b/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java index 54b77bba4..e97578888 100644 --- a/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java +++ b/dmp-backend/src/main/java/eu/eudat/managers/DatasetManager.java @@ -4,6 +4,7 @@ import eu.eudat.dao.entities.*; import eu.eudat.entities.UserInfo; import eu.eudat.models.HintedModelFactory; import eu.eudat.models.criteria.DataRepositoryCriteria; +import eu.eudat.models.criteria.ExternalDatasetCriteria; import eu.eudat.models.criteria.RegistryCriteria; import eu.eudat.models.criteria.ServiceCriteria; import eu.eudat.models.dataset.Dataset; @@ -65,6 +66,7 @@ public class DatasetManager { createRegistriesIfTheyDontExist(apiContext.getDatabaseRepository().getRegistryDao(), dataset); createDataRepositoriesIfTheyDontExist(apiContext.getDatabaseRepository().getDataRepositoryDao(), dataset); createServicesIfTheyDontExist(apiContext.getDatabaseRepository().getServiceDao(), dataset); + createExternalDatasetsIfTheyDontExist(apiContext.getDatabaseRepository().getExternalDatasetDao(), dataset); return apiContext.getDatabaseRepository().getDatasetDao().createOrUpdate(dataset); } @@ -105,6 +107,18 @@ public class DatasetManager { } } + private static void createExternalDatasetsIfTheyDontExist(ExternalDatasetDao externalDatasetDao, eu.eudat.entities.Dataset dataset) { + if (dataset.getExternalDatasets() != null && !dataset.getExternalDatasets().isEmpty()) { + for (eu.eudat.entities.ExternalDataset externalDataset : dataset.getExternalDatasets()) { + ExternalDatasetCriteria criteria = new ExternalDatasetCriteria(); + criteria.setLike(externalDataset.getReference()); + List entries = externalDatasetDao.getWithCriteria(criteria).toList(); + if (entries != null && !entries.isEmpty()) externalDataset.setId(entries.get(0).getId()); + else externalDataset = externalDatasetDao.createOrUpdate(externalDataset); + } + } + } + public static void makePublic(DatasetDao datasetDao, UUID id) throws Exception { eu.eudat.entities.Dataset dataset = datasetDao.find(id); if (dataset.getStatus() != eu.eudat.entities.Dataset.Status.FINALISED.getValue()) diff --git a/dmp-backend/src/main/java/eu/eudat/models/datasetwizard/DatasetWizardModel.java b/dmp-backend/src/main/java/eu/eudat/models/datasetwizard/DatasetWizardModel.java index f9ab1bd41..8c03baf9d 100644 --- a/dmp-backend/src/main/java/eu/eudat/models/datasetwizard/DatasetWizardModel.java +++ b/dmp-backend/src/main/java/eu/eudat/models/datasetwizard/DatasetWizardModel.java @@ -168,6 +168,7 @@ public class DatasetWizardModel implements DataModel { this.reference = entity.getReference(); this.description = entity.getDescription(); this.profile = new DatasetProfileListingModel(); + this.uri = entity.getUri(); this.profile.fromDataModel(entity.getProfile()); this.registries = new DomainModelConverter().fromDataModel(entity.getRegistries().stream().collect(Collectors.toList()), Registry.class); this.dataRepositories = new DomainModelConverter().fromDataModel(entity.getDataRepositories().stream().collect(Collectors.toList()), DataRepository.class); diff --git a/dmp-backend/src/main/java/eu/eudat/proxy/config/ConfigLoader.java b/dmp-backend/src/main/java/eu/eudat/proxy/config/ConfigLoader.java index bd83db9ae..bc3040d86 100644 --- a/dmp-backend/src/main/java/eu/eudat/proxy/config/ConfigLoader.java +++ b/dmp-backend/src/main/java/eu/eudat/proxy/config/ConfigLoader.java @@ -34,8 +34,8 @@ public class ConfigLoader { JAXBContext jaxbContext = JAXBContext.newInstance(ExternalUrls.class); Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); - is = new URL("file:///"+System.getenv("CATALINA_HOME")+fileUrl).openStream(); - //is = new URL("file:///C:/Users/ikalyvas/Documents/Projects/OpenAIRE-EUDAT-DMP-service-pilot/dmp-backend/src/main/resources/ExternalUrls.xml").openStream(); + //is = new URL("file:///"+System.getenv("CATALINA_HOME")+fileUrl).openStream(); + is = new URL("file:///C:/Users/ikalyvas/Documents/Projects/OpenAIRE-EUDAT-DMP-service-pilot/dmp-backend/src/main/resources/ExternalUrls.xml").openStream(); externalUrls = (ExternalUrls) jaxbUnmarshaller.unmarshal(is); // System.out.println(new ObjectMapper().writeValueAsString(externalUrls)); } catch (Exception ex) {