Details

    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 0.9.3
    • Component/s: Development
    • Labels:
      None
    • Similar issues:
      KULRICE-12789Roles memberships are not checking qualification
      KULRICE-2353KIM Role Service Test
      KULRICE-4405Adding check to role qualifiers in ResponsibilityService
      KULRICE-3989UIDocumentService.loadRoleMemberQualifiers - is there a way to load qualifiers not associated with the role type
      KULRICE-9892Enhance PeopleFlowTypeService and PeopleFlowRequestGeneratorImpl to allow resolving/accepting multiple maps of role qualifiers
      KULRICE-6565Fix qualifiers on role for Person and Role Documents
      KULRICE-4178Some role qualifiers displaying incorrectly
      KULRICE-7082KIM role document not handling missing qualifiers on role members
      KULRICE-2089Role qualification deletions are not persisting
      KULRICE-1489KIM needs to support role qualifier validation
    • Rice Module:
      KIM
    • Application Requirement:
      KC

      Description

      The following method is in the RoleService:

      public List<PersonQualifiedRole> getPersonQualifiedRoles(String roleName, Map<String, String> qualifiedRoleAttributes);

      The problem is that the PersonQualfiedRole only stores one attribute <name,value> pair. This is a problem when there is more than one qualification. For example, consider the following call to the above method:

      Map<String, String> qualfiedRoleAttributes = new HashMap<String, String>();
      qualifiedRoleAttributes.put("AAA", "mickey");
      qualifiedRoleAttributes.put("BBB", "mouse");
      List<PersonQualifiedRole> getPersonQualfiedRoles("KillDisney", qualifiedRoleAttributes);

      For each person that has this qualified role, two PersonQualifiedRole instances will be returned, one for each <name, value> pair. The caller will have to correlate the Person and Role to determine which two go together.

      It would be better if the returned instance contains a list of the <name, value> pair qualifications.

        Activity

        Hide
        Aaron Godert (Inactive) added a comment -

        I think what we need is another data structure on top of this one, which contains the list of these objects, b/c this one is used as a straight one-one mapping down to the table.

        Let me think about this a little more.

        Show
        Aaron Godert (Inactive) added a comment - I think what we need is another data structure on top of this one, which contains the list of these objects, b/c this one is used as a straight one-one mapping down to the table. Let me think about this a little more.
        Hide
        Aaron Godert (Inactive) added a comment -

        I think what I'll do is create a PersonQualifiedRoleAttribute business object. That will be what maps down to the table, then the PersonQualifiedRole bo will get refactored to have a list of those and be primarily a helper object.

        Show
        Aaron Godert (Inactive) added a comment - I think what I'll do is create a PersonQualifiedRoleAttribute business object. That will be what maps down to the table, then the PersonQualifiedRole bo will get refactored to have a list of those and be primarily a helper object.
        Hide
        Aaron Godert (Inactive) added a comment -

        I introduced a PrincipalQualifiedRoleAttribute and GroupQualifiedRoleAttribute BO and re-purposed the *QualifiedRole BOs to contain lists of these. So essentially, now the services return lists of these higher level *QualifiedRole objects, which are grouped by a Role and by a Principal/Group and within those are the specific qualifications.

        Show
        Aaron Godert (Inactive) added a comment - I introduced a PrincipalQualifiedRoleAttribute and GroupQualifiedRoleAttribute BO and re-purposed the *QualifiedRole BOs to contain lists of these. So essentially, now the services return lists of these higher level *QualifiedRole objects, which are grouped by a Role and by a Principal/Group and within those are the specific qualifications.
        Hide
        Aaron Godert (Inactive) added a comment -

        We can review at the code review tomorrow.

        Show
        Aaron Godert (Inactive) added a comment - We can review at the code review tomorrow.

          People

          • Assignee:
            Aaron Godert (Inactive)
            Reporter:
            Don Barre (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 1 hour
              1h
              Remaining:
              Remaining Estimate - 1 hour
              1h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Structure Helper Panel