Class CustomFieldDefaultValueUserKeyChangeHandler
java.lang.Object
com.atlassian.jira.user.anonymize.handlers.key.CustomFieldDefaultValueUserKeyChangeHandler
- All Implemented Interfaces:
AnonymizationHandler<UserPropertyChangeParameter>
,UserKeyChangeHandler
public class CustomFieldDefaultValueUserKeyChangeHandler
extends Object
implements UserKeyChangeHandler
Handles changing 'userkey' for custom field default values.
- Since:
- v8.4
-
Field Summary
FieldsFields inherited from interface com.atlassian.jira.user.anonymize.AnonymizationHandler
DEFAULT_NUMBER_OF_TASKS
-
Method Summary
Modifier and TypeMethodDescriptiongetAffectedEntities
(UserPropertyChangeParameter userPropertyChangeParameter) This class is only called byDelegatingChangeHandler
and this method is not used, to not clutter the UI.int
getNumberOfTasks
(UserPropertyChangeParameter userPropertyChangeParameter) Returns the number of tasks/stages to be executed inAnonymizationHandler.update(Object)
.multiUserPicker
(QueryDslAccessor queryDslAccessor, com.atlassian.event.api.EventPublisher publisher, int numberOfTasksSql) Creates CustomFieldDefaultValueUserKeyChangeHandler handling custom fields of type "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker".singleUserPicker
(QueryDslAccessor queryDslAccessor, com.atlassian.event.api.EventPublisher publisher, int numberOfTasksSql) Creates CustomFieldDefaultValueUserKeyChangeHandler handling custom fields of type "com.atlassian.jira.plugin.system.customfieldtypes:userpicker".update
(UserPropertyChangeParameter userPropertyChangeParameter) Performs the updates required by the user anonymization.protected long
updateAffectedEntities
(List<GenericConfigurationDTO> affectedEntities, String originalUserKey, String targetUserKey) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.atlassian.jira.user.anonymize.AnonymizationHandler
validateBusinessLogic
-
Field Details
-
queryDslAccessor
-
-
Method Details
-
singleUserPicker
public static CustomFieldDefaultValueUserKeyChangeHandler singleUserPicker(QueryDslAccessor queryDslAccessor, com.atlassian.event.api.EventPublisher publisher, int numberOfTasksSql) Creates CustomFieldDefaultValueUserKeyChangeHandler handling custom fields of type "com.atlassian.jira.plugin.system.customfieldtypes:userpicker". -
multiUserPicker
public static CustomFieldDefaultValueUserKeyChangeHandler multiUserPicker(QueryDslAccessor queryDslAccessor, com.atlassian.event.api.EventPublisher publisher, int numberOfTasksSql) Creates CustomFieldDefaultValueUserKeyChangeHandler handling custom fields of type "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker". -
getAffectedEntities
@Nonnull public Collection<AffectedEntity> getAffectedEntities(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter) This class is only called byDelegatingChangeHandler
and this method is not used, to not clutter the UI.- Specified by:
getAffectedEntities
in interfaceAnonymizationHandler<UserPropertyChangeParameter>
- Parameters:
userPropertyChangeParameter
- Data relevant to the handled anonymization step, e.g. previous and new (anonymized) username- Returns:
- a collection of affected entities
- See Also:
-
update
@Nonnull public ServiceResult update(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter) Description copied from interface:AnonymizationHandler
Performs the updates required by the user anonymization.Implementations must be idempotent - multiple invocations of this method should lead to the same result. In particular, when the method fails we can call it again to finish the operation.
During the execution, implementations can update their the progress by calling
Context.start(object);
on the context passed inparameter
, and subsequently callContext.Task.complete();
on the task object to indicate task has finished.Implementations can also call
Context.setName("Name of current step")
to describe the task that is currently processed.- Specified by:
update
in interfaceAnonymizationHandler<UserPropertyChangeParameter>
- Parameters:
userPropertyChangeParameter
- Data relevant to the handled anonymization step, e.g. previous and new (anonymized) username- Returns:
- a service outcome of the update operation, containing any errors
-
updateAffectedEntities
protected long updateAffectedEntities(List<GenericConfigurationDTO> affectedEntities, String originalUserKey, String targetUserKey) -
getNumberOfTasks
Description copied from interface:AnonymizationHandler
Returns the number of tasks/stages to be executed inAnonymizationHandler.update(Object)
. Used for diving the progress bar between all of the handlers in proportions based on the returned numbers.Implementations are responsible to execute the corresponding number of calls to
Context.start(object);
andContext.Task.complete();
inAnonymizationHandler.update(Object)
.- Specified by:
getNumberOfTasks
in interfaceAnonymizationHandler<UserPropertyChangeParameter>
- Returns:
- Number of tasks/stages to be executed
- See Also:
-