Class RbacUserType
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
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThis method is responsible for building a UserType object with specific attributes.void
buildAndImportObjects
(@NotNull Log log, @NotNull RepositoryService repository, @NotNull GeneratorOptions generatorOptions, int total, Set<String> names, @NotNull OperationResult result) This method is responsible for building and importing objects for a specific user type.abstract String
abstract String
protected abstract String
abstract String
getLocationRole
(boolean generateNew) abstract String
abstract InitialBusinessRole
getPrimaryRole
(boolean generateNew) abstract String
getTitle()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.ninja.action.mining.generator.context.RbacBasicStructure
additionalChanges
-
Field Details
-
generatorOptions
-
-
Constructor Details
-
RbacUserType
-
-
Method Details
-
build
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 interfaceRbacBasicStructure
- 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
- Specified by:
getBirthRole
in interfaceRbacBasicStructure
-
getOrganizationOid
- Specified by:
getOrganizationOid
in interfaceRbacBasicStructure
-
getCorrespondingArchetypeOid
- Specified by:
getCorrespondingArchetypeOid
in interfaceRbacBasicStructure
-
getPrimaryRole
- Specified by:
getPrimaryRole
in interfaceRbacBasicStructure
-
getLocationRole
public abstract InitialObjectsDefinition.LocationInitialBusinessRole getLocationRole(boolean generateNew) - Specified by:
getLocationRole
in interfaceRbacBasicStructure
-
getPlanktonApplicationRoles
public abstract List<InitialObjectsDefinition.PlanktonApplicationBusinessAbstractRole> getPlanktonApplicationRoles()- Specified by:
getPlanktonApplicationRoles
in interfaceRbacBasicStructure
-
getLocality
- Specified by:
getLocality
in interfaceRbacBasicStructure
-
getTitle
- Specified by:
getTitle
in interfaceRbacBasicStructure
-
getDisplayName
-