From 0a4cad8292774684a0eca1aaeffac684a0e8b56a Mon Sep 17 00:00:00 2001 From: Diamantis Tziotzios Date: Tue, 12 May 2020 19:54:52 +0300 Subject: [PATCH] bug fix --- .../eudat/logic/managers/QuickWizardManager.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java index d75c07603..0f3dd9b45 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/QuickWizardManager.java @@ -4,6 +4,8 @@ import eu.eudat.data.dao.criteria.FunderCriteria; import eu.eudat.data.dao.criteria.GrantCriteria; import eu.eudat.data.dao.criteria.ProjectCriteria; import eu.eudat.data.entities.*; +import eu.eudat.elastic.entities.Dmp; +import eu.eudat.logic.mapper.elastic.DmpMapper; import eu.eudat.logic.services.ApiContext; import eu.eudat.logic.services.operations.DatabaseRepository; import eu.eudat.models.data.dmp.DataManagementPlan; @@ -20,11 +22,13 @@ public class QuickWizardManager { private ApiContext apiContext; private DatabaseRepository databaseRepository; + private DatasetManager datasetManager; @Autowired - public QuickWizardManager(ApiContext apiContext) { + public QuickWizardManager(ApiContext apiContext, DatasetManager datasetManager) { this.apiContext = apiContext; this.databaseRepository = apiContext.getOperationsContext().getDatabaseRepository(); + this.datasetManager = datasetManager; } public Funder createOrUpdate(eu.eudat.models.data.funder.Funder funder, Principal principal) { @@ -63,9 +67,18 @@ public class QuickWizardManager { DMP dmpret = apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().createOrUpdate(newDmp); if (dataManagementPlan.getAssociatedUsers().size() == 0) assignUser(newDmp, user, apiContext); + + this.updateIndex(dmpret); + return dmpret; } + private void updateIndex(DMP dmp) throws IOException { + DmpMapper mapper = new DmpMapper(apiContext, datasetManager); + Dmp elastic = mapper.toElastic(dmp); + apiContext.getOperationsContext().getElasticRepository().getDmpRepository().createOrUpdate(elastic); + } + private void assignUser(DMP dmp, UserInfo userInfo, ApiContext apiContext) { UserDMP userDMP = new UserDMP(); userDMP.setDmp(dmp);