Class AnonymizeUserService.AnonymizeProcessData

java.lang.Object
com.atlassian.jira.user.anonymize.AnonymizeUserService.AnonymizeProcessData
Enclosing interface:
AnonymizeUserService

public static class AnonymizeUserService.AnonymizeProcessData extends Object

Contains data about anonymization process. Provided and computed data is used to determine set of operations to be performed in the process of anonymization.

Stored data:

  • User data
  • User state (deleted, present)
  • Is user externally disabled (unsynced)
  • Is current user key anonymized
  • Is current user name anonymized
  • Generated user key (if not anonymized)
  • Generated user name (if not anonymized)
  • Old user key (if re-doing)
  • Old user name (if re-doing)
  • Affected entities
  • Should use transfer owner
  • Transfer owner key

  • Constructor Details

    • AnonymizeProcessData

      public AnonymizeProcessData(@Nonnull AnonymizationParameters anonymizationParameters, @Nullable ApplicationUser user, boolean userDeletedExternally, boolean userDeleted, boolean userNameAlreadyAnonymized, boolean userKeyAlreadyAnonymized, @Nullable String newUserName, @Nullable String newUserKey, @Nonnull Collection<AffectedEntity> affectedEntities, boolean affectedEntitiesWithHandlerError)
  • Method Details

    • newBuilder

      public static AnonymizeUserService.AnonymizeProcessData.Builder newBuilder(@Nonnull AnonymizationParameters anonymizationParameters)
    • getAnonymizationParameters

      public AnonymizationParameters getAnonymizationParameters()
    • handleOperation

      public boolean handleOperation(AnonymizeUserService.AnonymizeOperation anonymizeOperation)
      Determines if specific operation should be executed during anonymization process. If user==null then no operation is available as user is not found in system.

      • ownership transfer: user active or deleted externally
      • ownership transfer: at least one of affected entities reports type AffectedEntityType.TRANSFER_OWNERSHIP or there was error during getting affected entities affectedEntitiesWithHandlerError or AnonymizationParameters.isGetAffectedEntities() is set to false.
      • user disable: user is active
      • change external id: always
      • call anonymize plugin points: always
      • change user key: user key is not anonymized
      • change user key plugin points: use key is not anonymized or key is anonymized but re-run requested
      • change user name: user name is not anonymized and user is not deleted
      • change user name plugin points: user name is not anonymized and user is not deleted or user name is anonymized but re-run requested

      Parameters:
      anonymizeOperation - Operation
      Returns:
      true if operation should be handled given current data. false otherwise.
    • getOperationsWeWouldLikeToPerform

      public Collection<AnonymizeUserService.AnonymizeOperation> getOperationsWeWouldLikeToPerform(boolean preValidate)
    • isRequiresTransferOwner

      public boolean isRequiresTransferOwner()
    • getUser

      @Nullable public ApplicationUser getUser()
      Data of user being anonymized.
      Returns:
      Data of user being anonymized.
    • getUserState

      public UserState getUserState()
    • isUserDeletedExternally

      public boolean isUserDeletedExternally()
      Returns:
      Is user deleted externally - deleted in external directory and then synced with this Jira instance.
    • isUserDeleted

      public boolean isUserDeleted()
      Returns:
      Is user deleted from Jira (present in app_user but missing from cwd_user).
    • isUserNameAlreadyAnonymized

      public boolean isUserNameAlreadyAnonymized()
    • isUserKeyAlreadyAnonymized

      public boolean isUserKeyAlreadyAnonymized()
    • getNewUserName

      @Nullable public String getNewUserName()
      New user name assigned to user in anonymization process. Null if user already has anonymized user name.
      Returns:
      New user name assigned to user in anonymization process. Null if user already has anonymized user name.
    • getNewUserKey

      @Nullable public String getNewUserKey()
      New user key assigned to user in anonymization process. Null if user already has anonymized user key.
      Returns:
      New user key assigned to user in anonymization process. Null if user already has anonymized user key.
    • getOldUserName

      @Nullable public String getOldUserName()
      Old username for situation where username has already been changed but extension points have not completed and have to be re-run.
      Returns:
      Old user name
    • getOldUserKey

      @Nullable public String getOldUserKey()
      Old user key for situation where user key has already been changed but extension points have not completed and have to be re-run.
      Returns:
      Old user key
    • getTransferOwnerKey

      public String getTransferOwnerKey()
    • getAffectedEntities

      @Nonnull public Collection<AffectedEntity> getAffectedEntities()
    • isAffectedEntitiesWithHandlerError

      public boolean isAffectedEntitiesWithHandlerError()
    • getUserAnonymizationStartedEvent

      @Nonnull public UserAnonymizationStartedEvent getUserAnonymizationStartedEvent()
    • getUserAnonymizationFinishedEvent

      @Nonnull public UserAnonymizationFinishedEvent getUserAnonymizationFinishedEvent()