Package org.openiam.srvc.am
Class RoleDataWebServiceImpl
- java.lang.Object
-
- org.openiam.srvc.AbstractApiService
-
- org.openiam.srvc.am.RoleDataWebServiceImpl
-
- All Implemented Interfaces:
RoleDataWebService
@Service("roleWS") public class RoleDataWebServiceImpl extends AbstractApiService implements RoleDataWebService
- Author:
- suneet
-
-
Field Summary
-
Fields inherited from class org.openiam.srvc.AbstractApiService
applicationContext, log, rabbitMQSender
-
-
Constructor Summary
Constructors Constructor Description RoleDataWebServiceImpl(RoleQueue queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Response
addChildRole(String roleId, String childRoleId, Set<String> rights, Date startDate, Date endDate)
Makes Role specified by childRoleId a child of Role specified by roleIdResponse
addGroupToRole(String roleId, String groupId, Set<String> rightIds, Date startDate, Date endDate)
This method adds particular roleId to a particular group.Response
canAddChildRole(String roleId, String childRoleId, Set<String> rights, Date startDate, Date endDate)
Response
canAddUserToRole(String userId, String roleId)
Checks if User specified by userId can be added to the Role specified by roleId as a memberResponse
canRemoveUserFromRole(String userId, String roleId)
Checks if User specified by userId can be removed from the Role specified by roleId as a memberint
countBeans(RoleSearchBean searchBean)
Returns total number of Roles based on parameters, which are specified in RoleSearchBean objectRoleListResponse
findBeans(RoleSearchBean searchBean, EntitlementsCollection[] dependants, int from, int size)
Return a paged List of Roles based on parameters, which are specified in RoleSearchBean objectvoid
forceSweepUserCountCache()
force refresh cache which holds count of users assigned to roles and max number limitList<String>
getAllRoleIds()
Gets all role IDsRoleListResponse
getDetachedForUser(String userId, String name, int from, int size)
method is used to detect all user's role that are not linked with any resources.Role
getRole(String roleId)
Returns a paged List of Role objects that are linked to a Group.List<RoleAttribute>
getRoleAttributes(String roleId)
RoleListResponse
getWithResources(String userId, RoleSearchBean searchBean, Set<String> resourceTypeIds, int from, int size)
method is used to get user's roles with entitled resources, filtered by #resourceTypeIds.boolean
hasChildEntities(String roleId)
Response
reindexRole(String id)
Response
removeChildRole(String roleId, String childRoleId)
Remove Role specified by childRoleId from the membership list of Group specified by roleIdResponse
removeGroupFromRole(String roleId, String groupId)
Removes the association between a single group and role.Response
removeRole(String roleId)
This method removes role from openIAM database for a particular roleID.Response
saveBulkRole(EntitlementBulkRequest entitlementBulkRequest)
Bulk operation on Role objects, this method with save roles in bulkResponse
saveRole(Role role)
This method creates a new role or update existed one.SaveTemplateProfileResponse
saveRoleRequest(RoleRequestModel model)
Role
suggestById(String id)
Find a resource in Elasticsearch.Response
validateDelete(String roleId)
Response
validateEdit(Role role)
Response
validateGroup2RoleAddition(String roleId, String groupId)
Response
validateRoleRequest(RoleRequestModel model)
-
Methods inherited from class org.openiam.srvc.AbstractApiService
broadcast, crudRequest, getBooleanValue, getIntValue, getIntValue, getRabbitMqQueue, getResponse, getResponse, getValue, getValue, getValueList, getValueList, idRequest, manageApiRequest, manageApiRequest, manageCrudApiRequest, manageCrudApiRequest, manageCrudApiRequest, manageCrudApiRequest, membershipRequestProcessing, membershipRequestProcessing, publish, publish, sendAsync, sendAsync
-
-
-
-
Constructor Detail
-
RoleDataWebServiceImpl
@Autowired public RoleDataWebServiceImpl(RoleQueue queue)
-
-
Method Detail
-
validateEdit
public Response validateEdit(Role role)
- Specified by:
validateEdit
in interfaceRoleDataWebService
-
validateDelete
public Response validateDelete(String roleId)
- Specified by:
validateDelete
in interfaceRoleDataWebService
-
getRoleAttributes
public List<RoleAttribute> getRoleAttributes(String roleId)
- Specified by:
getRoleAttributes
in interfaceRoleDataWebService
-
saveRole
public Response saveRole(Role role)
Description copied from interface:RoleDataWebService
This method creates a new role or update existed one. For example:- Specified by:
saveRole
in interfaceRoleDataWebService
- Parameters:
role
- - the Role object, which should be created or updated- Returns:
- - a Response Object. If operation succeed then Response object contains the primary key of saved role otherwise it contains error code.
-
removeRole
public Response removeRole(String roleId)
Description copied from interface:RoleDataWebService
This method removes role from openIAM database for a particular roleID.- Specified by:
removeRole
in interfaceRoleDataWebService
- Parameters:
roleId
- - The Role ID to be removed.- Returns:
- - a Response Object which contains operation status.
-
getRole
public Role getRole(String roleId)
Description copied from interface:RoleDataWebService
Returns a paged List of Role objects that are linked to a Group.- Specified by:
getRole
in interfaceRoleDataWebService
- Parameters:
roleId
- - the Group ID- Returns:
- a paged List of Role objects that are linked to a Group. if no roles are found returns null
-
suggestById
public Role suggestById(String id)
Description copied from interface:RoleDataWebService
Find a resource in Elasticsearch. Significantly faster than going to the database. Use this method when performance is important and/or data integrity is not 100% required, as the database and ES may be out of sync for a period of time- Specified by:
suggestById
in interfaceRoleDataWebService
- Parameters:
id
- the role id- Returns:
- resource
-
addGroupToRole
public Response addGroupToRole(String roleId, String groupId, Set<String> rightIds, Date startDate, Date endDate)
Description copied from interface:RoleDataWebService
This method adds particular roleId to a particular group.- Specified by:
addGroupToRole
in interfaceRoleDataWebService
- Parameters:
roleId
- The roleId which is to be added to the group.groupId
- The group for which the roleId is to be added .- Returns:
- a Response Object, containing the status of this operation.
-
validateGroup2RoleAddition
public Response validateGroup2RoleAddition(String roleId, String groupId)
- Specified by:
validateGroup2RoleAddition
in interfaceRoleDataWebService
-
removeGroupFromRole
public Response removeGroupFromRole(String roleId, String groupId)
Description copied from interface:RoleDataWebService
Removes the association between a single group and role.- Specified by:
removeGroupFromRole
in interfaceRoleDataWebService
- Parameters:
roleId
- The roleId which is to be deleted from the group.groupId
- The group from which the roleId is to be deleted- Returns:
- a Response Object, containing the status of this operation.
-
findBeans
public RoleListResponse findBeans(RoleSearchBean searchBean, EntitlementsCollection[] dependants, int from, int size)
Description copied from interface:RoleDataWebService
Return a paged List of Roles based on parameters, which are specified in RoleSearchBean object- Specified by:
findBeans
in interfaceRoleDataWebService
- Parameters:
searchBean
- - RoleSearchBean objectdependants
- - collection instead of deep copy flagfrom
- - where to start in the listsize
- - how many to return- Returns:
- List of Roles objects. Returns null if no roles are found.
-
countBeans
public int countBeans(RoleSearchBean searchBean)
Description copied from interface:RoleDataWebService
Returns total number of Roles based on parameters, which are specified in RoleSearchBean object- Specified by:
countBeans
in interfaceRoleDataWebService
- Parameters:
searchBean
- - RoleSearchBean object- Returns:
- - Integer, total number of roles based on parameters, which are specified in RoleSearchBean object
-
addChildRole
public Response addChildRole(String roleId, String childRoleId, Set<String> rights, Date startDate, Date endDate)
Description copied from interface:RoleDataWebService
Makes Role specified by childRoleId a child of Role specified by roleId- Specified by:
addChildRole
in interfaceRoleDataWebService
- Parameters:
roleId
- - the Role ID to which another group specified by childRoleId will be addedchildRoleId
- - - the Role ID which will be added to the group specified by roleId- Returns:
- a Response Object, containing the status of this operation.
-
canAddChildRole
public Response canAddChildRole(String roleId, String childRoleId, Set<String> rights, Date startDate, Date endDate)
- Specified by:
canAddChildRole
in interfaceRoleDataWebService
-
removeChildRole
public Response removeChildRole(String roleId, String childRoleId)
Description copied from interface:RoleDataWebService
Remove Role specified by childRoleId from the membership list of Group specified by roleId- Specified by:
removeChildRole
in interfaceRoleDataWebService
- Parameters:
roleId
- - the Role ID from which another group specified by childRoleId will be deletedchildRoleId
- - the Role ID which will be deleted from the group specified by roleId- Returns:
- a Response Object, containing the status of this operation.
-
canAddUserToRole
public Response canAddUserToRole(String userId, String roleId)
Description copied from interface:RoleDataWebService
Checks if User specified by userId can be added to the Role specified by roleId as a member- Specified by:
canAddUserToRole
in interfaceRoleDataWebService
- Parameters:
userId
- - the User IDroleId
- - the Role ID- Returns:
- a Response Object, containing the status of this operation. if status is SUCCESS then the User can be added to this Role
-
canRemoveUserFromRole
public Response canRemoveUserFromRole(String userId, String roleId)
Description copied from interface:RoleDataWebService
Checks if User specified by userId can be removed from the Role specified by roleId as a member- Specified by:
canRemoveUserFromRole
in interfaceRoleDataWebService
- Parameters:
userId
- - the User IDroleId
- - the Role ID- Returns:
- a Response Object, containing the status of this operation. if status is SUCCESS then the User can be removed from this Role
-
hasChildEntities
public boolean hasChildEntities(String roleId)
- Specified by:
hasChildEntities
in interfaceRoleDataWebService
-
reindexRole
public Response reindexRole(String id)
- Specified by:
reindexRole
in interfaceRoleDataWebService
- Parameters:
id
- - Role id for reindex- Returns:
-
saveRoleRequest
public SaveTemplateProfileResponse saveRoleRequest(RoleRequestModel model)
- Specified by:
saveRoleRequest
in interfaceRoleDataWebService
-
validateRoleRequest
public Response validateRoleRequest(RoleRequestModel model)
- Specified by:
validateRoleRequest
in interfaceRoleDataWebService
-
getAllRoleIds
public List<String> getAllRoleIds()
Description copied from interface:RoleDataWebService
Gets all role IDs- Specified by:
getAllRoleIds
in interfaceRoleDataWebService
- Returns:
-
getDetachedForUser
public RoleListResponse getDetachedForUser(String userId, String name, int from, int size)
Description copied from interface:RoleDataWebService
method is used to detect all user's role that are not linked with any resources.- Specified by:
getDetachedForUser
in interfaceRoleDataWebService
- Parameters:
userId
- - id of User to check detached rolesname
- - name for case INSENSITIVE CONTAINS match search.from
- - zero based very first result- Returns:
- -
RoleListResponse
-
getWithResources
public RoleListResponse getWithResources(String userId, RoleSearchBean searchBean, Set<String> resourceTypeIds, int from, int size)
Description copied from interface:RoleDataWebService
method is used to get user's roles with entitled resources, filtered by #resourceTypeIds. Resources are returned inRole#getResources()
container (only ids).- Specified by:
getWithResources
in interfaceRoleDataWebService
- Parameters:
userId
- - user idsearchBean
- - searchBean for objectsresourceTypeIds
- - types of resources to fetchfrom
- - zero based very first resultsize
- - total size of page.- Returns:
GroupListResponse
with requested objects
-
saveBulkRole
public Response saveBulkRole(EntitlementBulkRequest entitlementBulkRequest)
Description copied from interface:RoleDataWebService
Bulk operation on Role objects, this method with save roles in bulk- Specified by:
saveBulkRole
in interfaceRoleDataWebService
- Parameters:
entitlementBulkRequest
- - EntitlementBulkRequest object that will be saved.
-
forceSweepUserCountCache
public void forceSweepUserCountCache()
Description copied from interface:RoleDataWebService
force refresh cache which holds count of users assigned to roles and max number limit- Specified by:
forceSweepUserCountCache
in interfaceRoleDataWebService
-
-