diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java index 044230061..a0d346020 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java @@ -115,6 +115,8 @@ public class UserManager { apiContext.getOperationsContext().getDatabaseRepository().detachEntity(userInfo); HashMap result = new ObjectMapper().readValue(userInfo.getAdditionalinfo(), HashMap.class); + userInfo.setName(settings.entrySet().stream().filter(entry -> entry.getKey().equals("name")).filter(Objects::nonNull).map(entry -> entry.getValue().toString()).findFirst().orElse(userInfo.getName())); + settings.remove("name"); result.putAll(settings); userInfo.setAdditionalinfo(new JSONObject(result).toString()); apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao() diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Organisation.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Organisation.java index c3092bb1f..7fbc5b25a 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Organisation.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/Organisation.java @@ -4,6 +4,7 @@ import eu.eudat.models.DataModel; import eu.eudat.logic.utilities.helpers.LabelGenerator; import java.util.Date; +import java.util.HashMap; import java.util.UUID; public class Organisation implements DataModel, LabelGenerator { @@ -95,6 +96,18 @@ public class Organisation implements DataModel map) { + Organisation model = new Organisation(); + model.id = (String) map.get("id"); + model.key = (String) map.get("key"); + model.label = (String) map.get("label"); + model.name = (String) map.get("name"); + model.reference = (String) map.get("reference"); + model.status = (int) map.get("status"); + model.tag = (String) map.get("tag"); + return model; + } @Override public String generateLabel() { diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserProfile.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserProfile.java index 05411a72f..28bea2de8 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserProfile.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/userinfo/UserProfile.java @@ -6,6 +6,7 @@ import eu.eudat.data.entities.*; import eu.eudat.data.entities.UserInfo; import eu.eudat.models.DataModel; import eu.eudat.models.data.dmp.DataManagementPlan; +import eu.eudat.models.data.dmp.Organisation; import net.minidev.json.parser.JSONParser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,6 +33,8 @@ public class UserProfile implements DataModel culture; private String avatarUrl; + private Organisation organization; + private String roleOrganization; public UUID getId() { return id; @@ -128,8 +131,26 @@ public class UserProfile implements DataModel) additionalInfo.get("organization")); + this.roleOrganization = (String) additionalInfo.get("roleOrganization"); } catch (IOException e) { logger.error(e.getMessage(), e); }