diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java index d244ee0a3..b9dcd6d62 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DataManagementPlanManager.java @@ -859,21 +859,24 @@ public class DataManagementPlanManager { eu.eudat.data.entities.Project projectEntity = projectDao.getWithCritetia(criteria).toList().stream().max(Comparator.comparing(project1 -> project1.getModified().getTime())).orElse(null); if (projectEntity != null) project.setId(projectEntity.getId()); else { - project.setType(Project.ProjectType.EXTERNAL.getValue()); - if (project.getId() == null) project.setId(UUID.randomUUID()); - projectDao.createOrUpdate(project); - metricsManager.increaseValue(MetricNames.PROJECT, 1, null); + createExternalProject(project, projectDao); } } else { - project.setType(Project.ProjectType.EXTERNAL.getValue()); - if (project.getId() == null) project.setId(UUID.randomUUID()); - projectDao.createOrUpdate(project); - metricsManager.increaseValue(MetricNames.PROJECT, 1, null); + createExternalProject(project, projectDao); } } } + private void createExternalProject(Project project, ProjectDao projectDao) { + if (project.getStartdate() == null) project.setStartdate(new Date()); + if (project.getEnddate() == null) project.setEnddate(new Date()); + project.setType(Project.ProjectType.EXTERNAL.getValue()); + if (project.getId() == null) project.setId(UUID.randomUUID()); + projectDao.createOrUpdate(project); + metricsManager.increaseValue(MetricNames.PROJECT, 1, null); + } + private void copyDatasets(DMP newDmp, DatasetDao datasetDao) { List> futures = new LinkedList<>(); for (Dataset dataset : newDmp.getDataset()) {