Class ObjectCategorisationCache

java.lang.Object
com.evolveum.midpoint.common.mining.objects.analysis.cache.ObjectCategorisationCache

public class ObjectCategorisationCache extends Object
A cache for categorizing roles, users, and focus objects based on their identified characteristics.
  • Constructor Details

    • ObjectCategorisationCache

      public ObjectCategorisationCache()
  • Method Details

    • putCategory

      public void putCategory(String oid, RoleAnalysisObjectCategorizationType category, QName type)
      Adds a category to the specified object type (Role, User, or Focus).
      Parameters:
      oid - The OID of the object.
      category - The category to add.
      type - The type of the object (RoleType, UserType, FocusType).
    • putMultipleCategories

      public void putMultipleCategories(String oid, QName type, RoleAnalysisObjectCategorizationType... categories)
    • putAllCategory

      public void putAllCategory(@NotNull @NotNull Set<String> oids, RoleAnalysisObjectCategorizationType category, QName type)
    • getCategory

      Retrieves the category for the specified object type and OID.
      Parameters:
      oid - The OID of the object.
      type - The type of the object (RoleType, UserType, FocusType).
      Returns:
      The characteristics item for the given OID and type.
    • clear

      public void clear()
      Clears all cached categories.
    • build

      Builds the RoleAnalysisIdentifiedCharacteristicsType container by aggregating the categorized items from roles, users, and focus maps.
      Parameters:
      sessionObject - The RoleAnalysisSessionType containing session data.
      Returns:
      The RoleAnalysisIdentifiedCharacteristicsType container with categorized items.
    • markExcludedObjects

      public void markExcludedObjects(@NotNull @NotNull RoleAnalysisSessionType sessionObject)
      Marks objects as excluded based on the analysis options and manually unwanted objects.
      Parameters:
      sessionObject - The session object containing the analysis options and identified characteristics.
    • addInsufficientCategory

      public void addInsufficientCategory(@NotNull @NotNull RoleAnalysisOptionType analysisOption)
    • getUnpopularRoles

      public Set<String> getUnpopularRoles()
    • getUnpopularUsers

      public Set<String> getUnpopularUsers()
    • updateUnPopularityIdentifiedChar

      public RoleAnalysisIdentifiedCharacteristicsType updateUnPopularityIdentifiedChar(@NotNull @NotNull RoleAnalysisSessionType session)