From 0ae9bd353b29e53c816417dc71ec2460d3906819 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Tue, 22 Mar 2016 14:30:24 +0000 Subject: [PATCH] added RemoceAllRolesFromuser method git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/vo-management/usermanagement-core@126046 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../usermanagement/RoleManager.java | 13 ++++++++++++- .../impl/LiferayRoleManager.java | 18 +++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gcube/vomanagement/usermanagement/RoleManager.java b/src/main/java/org/gcube/vomanagement/usermanagement/RoleManager.java index ed9d520..82b4c6a 100644 --- a/src/main/java/org/gcube/vomanagement/usermanagement/RoleManager.java +++ b/src/main/java/org/gcube/vomanagement/usermanagement/RoleManager.java @@ -74,6 +74,17 @@ public interface RoleManager { * @throws RoleRetrievalFault */ boolean removeRoleFromUser(long userId, long groupId, long roleId) throws UserManagementSystemException, UserRetrievalFault, GroupRetrievalFault,RoleRetrievalFault; + /** + * + * @param userId + * @param groupIds + * @return + * @throws UserManagementSystemException + * @throws UserRetrievalFault + * @throws GroupRetrievalFault + */ + boolean removeAllRolesFromUser(long userId, long... groupIds) throws UserManagementSystemException, UserRetrievalFault, GroupRetrievalFault; + /** * * @param roleId @@ -133,5 +144,5 @@ public interface RoleManager { * @throws UserRetrievalFault */ List listRolesByUserAndGroup(long userId, long groupId) throws GroupRetrievalFault,UserRetrievalFault; - + } 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 ebd283d..68fcfa5 100644 --- a/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayRoleManager.java +++ b/src/main/java/org/gcube/vomanagement/usermanagement/impl/LiferayRoleManager.java @@ -232,7 +232,7 @@ public class LiferayRoleManager implements RoleManager { * {@inheritDoc} */ @Override - public boolean removeRoleFromUser(long userId, long groupId, long roleId) throws UserManagementSystemException, UserRetrievalFault, GroupRetrievalFault, RoleRetrievalFault { + public boolean removeRoleFromUser(long userId, long groupId, long roleId) throws UserManagementSystemException, UserRetrievalFault, GroupRetrievalFault, RoleRetrievalFault { try { _log.debug("Trying to remove role to " + UserLocalServiceUtil.getUser(userId).getFullName() +" in group " + groupId); long[] roleIds = {roleId}; @@ -249,6 +249,22 @@ public class LiferayRoleManager implements RoleManager { * {@inheritDoc} */ @Override + public boolean removeAllRolesFromUser(long userId, long... groupIds) throws UserManagementSystemException, UserRetrievalFault, GroupRetrievalFault { + try { + _log.debug("Trying to remove all roles to " + UserLocalServiceUtil.getUser(userId).getFullName() +" in groups " + groupIds); + UserGroupRoleLocalServiceUtil.deleteUserGroupRoles(userId, groupIds); + return true; + } catch (PortalException e) { + throw new UserRetrievalFault("User, not existing, or group/roleId could not be found", e); + } catch (SystemException e) { + e.printStackTrace(); + } + return false; + } + /** + * {@inheritDoc} + */ + @Override public List listAllRoles() { List toReturn = new ArrayList(); try {