java.lang.Object
com.evolveum.midpoint.ninja.action.mining.generator.context.RbacUserType
All Implemented Interfaces:
RbacBasicStructure
Direct Known Subclasses:
RbacObjectCategoryBuilder.Contractor, RbacObjectCategoryBuilder.IrregularUserType, RbacObjectCategoryBuilder.ManagerUserType, RbacObjectCategoryBuilder.RegularUserType, RbacObjectCategoryBuilder.SalesUserType, RbacObjectCategoryBuilder.SecurityOfficer, RbacObjectCategoryBuilder.SemiRegularUserType

public abstract class RbacUserType extends Object implements RbacBasicStructure
This abstract class represents a user type generator used for initial user object RBAC generation.

Part of RBAC Testing Data, which provides testing data for role mining and other RBAC-related processes.

  • Field Details

  • Constructor Details

  • Method Details

    • build

      public UserType build(@NotNull @NotNull UserType user)
      This method is responsible for building a UserType object with specific attributes. It sets up the archetype for the user and adds assignments such as organization and roles. It also sets the locality and title for the user if they are not null. If there are any PlanktonApplicationRoles, it adds them to the user's assignments.
      Parameters:
      user - The UserType object to be built.
      Returns:
      The built UserType object with specific attributes.
    • buildAndImportObjects

      public void buildAndImportObjects(@NotNull @NotNull Log log, @NotNull @NotNull RepositoryService repository, @NotNull @NotNull GeneratorOptions generatorOptions, int total, Set<String> names, @NotNull @NotNull OperationResult result)
      This method is responsible for building and importing objects for a specific user type. It logs the progress of the import operation and uses the build() method to construct each user. After building a user, it imports the user and resolves auxiliary roles.
      Specified by:
      buildAndImportObjects in interface RbacBasicStructure
      Parameters:
      log - The logger used to log the progress of the import operation.
      repository - The repository service used to import the user and resolve auxiliary roles.
      generatorOptions - The options for the generator, used in the importUserAndResolveAuxRoles method.
      total - The total number of users to be imported.
      names - A set of names to be used for the users. A name is selected from this set for each user.
      result - The operation result, used in the importUserAndResolveAuxRoles method.
    • getBirthRole

      public abstract String getBirthRole()
      Specified by:
      getBirthRole in interface RbacBasicStructure
    • getOrganizationOid

      public abstract String getOrganizationOid()
      Specified by:
      getOrganizationOid in interface RbacBasicStructure
    • getCorrespondingArchetypeOid

      public abstract String getCorrespondingArchetypeOid()
      Specified by:
      getCorrespondingArchetypeOid in interface RbacBasicStructure
    • getPrimaryRole

      public abstract InitialBusinessRole getPrimaryRole(boolean generateNew)
      Specified by:
      getPrimaryRole in interface RbacBasicStructure
    • getLocationRole

      public abstract InitialObjectsDefinition.LocationInitialBusinessRole getLocationRole(boolean generateNew)
      Specified by:
      getLocationRole in interface RbacBasicStructure
    • getPlanktonApplicationRoles

      public abstract List<InitialObjectsDefinition.PlanktonApplicationBusinessAbstractRole> getPlanktonApplicationRoles()
      Specified by:
      getPlanktonApplicationRoles in interface RbacBasicStructure
    • getLocality

      public abstract String getLocality()
      Specified by:
      getLocality in interface RbacBasicStructure
    • getTitle

      public abstract String getTitle()
      Specified by:
      getTitle in interface RbacBasicStructure
    • getDisplayName

      protected abstract String getDisplayName()