Class PermissionServiceImpl

java.lang.Object
org.kuali.rice.kim.impl.permission.PermissionServiceImpl
All Implemented Interfaces:
org.kuali.rice.kim.api.permission.PermissionService

public class PermissionServiceImpl extends Object implements org.kuali.rice.kim.api.permission.PermissionService
  • Field Details

    • roleService

      protected org.kuali.rice.kim.api.role.RoleService roleService
    • defaultPermissionTypeService

      protected org.kuali.rice.kim.framework.permission.PermissionTypeService defaultPermissionTypeService
    • kimTypeInfoService

      protected org.kuali.rice.kim.api.type.KimTypeInfoService kimTypeInfoService
    • dataObjectService

      protected org.kuali.rice.krad.data.DataObjectService dataObjectService
    • cacheManager

      protected org.springframework.cache.CacheManager cacheManager
  • Constructor Details

    • PermissionServiceImpl

      public PermissionServiceImpl()
  • Method Details

    • getPermissionTypeService

      protected org.kuali.rice.kim.framework.permission.PermissionTypeService getPermissionTypeService(org.kuali.rice.kim.api.common.template.Template permissionTemplate)
    • hasPermission

      public boolean hasPermission(String principalId, String namespaceCode, String permissionName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      hasPermission in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • isAuthorized

      public boolean isAuthorized(String principalId, String namespaceCode, String permissionName, Map<String,String> qualification) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      isAuthorized in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • hasPermissionByTemplate

      public boolean hasPermissionByTemplate(String principalId, String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      hasPermissionByTemplate in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • isAuthorizedByTemplate

      public boolean isAuthorizedByTemplate(String principalId, String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails, Map<String,String> qualification) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      isAuthorizedByTemplate in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getAuthorizedPermissions

      public List<org.kuali.rice.kim.api.permission.Permission> getAuthorizedPermissions(String principalId, String namespaceCode, String permissionName, Map<String,String> qualification) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getAuthorizedPermissions in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getAuthorizedPermissionsByTemplate

      public List<org.kuali.rice.kim.api.permission.Permission> getAuthorizedPermissionsByTemplate(String principalId, String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails, Map<String,String> qualification) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getAuthorizedPermissionsByTemplate in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPermissionsForUser

      protected List<org.kuali.rice.kim.api.permission.Permission> getPermissionsForUser(String principalId, List<org.kuali.rice.kim.api.permission.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.
    • getPermissionTypeServicesByTemplateId

      protected Map<String,org.kuali.rice.kim.framework.permission.PermissionTypeService> getPermissionTypeServicesByTemplateId(Collection<org.kuali.rice.kim.api.permission.Permission> permissions)
    • groupPermissionsByTemplate

      protected Map<String,List<org.kuali.rice.kim.api.permission.Permission>> groupPermissionsByTemplate(Collection<org.kuali.rice.kim.api.permission.Permission> permissions)
    • getMatchingPermissions

      protected List<org.kuali.rice.kim.api.permission.Permission> getMatchingPermissions(List<org.kuali.rice.kim.api.permission.Permission> permissions, Map<String,String> permissionDetails)
      Compare each of the passed in permissions with the given permissionDetails. Those that match are added to the result list.
    • getPermissionAssignees

      public List<org.kuali.rice.kim.api.common.assignee.Assignee> getPermissionAssignees(String namespaceCode, String permissionName, Map<String,String> qualification) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getPermissionAssignees in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPermissionAssigneesByTemplate

      public List<org.kuali.rice.kim.api.common.assignee.Assignee> getPermissionAssigneesByTemplate(String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails, Map<String,String> qualification) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getPermissionAssigneesByTemplate in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • isPermissionDefined

      public boolean isPermissionDefined(String namespaceCode, String permissionName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      isPermissionDefined in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • isPermissionDefinedByTemplate

      public boolean isPermissionDefinedByTemplate(String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      isPermissionDefinedByTemplate in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getRoleIdsForPermission

      public List<String> getRoleIdsForPermission(String namespaceCode, String permissionName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getRoleIdsForPermission in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getRoleIdsForPermissionTemplate

      protected List<String> getRoleIdsForPermissionTemplate(String namespaceCode, String permissionTemplateName, Map<String,String> permissionDetails)
    • getPermission

      public org.kuali.rice.kim.api.permission.Permission getPermission(String permissionId) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getPermission in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • findPermissionsByTemplate

      public List<org.kuali.rice.kim.api.permission.Permission> findPermissionsByTemplate(String namespaceCode, String permissionTemplateName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      findPermissionsByTemplate in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPermissionImpl

      protected PermissionBo getPermissionImpl(String permissionId) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPermissionsByTemplateName

      protected List<org.kuali.rice.kim.api.permission.Permission> getPermissionsByTemplateName(String namespaceCode, String permissionTemplateName)
    • getPermissionsByName

      protected List<org.kuali.rice.kim.api.permission.Permission> getPermissionsByName(String namespaceCode, String permissionName)
    • getPermissionTemplate

      public org.kuali.rice.kim.api.common.template.Template getPermissionTemplate(String permissionTemplateId) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getPermissionTemplate in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • findPermTemplateByNamespaceCodeAndName

      public org.kuali.rice.kim.api.common.template.Template findPermTemplateByNamespaceCodeAndName(String namespaceCode, String permissionTemplateName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      findPermTemplateByNamespaceCodeAndName in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getAllTemplates

      public List<org.kuali.rice.kim.api.common.template.Template> getAllTemplates()
      Specified by:
      getAllTemplates in interface org.kuali.rice.kim.api.permission.PermissionService
    • createPermission

      public org.kuali.rice.kim.api.permission.Permission createPermission(org.kuali.rice.kim.api.permission.Permission permission) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException, org.kuali.rice.core.api.exception.RiceIllegalStateException
      Specified by:
      createPermission in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      org.kuali.rice.core.api.exception.RiceIllegalStateException
    • updatePermission

      public org.kuali.rice.kim.api.permission.Permission updatePermission(org.kuali.rice.kim.api.permission.Permission permission) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException, org.kuali.rice.core.api.exception.RiceIllegalStateException
      Specified by:
      updatePermission in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      org.kuali.rice.core.api.exception.RiceIllegalStateException
    • findPermByNamespaceCodeAndName

      public org.kuali.rice.kim.api.permission.Permission findPermByNamespaceCodeAndName(String namespaceCode, String permissionName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      findPermByNamespaceCodeAndName in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPermissionBoByName

      protected PermissionBo getPermissionBoByName(String namespaceCode, String permissionName)
    • findPermissions

      public org.kuali.rice.kim.api.permission.PermissionQueryResults findPermissions(org.kuali.rice.core.api.criteria.QueryByCriteria queryByCriteria) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      findPermissions in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • findPermissionTemplates

      public org.kuali.rice.kim.api.common.template.TemplateQueryResults findPermissionTemplates(org.kuali.rice.core.api.criteria.QueryByCriteria queryByCriteria) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      findPermissionTemplates in interface org.kuali.rice.kim.api.permission.PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • setKimTypeInfoService

      public void setKimTypeInfoService(org.kuali.rice.kim.api.type.KimTypeInfoService kimTypeInfoService)
      Sets the kimTypeInfoService attribute value.
      Parameters:
      kimTypeInfoService - The kimTypeInfoService to set.
    • setDefaultPermissionTypeService

      public void setDefaultPermissionTypeService(org.kuali.rice.kim.framework.permission.PermissionTypeService defaultPermissionTypeService)
      Sets the defaultPermissionTypeService attribute value.
      Parameters:
      defaultPermissionTypeService - The defaultPermissionTypeService to set.
    • setRoleService

      public void setRoleService(org.kuali.rice.kim.api.role.RoleService roleService)
      Sets the roleService attribute value.
      Parameters:
      roleService - The roleService to set.
    • setDataObjectService

      public void setDataObjectService(org.kuali.rice.krad.data.DataObjectService dataObjectService)
      Sets the dataObjectService attribute value.
      Parameters:
      dataObjectService - The dataObjectService to set.
    • setCacheManager

      public void setCacheManager(org.springframework.cache.CacheManager cacheManager)
      Sets the cache manager which this service implementation can for internal caching. Calling this setter is optional, though the value passed to it must not be null.
      Parameters:
      cacheManager - the cache manager to use for internal caching, must not be null
      Throws:
      IllegalArgumentException - if a null cache manager is passed
    • logAuthorizationCheck

      protected void logAuthorizationCheck(String checkType, String principalId, String namespaceCode, String permissionName, Map<String,String> qualification)
    • logAuthorizationCheckByTemplate

      protected void logAuthorizationCheckByTemplate(String checkType, String principalId, String namespaceCode, String permissionName, Map<String,String> permissionDetails, Map<String,String> qualification)