From 66358acfcfbd4e568936eee86364857f4f16ff29 Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Thu, 19 Nov 2020 18:39:25 +0200 Subject: [PATCH] Replace the openDMP Affiliation on Zenodo with either a configurable affiliation or the related organizations of the DMP --- .../managers/DataManagementPlanManager.java | 30 +++++++++++++++++-- .../resources/config/application.properties | 5 +++- 2 files changed, 32 insertions(+), 3 deletions(-) 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 d1e012b12..baf121b21 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 @@ -1823,7 +1823,20 @@ public class DataManagementPlanManager { dataBuilder.append("{\n"); dataBuilder.append(" \t\t\"name\": \"").append(userDMP.getUser().getName()).append("\",\n"); dataBuilder.append(" \t\t\"type\": \"").append("ProjectMember").append("\",\n"); - dataBuilder.append(" \t\t\"affiliation\": \"OpenDMP\"\n}"); + if (dmp.getOrganisations() != null && !dmp.getOrganisations().isEmpty()) { + dataBuilder.append(" \t\t\"affiliation\": \""); + int j = 0; + for (Organisation organization: dmp.getOrganisations()) { + if (j > 0) { + dataBuilder.append(", "); + } + dataBuilder.append(organization.getLabel()); + j++; + } + dataBuilder.append("\"\n}"); + } else { + dataBuilder.append(" \t\t\"affiliation\": \"" + this.environment.getProperty("zenodo.affiliation") +"\"\n}"); + } i++; } for(Researcher researcher: dmp.getResearchers()) { @@ -1853,7 +1866,20 @@ public class DataManagementPlanManager { } dataBuilder.append(" \"creators\": [{\n"); dataBuilder.append(" \t\t\"name\": \"").append(dmp.getUsers().stream().filter(userDMP -> userDMP.getRole().equals(UserDMP.UserDMPRoles.OWNER.getValue())).findFirst().get().getUser().getName()).append("\",\n"); - dataBuilder.append(" \t\t\"affiliation\": \"OpenDMP\"}]\n"); + if (dmp.getOrganisations() != null && !dmp.getOrganisations().isEmpty()) { + dataBuilder.append(" \t\t\"affiliation\": \""); + int j = 0; + for (Organisation organization: dmp.getOrganisations()) { + if (j > 0) { + dataBuilder.append(", "); + } + dataBuilder.append(organization.getLabel()); + j++; + } + dataBuilder.append("\"}]\n"); + } else { + dataBuilder.append(" \t\t\"affiliation\": \"" + this.environment.getProperty("zenodo.affiliation") +"\"}]\n"); + } dataBuilder.append(" }\n").append("}"); createData = dataBuilder.toString(); JsonNode createDataJSON = new ObjectMapper().readTree(createData); diff --git a/dmp-backend/web/src/main/resources/config/application.properties b/dmp-backend/web/src/main/resources/config/application.properties index 632e533d8..7fc1fa62f 100644 --- a/dmp-backend/web/src/main/resources/config/application.properties +++ b/dmp-backend/web/src/main/resources/config/application.properties @@ -89,4 +89,7 @@ notification.modifiedFinalised.subject=[OpenDMP] The {name} has been modified an logging.config=classpath:logging/logback-${spring.profiles.active}.xml #############TEMP######### -temp.temp=tmp/ \ No newline at end of file +temp.temp=tmp/ + +#############ZENODO######### +zenodo.affiliation=ARGOS \ No newline at end of file