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

    • updateParameters

      protected abstract void updateParameters()
      Updates the parameters for the RegularUserType. This method is primary designated to sets the location organization and initializes the primary role. It is called in the constructor of the RegularUserType for default initialization and in the build() method for dynamic initialization.
    • 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.
    • getDisplayName

      protected abstract String getDisplayName()