Interface AnonymizeUserService
- All Known Implementing Classes:
DefaultAnonymizeUserService
public interface AnonymizeUserService
Entry point for user anonymization.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enum
static class
static class
Contains data about anonymization process.static class
static class
static class
-
Method Summary
Modifier and TypeMethodDescriptionint
getStepCount
(AnonymizeUserService.AnonymizeValidationResult anonymizeValidationResult) Gets amount of distinct operations performed in the process of anonymization.perform
(AnonymizeUserService.AnonymizeValidationResult validationResult, Context asyncTaskContext) Perform the operation.Pre-validates anonymization - fills all data that can be obtained from initial user key passed in the request: if user name/key is anonymized, generates new anonymized user key/name if needed, gets list of affected entities etc.validateAnonymize
(AnonymizationParameters request) Validate the request and return a validation result.
-
Method Details
-
preValidateAnonymize
@Nonnull AnonymizeUserService.AnonymizeValidationResult preValidateAnonymize(@Nonnull AnonymizationParameters request) Pre-validates anonymization - fills all data that can be obtained from initial user key passed in the request: if user name/key is anonymized, generates new anonymized user key/name if needed, gets list of affected entities etc. Does not validate user input data eg. new owner (because no owner has been provided yet). In case of success returns filled-outAnonymizationParameters
withAnonymizeUserService.AnonymizeProcessData
that can be used on UI. Doesn't validate additional parameters required by handlers eg. new owner for entities.- Parameters:
request
- Anonymize request- Returns:
- Validation result
-
validateAnonymize
@Nonnull AnonymizeUserService.AnonymizeValidationResult validateAnonymize(@Nonnull AnonymizationParameters request) Validate the request and return a validation result. A request is created usingAnonymizationParameters.builder()
, like this:AnonymizationParameters.builder() .targetUser(activeUser.getKey()) .newOwner(admin) .executor(admin) .build());
AnonymizeValidationResult result = validateAnonymize(request); if (result.isValid()) { ...perform the operation... } else { ...handle the errors... }
-
perform
@Nonnull AnonymizeUserService.AnonymizePerformResult perform(@Nonnull AnonymizeUserService.AnonymizeValidationResult validationResult, @Nonnull Context asyncTaskContext) Perform the operation. You must always callvalidateAnonymize(com.atlassian.jira.user.anonymize.AnonymizationParameters)
first and pass its return value here.- Parameters:
validationResult
- Validation resultasyncTaskContext
- Task context to report the anonymization process progress to
-
getStepCount
Gets amount of distinct operations performed in the process of anonymization. Each performed operation should be reported to theTaskContextAware.getContext()
passed inperform(AnonymizeValidationResult, Context)
andAnonymizationHandler.update(Object)
.- Returns:
- amount of distinct operations performed in the process of anonymization.
-