From dfe711f4194978b889ef1a4be426e9c7b3f9ef86 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Mon, 21 Jun 2021 15:24:22 +0200 Subject: [PATCH] Author will be in the form #21479 --- .../gcat/persistence/ckan/CKANPackage.java | 5 +-- .../gcube/gcat/persistence/ckan/CKANUser.java | 2 +- .../org/gcube/gcat/social/PortalUser.java | 33 +++++++++++++++---- .../org/gcube/gcat/social/SocialPost.java | 3 +- 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java b/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java index d1fe546..a952126 100644 --- a/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java +++ b/src/main/java/org/gcube/gcat/persistence/ckan/CKANPackage.java @@ -254,12 +254,13 @@ public class CKANPackage extends CKAN { objectNode.remove(CAPACITY_KEY); } - String authorName = ckanUser.getPortalUser().getFullName(); + PortalUser portalUser = ckanUser.getPortalUser(); + String authorName = String.format("%s %s", portalUser.getSurname(), portalUser.getName()); if(authorName==null || authorName.compareTo("")==0) { authorName = ckanUser.getName(); } objectNode.put(AUTHOR_KEY, authorName); - String authorEmail = ckanUser.getPortalUser().getEMail(); + String authorEmail = portalUser.getEMail(); objectNode.put(AUTHOR_EMAIL_KEY, authorEmail); diff --git a/src/main/java/org/gcube/gcat/persistence/ckan/CKANUser.java b/src/main/java/org/gcube/gcat/persistence/ckan/CKANUser.java index 58c5cdb..ed5edda 100644 --- a/src/main/java/org/gcube/gcat/persistence/ckan/CKANUser.java +++ b/src/main/java/org/gcube/gcat/persistence/ckan/CKANUser.java @@ -100,7 +100,7 @@ public class CKANUser extends CKAN { * @return true if the display name and the full name has been updated in objectNode */ private boolean checkAndSetFullName(ObjectNode objectNode) { - String portalFullname = getPortalUser().getFullName(); + String portalFullname = getPortalUser().getSurnameName(); String ckanFullname = ""; if(objectNode.has(FULL_NAME)) { diff --git a/src/main/java/org/gcube/gcat/social/PortalUser.java b/src/main/java/org/gcube/gcat/social/PortalUser.java index 898f1fe..8618109 100644 --- a/src/main/java/org/gcube/gcat/social/PortalUser.java +++ b/src/main/java/org/gcube/gcat/social/PortalUser.java @@ -30,7 +30,11 @@ public class PortalUser { protected static final String SOCIAL_SERVICE_GET_OAUTH_USER_PROFILE_PATH = "2/users/get-oauth-profile"; // This key contains the fullname - protected static final String OAUTH_USER_PROFILE_NAME_KEY = "name"; + //protected static final String OAUTH_USER_PROFILE_FULLNAME_KEY = "name"; + + protected static final String OAUTH_USER_PROFILE_NAME_KEY = "given_name"; + protected static final String OAUTH_USER_PROFILE_SURNAME_KEY = "family_name"; + protected static final String OAUTH_USER_PROFILE_EMAIL_KEY = "email"; protected static final String OAUTH_USER_PROFILE_JOB_TITLE_KEY = "job_title"; protected static final String OAUTH_USER_PROFILE_ROLES_KEY = "roles"; @@ -40,7 +44,9 @@ public class PortalUser { // private JsonNode gCubeUserProfile; protected JsonNode oAuthUserProfile; - protected String fullName; + protected String name; + protected String surname; + protected String eMail; protected String jobTitle; @@ -95,11 +101,26 @@ public class PortalUser { return oAuthUserProfile; } - public String getFullName() { - if(fullName == null) { - fullName = getOAuthUserProfile().get(OAUTH_USER_PROFILE_NAME_KEY).asText(); + public String getSurnameName() { + return String.format("%s %s", getSurname(), getName()); + } + + public String getNameSurname() { + return String.format("%s %s", getName(), getSurname()); + } + + public String getName() { + if(name == null) { + name = getOAuthUserProfile().get(OAUTH_USER_PROFILE_NAME_KEY).asText(); } - return fullName; + return name; + } + + public String getSurname() { + if(surname == null) { + surname = getOAuthUserProfile().get(OAUTH_USER_PROFILE_SURNAME_KEY).asText(); + } + return surname; } public String getEMail() { diff --git a/src/main/java/org/gcube/gcat/social/SocialPost.java b/src/main/java/org/gcube/gcat/social/SocialPost.java index bd45f57..599d018 100644 --- a/src/main/java/org/gcube/gcat/social/SocialPost.java +++ b/src/main/java/org/gcube/gcat/social/SocialPost.java @@ -128,7 +128,8 @@ public class SocialPost extends Thread { public void sendSocialPost(boolean notifyUsers) { try { - String fullName = CKANUserCache.getCurrrentCKANUser().getPortalUser().getFullName(); + PortalUser portalUser = CKANUserCache.getCurrrentCKANUser().getPortalUser(); + String fullName = portalUser.getNameSurname(); String basePath = SocialService.getSocialService().getServiceBasePath(); if(basePath == null) {