From 92e88560e2e6e664c1b4d0f5d99eab51c5f5921c Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Thu, 28 Feb 2019 13:42:29 +0000 Subject: [PATCH] Feature #16190, avoid returning Liferay Site Roles in UserManagement Core Library git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vo-management/usermanagement-core@177343 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 2 +- .../usermanagement/impl/LiferayRoleManager.java | 7 ++++--- .../usermanagement/impl/LiferayUserManager.java | 4 +++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index aa009e9..01e3d0c 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.gcube.dvos usermanagement-core - 2.4.0-SNAPSHOT + 2.4.1-SNAPSHOT jar User Management API diff --git a/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayRoleManager.java b/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayRoleManager.java index 22a12f1..ddb0184 100644 --- a/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayRoleManager.java +++ b/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayRoleManager.java @@ -41,7 +41,7 @@ public class LiferayRoleManager implements RoleManager { */ private static final Log _log = LogFactoryUtil.getLog(LiferayRoleManager.class); private static final String ADMINISTRATOR = "Administrator"; - private static final int ROLE_TYPE = 2; // role type. 1=regular, 2=site, 3=organization + protected static final int ROLE_TYPE = 2; // role type. 1=regular, 2=site, 3=organization //simple role mapping protected static GCubeRole mapLRRole(Role r) throws PortalException, SystemException { @@ -327,8 +327,9 @@ public class LiferayRoleManager implements RoleManager { try { roles = RoleLocalServiceUtil.getRoles(ManagementUtils.getCompany().getCompanyId()); for (Role role : roles) { - if (role.getType()==ROLE_TYPE) + if (role.getType()==ROLE_TYPE && !role.getName().startsWith("Site")) { toReturn.add(mapLRRole(role)); + } } } catch (SystemException | PortalException e) { e.printStackTrace(); @@ -344,7 +345,7 @@ public class LiferayRoleManager implements RoleManager { try { List roles = UserGroupRoleLocalServiceUtil.getUserGroupRolesByGroup(groupId); for (UserGroupRole ugr : roles) { - if (ugr.getUserId()==userId) + if (ugr.getUserId()==userId && !ugr.getRole().getName().startsWith("Site")) toReturn.add(mapLRRole(ugr.getRole())); } } catch (SystemException e) { diff --git a/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java b/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java index 03a1c35..187a801 100644 --- a/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java +++ b/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayUserManager.java @@ -732,7 +732,9 @@ public class LiferayUserManager implements UserManager { List userRoles = RoleServiceUtil.getUserGroupRoles(userId, groupId); List toAdd = new ArrayList(); for (Role role : userRoles) { - toAdd.add(LiferayRoleManager.mapLRRole(role)); + if (! (role.getType() == LiferayRoleManager.ROLE_TYPE && role.getName().startsWith("Site"))) { + toAdd.add(LiferayRoleManager.mapLRRole(role)); + } } toReturn.put(mapLRUser(user), toAdd); }