Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-1118

Develop KIM Identity Service base service methods

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.9.1, KIM - 0.9.1
    • Component/s: Development
    • Labels:
      None
    • Similar issues:
      KULRICE-2355KIM Identity Service Test
      KULRICE-4502Add lookupPrincipals method to Identity Service
      KULRICE-3486Add methods to Identity services to retrieve full entity data
      KULRICE-2269Write Unit Tests for KIM Services
      KULRICE-2393Remove deprecated methods on the KIM services
      KULRICE-9007RoleMemberBo.groovy prevents replacement of KIM services
      KULRICE-2394KIM Responsibility Service Test
      KULRICE-4840UiDocumentServiceImpl::getMember should not call BO service to get Principals,groups, roles. Use kim services
      KULRICE-4666Evaluate "remote" KIM services
      KULRICE-8839KIM services need to be @Transactional
    • Rice Module:
      KIM

      Description

      Develop service interfaces for KIM base service methods:
      getPersons
      getRoles
      getQualifiedRoles
      getPermissions
      getGroups
      getQualifiedGroups

        Issue Links

          Activity

          Hide
          Phil Berres (Inactive) added a comment -

          Aaron, I created below. If ok, I will commit to repository:

          public List<Person> getPersons(Role role);
          public List<Role> getRoles();
          public List<RoleAttribute> getQualifiedRoles(Person person, Role role);
          public List<Permission> getPermissions(Role role);
          public List<Group> getGroups(Role role);
          public List<GroupAttribute> getQualifiedGroups(Person person, Group role);

          Show
          Phil Berres (Inactive) added a comment - Aaron, I created below. If ok, I will commit to repository: public List<Person> getPersons(Role role); public List<Role> getRoles(); public List<RoleAttribute> getQualifiedRoles(Person person, Role role); public List<Permission> getPermissions(Role role); public List<Group> getGroups(Role role); public List<GroupAttribute> getQualifiedGroups(Person person, Group role);
          Hide
          Aaron Godert (Inactive) added a comment -

          Go for it as discussed in our email thread.

          Show
          Aaron Godert (Inactive) added a comment - Go for it as discussed in our email thread.
          Hide
          Phil Berres (Inactive) added a comment -

          Committed KIM PersonService to repository.

          Show
          Phil Berres (Inactive) added a comment - Committed KIM PersonService to repository.
          Hide
          Phil Berres (Inactive) added a comment -

          Made changes as requested per https://test.kuali.org/confluence/pages/viewpage.action?pageId=54472. Committed all KIM services to repository.
          Comments:
          1. I see "userName" and "username" used interchangeably. Since it seems that "userName" predominates, I chose to use that standard;
          2. Our basic pattern for KIM service arguments has been to use primitives (e.g. Strings) when possible, instead of using Java BOs. With that in mind, I see that KIMService uses Role, when perhaps to be consistent either roleID or roleName should be used. If Aaron (or code review) agrees, I will re-factor;
          3. Another pattern is for the respective service to return either the BO or "name" attribute uniquely identifying the BO. Depending on code review, this can be pared down to one (or the other), or be left as is;
          4. For the most part, I designed service method arguments to use the BO "name" attribute, not the Long "id" attribute. I made this call since "name" will always be unique in the respective table, and "name" will most likely add transparent value to the data object it represents (00003122 means little to anyone while "univ-president" means something to just about everyone).

          Show
          Phil Berres (Inactive) added a comment - Made changes as requested per https://test.kuali.org/confluence/pages/viewpage.action?pageId=54472 . Committed all KIM services to repository. Comments: 1. I see "userName" and "username" used interchangeably. Since it seems that "userName" predominates, I chose to use that standard; 2. Our basic pattern for KIM service arguments has been to use primitives (e.g. Strings) when possible, instead of using Java BOs. With that in mind, I see that KIMService uses Role, when perhaps to be consistent either roleID or roleName should be used. If Aaron (or code review) agrees, I will re-factor; 3. Another pattern is for the respective service to return either the BO or "name" attribute uniquely identifying the BO. Depending on code review, this can be pared down to one (or the other), or be left as is; 4. For the most part, I designed service method arguments to use the BO "name" attribute, not the Long "id" attribute. I made this call since "name" will always be unique in the respective table, and "name" will most likely add transparent value to the data object it represents (00003122 means little to anyone while "univ-president" means something to just about everyone).
          Hide
          Aaron Godert (Inactive) added a comment -

          Hi Phil, just wanted to reply to your comment. I think we covered the 4 points above in our session today. Please let me know if that's different.

          Show
          Aaron Godert (Inactive) added a comment - Hi Phil, just wanted to reply to your comment. I think we covered the 4 points above in our session today. Please let me know if that's different.
          Hide
          Phil Berres (Inactive) added a comment -

          1. KIM service APIs completed for:
          GroupService;
          KIMService;
          NamespaceService;
          PersonService;
          QualifiedRoleService;
          RoleService.

          2. Default implementations for all above completed.

          3. Test harness for each interface and all service methods completed and successful.

          Show
          Phil Berres (Inactive) added a comment - 1. KIM service APIs completed for: GroupService; KIMService; NamespaceService; PersonService; QualifiedRoleService; RoleService. 2. Default implementations for all above completed. 3. Test harness for each interface and all service methods completed and successful.
          Hide
          Aaron Godert (Inactive) added a comment -

          Great Phil! Feel free to close this issue out. Any new work on these services can be accounted for in separate issues. Thanks.

          Show
          Aaron Godert (Inactive) added a comment - Great Phil! Feel free to close this issue out. Any new work on these services can be accounted for in separate issues. Thanks.

            People

            • Assignee:
              Phil Berres (Inactive)
              Reporter:
              Phil Berres (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved:
                Start Date:

                Time Tracking

                Estimated:
                Original Estimate - 2 hours
                2h
                Remaining:
                Remaining Estimate - 2 hours
                2h
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Structure Helper Panel