|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.kuali.rice.kim.impl.permission.PermissionServiceImpl
public class PermissionServiceImpl
Constructor Summary | |
---|---|
PermissionServiceImpl()
|
Method Summary | |
---|---|
Permission |
createPermission(Permission permission)
This will create a Permission exactly like the permission passed in. |
Permission |
findPermByNamespaceCodeAndName(String namespaceCode,
String permissionName)
Gets a Permission with the unique combination of namespace and name. |
PermissionQueryResults |
findPermissions(QueryByCriteria queryByCriteria)
This method find Permissions based on a query criteria. |
List<Permission> |
findPermissionsByTemplate(String namespaceCode,
String permissionTemplateName)
Return the permissions for the given unique combination of namespace, component and permission template name. |
TemplateQueryResults |
findPermissionTemplates(QueryByCriteria queryByCriteria)
This method find Permission Templates based on a query criteria. |
Template |
findPermTemplateByNamespaceCodeAndName(String namespaceCode,
String permissionTemplateName)
Finds a Template for namespaceCode and name. |
List<Template> |
getAllTemplates()
Finds a Template for namespaceCode and name. |
List<Permission> |
getAuthorizedPermissions(String principalId,
String namespaceCode,
String permissionName,
Map<String,String> qualification)
Returns permissions (with their details) that are granted to the principal given the passed qualification. |
List<Permission> |
getAuthorizedPermissionsByTemplate(String principalId,
String namespaceCode,
String permissionTemplateName,
Map<String,String> permissionDetails,
Map<String,String> qualification)
Returns permissions (with their details) that are granted to the principal given the passed qualification. |
protected List<Permission> |
getMatchingPermissions(List<PermissionBo> permissions,
Map<String,String> permissionDetails)
Compare each of the passed in permissions with the given permissionDetails. |
Permission |
getPermission(String permissionId)
Gets a Permission from an id. |
List<Assignee> |
getPermissionAssignees(String namespaceCode,
String permissionName,
Map<String,String> qualification)
Get the list of principals/groups who have a given permission. |
List<Assignee> |
getPermissionAssigneesByTemplate(String namespaceCode,
String permissionTemplateName,
Map<String,String> permissionDetails,
Map<String,String> qualification)
Get the list of principals/groups who have a given permission that match the given permission template and permission details. |
protected PermissionBo |
getPermissionBoByName(String namespaceCode,
String permissionName)
|
protected PermissionBo |
getPermissionImpl(String permissionId)
|
protected List<PermissionBo> |
getPermissionImplsByName(String namespaceCode,
String permissionName)
|
protected List<PermissionBo> |
getPermissionImplsByTemplateName(String namespaceCode,
String permissionTemplateName)
|
protected List<Permission> |
getPermissionsForUser(String principalId,
List<Permission> permissions,
Map<String,String> qualification)
Checks the list of permissions against the principal's roles and returns a subset of the list which match. |
Template |
getPermissionTemplate(String permissionTemplateId)
Gets a Template from an id. |
protected PermissionTypeService |
getPermissionTypeService(PermissionTemplateBo permissionTemplate)
|
protected Map<String,PermissionTypeService> |
getPermissionTypeServicesByTemplateId(Collection<PermissionBo> permissions)
|
List<String> |
getRoleIdsForPermission(String namespaceCode,
String permissionName)
Get the role IDs for the given permission. |
protected List<String> |
getRoleIdsForPermissionTemplate(String namespaceCode,
String permissionTemplateName,
Map<String,String> permissionDetails)
|
protected Map<String,List<Permission>> |
groupPermissionsByTemplate(Collection<PermissionBo> permissions)
|
boolean |
hasPermission(String principalId,
String namespaceCode,
String permissionName)
Checks in a given principal id has a permission using the passed in permission information. |
boolean |
hasPermissionByTemplate(String principalId,
String namespaceCode,
String permissionTemplateName,
Map<String,String> permissionDetails)
Checks whether the principal has been granted a permission matching the given details without taking role qualifiers into account. |
boolean |
isAuthorized(String principalId,
String namespaceCode,
String permissionName,
Map<String,String> qualification)
Checks whether the given qualified permission is granted to the principal given the passed roleQualification. |
boolean |
isAuthorizedByTemplate(String principalId,
String namespaceCode,
String permissionTemplateName,
Map<String,String> permissionDetails,
Map<String,String> qualification)
Checks whether the given qualified permission is granted to the principal given the passed roleQualification. |
boolean |
isPermissionDefined(String namespaceCode,
String permissionName)
Returns true if the given permission is defined on any Roles. |
boolean |
isPermissionDefinedByTemplate(String namespaceCode,
String permissionTemplateName,
Map<String,String> permissionDetails)
Returns true if the given permission template is defined on any Roles. |
protected void |
logAuthorizationCheck(String checkType,
String principalId,
String namespaceCode,
String permissionName,
Map<String,String> qualification)
|
protected void |
logAuthorizationCheckByTemplate(String checkType,
String principalId,
String namespaceCode,
String permissionName,
Map<String,String> permissionDetails,
Map<String,String> qualification)
|
void |
setBusinessObjectService(BusinessObjectService businessObjectService)
Sets the businessObjectService attribute value. |
void |
setCriteriaLookupService(CriteriaLookupService criteriaLookupService)
Sets the criteriaLookupService attribute value. |
void |
setDefaultPermissionTypeService(PermissionTypeService defaultPermissionTypeService)
Sets the defaultPermissionTypeService attribute value. |
void |
setKimTypeInfoService(KimTypeInfoService kimTypeInfoService)
Sets the kimTypeInfoService attribute value. |
void |
setRoleService(RoleService roleService)
Sets the roleService attribute value. |
Permission |
updatePermission(Permission permission)
This will update a Permission . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PermissionServiceImpl()
Method Detail |
---|
protected PermissionTypeService getPermissionTypeService(PermissionTemplateBo permissionTemplate)
public boolean hasPermission(String principalId, String namespaceCode, String permissionName) throws RiceIllegalArgumentException
PermissionService
hasPermission
in interface PermissionService
principalId
- the principal id to check. cannot be null or blank.namespaceCode
- the namespace code. cannot be null or blank.permissionName
- the permission name. cannot be null or blank.
RiceIllegalArgumentException
public boolean isAuthorized(String principalId, String namespaceCode, String permissionName, Map<String,String> qualification) throws RiceIllegalArgumentException
PermissionService
PermissionService.hasPermission(String, String, String)
.
Each role assigned to the principal is checked for qualifications. If a qualifier
exists on the principal's membership in that role, that is checked first through
the role's type service. Once it is determined that the principal has the role
in the given context (qualification), the permissions are examined.
isAuthorized
in interface PermissionService
principalId
- the principal id to check. cannot be null or blank.namespaceCode
- the namespace code. cannot be null or blank.permissionName
- the permission name. cannot be null or blank.qualification
- the qualifications to test against.
RiceIllegalArgumentException
public boolean hasPermissionByTemplate(String principalId, String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails) throws RiceIllegalArgumentException
PermissionService
hasPermissionByTemplate
in interface PermissionService
principalId
- the principal id to check. cannot be null or blank.namespaceCode
- the namespace code. cannot be null or blank.permissionTemplateName
- the permission name. cannot be null or blank.permissionDetails
- the permission details
RiceIllegalArgumentException
public boolean isAuthorizedByTemplate(String principalId, String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails, Map<String,String> qualification) throws RiceIllegalArgumentException
PermissionService
PermissionService.hasPermission(String, String, String)
.
Each role assigned to the principal is checked for qualifications. If a qualifier
exists on the principal's membership in that role, that is checked first through
the role's type service. Once it is determined that the principal has the role
in the given context (qualification), the permissions are examined.
Each permission is checked against the permissionDetails. The PermissionTypeService
is called for each permission with the given permissionName to see if the
permissionDetails matches its details.
isAuthorizedByTemplate
in interface PermissionService
principalId
- the principal id to check. cannot be null or blank.namespaceCode
- the namespace code. cannot be null or blank.permissionTemplateName
- the permission name. cannot be null or blank.permissionDetails
- the permission detailsqualification
- the permission qualifications
RiceIllegalArgumentException
public List<Permission> getAuthorizedPermissions(String principalId, String namespaceCode, String permissionName, Map<String,String> qualification) throws RiceIllegalArgumentException
PermissionService
getAuthorizedPermissions
in interface PermissionService
principalId
- the principal Id. cannot be null or blank.namespaceCode
- the namespace code. cannot be null or blank.permissionName
- the permission name. cannot be null or blank.qualification
- the permission qualifications
RiceIllegalArgumentException
public List<Permission> getAuthorizedPermissionsByTemplate(String principalId, String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails, Map<String,String> qualification) throws RiceIllegalArgumentException
PermissionService
getAuthorizedPermissionsByTemplate
in interface PermissionService
principalId
- the principal Id. cannot be null or blank.namespaceCode
- the namespace code. cannot be null or blank.permissionTemplateName
- the permission name. cannot be null or blank.permissionDetails
- the permission template details.qualification
- the permission qualifications
RiceIllegalArgumentException
protected List<Permission> getPermissionsForUser(String principalId, List<Permission> permissions, Map<String,String> qualification)
protected Map<String,PermissionTypeService> getPermissionTypeServicesByTemplateId(Collection<PermissionBo> permissions)
protected Map<String,List<Permission>> groupPermissionsByTemplate(Collection<PermissionBo> permissions)
protected List<Permission> getMatchingPermissions(List<PermissionBo> permissions, Map<String,String> permissionDetails)
public List<Assignee> getPermissionAssignees(String namespaceCode, String permissionName, Map<String,String> qualification) throws RiceIllegalArgumentException
PermissionService
getPermissionAssignees
in interface PermissionService
namespaceCode
- the namespace code. cannot be null or blank.permissionName
- the permission name. cannot be null or blank.qualification
- the permission qualifications
RiceIllegalArgumentException
public List<Assignee> getPermissionAssigneesByTemplate(String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails, Map<String,String> qualification) throws RiceIllegalArgumentException
PermissionService
getPermissionAssigneesByTemplate
in interface PermissionService
namespaceCode
- the namespace code. cannot be null or blank.permissionTemplateName
- the permission name. cannot be null or blank.permissionDetails
- the permission details.qualification
- the permission qualifications
RiceIllegalArgumentException
public boolean isPermissionDefined(String namespaceCode, String permissionName) throws RiceIllegalArgumentException
PermissionService
isPermissionDefined
in interface PermissionService
namespaceCode
- the namespace code. cannot be null or blank.permissionName
- the permission name. cannot be null or blank.
RiceIllegalArgumentException
public boolean isPermissionDefinedByTemplate(String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails) throws RiceIllegalArgumentException
PermissionService
isPermissionDefinedByTemplate
in interface PermissionService
namespaceCode
- the namespace code. cannot be null or blank.permissionTemplateName
- the permission name. cannot be null or blank.permissionDetails
- the permission template details
RiceIllegalArgumentException
public List<String> getRoleIdsForPermission(String namespaceCode, String permissionName) throws RiceIllegalArgumentException
PermissionService
getRoleIdsForPermission
in interface PermissionService
namespaceCode
- the permission namespace code. cannot be null or blank.permissionName
- the permission name. cannot be null or blank.
RiceIllegalArgumentException
protected List<String> getRoleIdsForPermissionTemplate(String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails)
public Permission getPermission(String permissionId) throws RiceIllegalArgumentException
PermissionService
Permission
from an id.
This method will return null if the permission does not exist.
getPermission
in interface PermissionService
permissionId
- the unique id to retrieve the permission by. cannot be null or blank.
Permission
or null
RiceIllegalArgumentException
public List<Permission> findPermissionsByTemplate(String namespaceCode, String permissionTemplateName) throws RiceIllegalArgumentException
PermissionService
findPermissionsByTemplate
in interface PermissionService
namespaceCode
- namespace code for permission. cannot be null or blank.permissionTemplateName
- name of permission template. cannot be null or blank.
Permission
or null
RiceIllegalArgumentException
protected PermissionBo getPermissionImpl(String permissionId) throws RiceIllegalArgumentException
RiceIllegalArgumentException
protected List<PermissionBo> getPermissionImplsByTemplateName(String namespaceCode, String permissionTemplateName)
protected List<PermissionBo> getPermissionImplsByName(String namespaceCode, String permissionName)
public Template getPermissionTemplate(String permissionTemplateId) throws RiceIllegalArgumentException
PermissionService
Template
from an id.
This method will return null if the template does not exist.
getPermissionTemplate
in interface PermissionService
permissionTemplateId
- the unique id to retrieve the template by. cannot be null or blank.
Template
or null
RiceIllegalArgumentException
public Template findPermTemplateByNamespaceCodeAndName(String namespaceCode, String permissionTemplateName) throws RiceIllegalArgumentException
PermissionService
Template
for namespaceCode and name.
findPermTemplateByNamespaceCodeAndName
in interface PermissionService
namespaceCode
- the namespace code. cannot be null or blank.permissionTemplateName
- the template name. cannot be null or blank.
Template
or null
RiceIllegalArgumentException
public List<Template> getAllTemplates()
PermissionService
Template
for namespaceCode and name.
getAllTemplates
in interface PermissionService
Template
or an empty list if none foundpublic Permission createPermission(Permission permission) throws RiceIllegalArgumentException, RiceIllegalStateException
PermissionService
Permission
exactly like the permission passed in.
createPermission
in interface PermissionService
permission
- the permission to create
RiceIllegalArgumentException
RiceIllegalStateException
public Permission updatePermission(Permission permission) throws RiceIllegalArgumentException, RiceIllegalStateException
PermissionService
Permission
.
updatePermission
in interface PermissionService
permission
- the permission to update
RiceIllegalArgumentException
RiceIllegalStateException
public Permission findPermByNamespaceCodeAndName(String namespaceCode, String permissionName) throws RiceIllegalArgumentException
PermissionService
Permission
with the unique combination of namespace and name.
This method will return null if the permission does not exist.
findPermByNamespaceCodeAndName
in interface PermissionService
namespaceCode
- namespace code for permission. cannot be null or blank.permissionName
- name of permission. cannot be null or blank.
Permission
or null
RiceIllegalArgumentException
protected PermissionBo getPermissionBoByName(String namespaceCode, String permissionName)
public PermissionQueryResults findPermissions(QueryByCriteria queryByCriteria) throws RiceIllegalArgumentException
PermissionService
findPermissions
in interface PermissionService
queryByCriteria
- the criteria. Cannot be null.
RiceIllegalArgumentException
public TemplateQueryResults findPermissionTemplates(QueryByCriteria queryByCriteria) throws RiceIllegalArgumentException
PermissionService
findPermissionTemplates
in interface PermissionService
queryByCriteria
- the criteria. Cannot be null.
RiceIllegalArgumentException
public void setKimTypeInfoService(KimTypeInfoService kimTypeInfoService)
kimTypeInfoService
- The kimTypeInfoService to set.public void setDefaultPermissionTypeService(PermissionTypeService defaultPermissionTypeService)
defaultPermissionTypeService
- The defaultPermissionTypeService to set.public void setRoleService(RoleService roleService)
roleService
- The roleService to set.public void setBusinessObjectService(BusinessObjectService businessObjectService)
businessObjectService
- The businessObjectService to set.public void setCriteriaLookupService(CriteriaLookupService criteriaLookupService)
criteriaLookupService
- The criteriaLookupService to set.protected void logAuthorizationCheck(String checkType, String principalId, String namespaceCode, String permissionName, Map<String,String> qualification)
protected void logAuthorizationCheckByTemplate(String checkType, String principalId, String namespaceCode, String permissionName, Map<String,String> permissionDetails, Map<String,String> qualification)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |