Class IdentityManagementPersonDocumentRule

All Implemented Interfaces:
AddGroupRule, AddPersonDelegationMemberRule, AddPersonDocumentRoleQualifierRule, AddRoleRule, AddAdHocRoutePersonRule, AddAdHocRouteWorkgroupRule, AddCollectionLineRule, AddNoteRule, ApproveDocumentRule, BusinessRule, CompleteDocumentRule, RouteDocumentRule, SaveDocumentRule, SendAdHocRequestsRule

  • Field Details

  • Constructor Details

    • IdentityManagementPersonDocumentRule

      public IdentityManagementPersonDocumentRule()
  • Method Details

    • processCustomSaveDocumentBusinessRules

      protected boolean processCustomSaveDocumentBusinessRules(Document document)
      Overrides:
      processCustomSaveDocumentBusinessRules in class DocumentRuleBase
    • validateEntityInformation

      protected boolean validateEntityInformation(boolean isCreatingNew, IdentityManagementPersonDocument personDoc)
    • validDuplicatePrincipalName

      protected boolean validDuplicatePrincipalName(IdentityManagementPersonDocument personDoc)
    • processCustomRouteDocumentBusinessRules

      protected boolean processCustomRouteDocumentBusinessRules(Document document)
      Overrides:
      processCustomRouteDocumentBusinessRules in class DocumentRuleBase
    • checkMultipleDefault

      protected boolean checkMultipleDefault(List<? extends PersonDocumentBoDefaultBase> boList, String listName)
    • checkPrimaryEmploymentInfo

      protected boolean checkPrimaryEmploymentInfo(List<PersonDocumentAffiliation> affiliations)
    • checkAffiliationTypeChange

      protected boolean checkAffiliationTypeChange(List<PersonDocumentAffiliation> affiliations)
    • validEmployeeIDForAffiliation

      protected boolean validEmployeeIDForAffiliation(List<PersonDocumentAffiliation> affiliations)
    • isPersonAnEmployee

      protected boolean isPersonAnEmployee(List<PersonDocumentAffiliation> affiliations)
    • checkUniqueAffiliationTypePerCampus

      protected boolean checkUniqueAffiliationTypePerCampus(List<PersonDocumentAffiliation> affiliations)
    • checkAffiliationEithOneEMpInfo

      protected boolean checkAffiliationEithOneEMpInfo(List<PersonDocumentAffiliation> affiliations)
    • validateAffiliationAndName

      protected boolean validateAffiliationAndName(IdentityManagementPersonDocument personDoc)
    • doesPrincipalNameExist

      protected boolean doesPrincipalNameExist(String principalName, String principalId)
    • doesPrincipalIdExist

      protected boolean doesPrincipalIdExist(String principalId)
    • validateRoleQualifier

      protected boolean validateRoleQualifier(List<PersonDocumentRole> roles)
    • validateUniquePersonRoleQualifiersUniqueForMembership

      protected boolean validateUniquePersonRoleQualifiersUniqueForMembership(PersonDocumentRole role, KimDocumentRoleMember membershipToCheck, int membershipToCheckIndex, Set<String> uniqueQualifierAttributes, int roleIndex, List<RemotableAttributeError> validationErrors)
      Checks all the qualifiers for the given membership, so that all qualifiers which should be unique are guaranteed to be unique
      Parameters:
      membershipToCheckIndex - the index of the person's membership in the role (for error reporting purposes)
      roleIndex - the index of the role on the document (for error reporting purposes)
      Returns:
      true if all unique values are indeed unique, false otherwise
    • sameMembershipQualifications

      protected boolean sameMembershipQualifications(KimDocumentRoleMember membershipA, KimDocumentRoleMember membershipB, Set<String> uniqueQualifierAttributes)
      Determines if two seperate memberships have the same qualifications
      Parameters:
      membershipA - the first membership to check
      membershipB - the second membership to check
      uniqueQualifierAttributes - the set of qualifier attributes which need to be unique
      Returns:
      true if equal, false if otherwise
    • findUniqueQualificationAttributes

      public Set<String> findUniqueQualificationAttributes(PersonDocumentRole role, List<org.kuali.rice.kim.api.type.KimAttributeField> attributeDefinitions)
      Finds the set of unique qualification attributes for the given role
      Parameters:
      role - the role associated with this person
      attributeDefinitions - the Map of attribute definitions where we can find out if a KimAttribute is supposed to be unique
      Returns:
      a Set of attribute definition ids for qualifications which are supposed to be unique
    • validActiveDatesForRole

      protected boolean validActiveDatesForRole(List<PersonDocumentRole> roles)
    • validActiveDatesForGroup

      protected boolean validActiveDatesForGroup(List<PersonDocumentGroup> groups)
    • validActiveDatesForDelegations

      protected boolean validActiveDatesForDelegations(List<RoleDocumentDelegationMember> delegationMembers)
    • validateActiveDate

      protected boolean validateActiveDate(String errorPath, Timestamp activeFromDate, Timestamp activeToDate)
    • processAddGroup

      public boolean processAddGroup(AddGroupEvent addGroupEvent)
      Specified by:
      processAddGroup in interface AddGroupRule
    • processAddRole

      public boolean processAddRole(AddRoleEvent addRoleEvent)
      Specified by:
      processAddRole in interface AddRoleRule
    • processAddPersonDelegationMember

      public boolean processAddPersonDelegationMember(AddPersonDelegationMemberEvent addPersonDelegationMemberEvent)
      Specified by:
      processAddPersonDelegationMember in interface AddPersonDelegationMemberRule
    • getIdentityService

      protected org.kuali.rice.kim.api.identity.IdentityService getIdentityService()
    • getRoleService

      protected org.kuali.rice.kim.api.role.RoleService getRoleService()
    • getAuthorizer

    • getAddGroupRuleClass

      public Class<? extends AddGroupRule> getAddGroupRuleClass()
      Returns:
      the addGroupRuleClass
    • setAddGroupRuleClass

      public void setAddGroupRuleClass(Class<? extends AddGroupRule> addGroupRuleClass)
      Can be overridden by subclasses to indicate the rule class to use when adding groups.
      Parameters:
      addGroupRuleClass - the addGroupRuleClass to set
    • getAddRoleRuleClass

      public Class<? extends AddRoleRule> getAddRoleRuleClass()
      Returns:
      the addRoleRuleClass
    • setAddRoleRuleClass

      public void setAddRoleRuleClass(Class<? extends AddRoleRule> addRoleRuleClass)
      Can be overridden by subclasses to indicate the rule class to use when adding roles.
      Parameters:
      addRoleRuleClass - the addRoleRuleClass to set
    • getAddGroupRule

      public AddGroupRule getAddGroupRule()
      Returns:
      the addGroupRule
    • getAddRoleRule

      public AddRoleRule getAddRoleRule()
      Returns:
      the addRoleRule
    • getAddPersonDelegationMemberRule

      public AddPersonDelegationMemberRule getAddPersonDelegationMemberRule()
      Returns:
      the addRoleRule
    • processAddPersonDocumentRoleQualifier

      public boolean processAddPersonDocumentRoleQualifier(IdentityManagementPersonDocument document, PersonDocumentRole role, KimDocumentRoleMember kimDocumentRoleMember, int selectedRoleIdx)
      Specified by:
      processAddPersonDocumentRoleQualifier in interface AddPersonDocumentRoleQualifierRule
    • validateDelegationMemberRoleQualifier

      protected boolean validateDelegationMemberRoleQualifier(List<RoleDocumentDelegationMember> delegationMembers)
    • canModifyEntity

      public boolean canModifyEntity(String currentUserPrincipalId, String toModifyPrincipalId)
    • canOverrideEntityPrivacyPreferences

      public boolean canOverrideEntityPrivacyPreferences(String currentUserPrincipalId, String toModifyPrincipalId)