Version 13

    Use cases


    An user is assigned the * membership type for a group, when a membership type for this group and user is checked, then it is true regardless of the membership type




    Requirement documentation for supporting wild-card membership type in GateIn


    Wildcard (*) memberhip type is considered identical to ANY membership type. This feature is useful when we don't want to specify a concrete membership type when working with organization api. This feature implies:


    • To change the organization service API (in Core project)
    • To define the behavior of the membership type resolution algorithm
    • To have the organization service implementation to implement the membership type checking algorithm according to the specification
    • To create the necessary tests to ensure the implementations of the organization service API conform to the algorithm


    The *  is just like any other membership type, it can be configured explicitly by organization service initializer to be created at first starting time.

    To keep it transparent, backward compatible with previous version, we introduce a new method in GroupHandler interface for performing resolution of * wildcard membership type.


    API behavior


    GroupHandler interface


    A new method that performs resolution:

    • Collection resolveGroupByMembership(String userName, String membershipType) : returns each group for which the user has the specified membershipType relationship or the * membership


    MembershipTypeHandler interface

    • Collection findMembershipTypes() : * should be the first membership type of the collection if it exists


    For the other parts

       The * should be treated like before.




    JIRA issues: COR-300, COR-302 and GTNPORTAL-2899