Class PermissionServiceImpl

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

public class PermissionServiceImpl extends Object implements PermissionService
  • Field Details

    • roleService

      protected RoleService roleService
    • defaultPermissionTypeService

      protected PermissionTypeService defaultPermissionTypeService
    • kimTypeInfoService

      protected 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 PermissionTypeService getPermissionTypeService(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 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 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 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 PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getAuthorizedPermissions

      public List<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 PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getAuthorizedPermissionsByTemplate

      public List<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 PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPermissionsForUser

      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.
    • getPermissionTypeServicesByTemplateId

      protected Map<String,PermissionTypeService> getPermissionTypeServicesByTemplateId(Collection<Permission> permissions)
    • groupPermissionsByTemplate

      protected Map<String,List<Permission>> groupPermissionsByTemplate(Collection<Permission> permissions)
    • getMatchingPermissions

      protected List<Permission> getMatchingPermissions(List<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<Assignee> getPermissionAssignees(String namespaceCode, String permissionName, Map<String,String> qualification) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      getPermissionAssignees in interface PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPermissionAssigneesByTemplate

      public List<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 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 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 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 PermissionService
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getRoleIdsForPermissionTemplate

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

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

      public List<Permission> findPermissionsByTemplate(String namespaceCode, String permissionTemplateName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      findPermissionsByTemplate in interface 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<Permission> getPermissionsByTemplateName(String namespaceCode, String permissionTemplateName)
    • getPermissionsByName

      protected List<Permission> getPermissionsByName(String namespaceCode, String permissionName)
    • getPermissionTemplate

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

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

      public List<Template> getAllTemplates()
      Specified by:
      getAllTemplates in interface PermissionService
    • createPermission

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

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

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

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

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

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

      public void setKimTypeInfoService(KimTypeInfoService kimTypeInfoService)
      Sets the kimTypeInfoService attribute value.
      Parameters:
      kimTypeInfoService - The kimTypeInfoService to set.
    • setDefaultPermissionTypeService

      public void setDefaultPermissionTypeService(PermissionTypeService defaultPermissionTypeService)
      Sets the defaultPermissionTypeService attribute value.
      Parameters:
      defaultPermissionTypeService - The defaultPermissionTypeService to set.
    • setRoleService

      public void setRoleService(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)