public class CustomFieldDefaultValueUserKeyChangeHandler extends Object implements UserKeyChangeHandler
Modifier and Type | Field and Description |
---|---|
protected QueryDslAccessor |
queryDslAccessor |
Modifier and Type | Method and Description |
---|---|
Collection<AffectedEntity> |
getAffectedEntities(UserPropertyChangeParameter userPropertyChangeParameter)
Used to display in the UI a list of entities that are affected by anonymization process, without actually performing
the operation yet.
|
int |
getNumberOfTasks(UserPropertyChangeParameter userPropertyChangeParameter)
Returns number of tasks/stages to be executed as part of this handler execution.
|
static CustomFieldDefaultValueUserKeyChangeHandler |
multiUserPicker(QueryDslAccessor queryDslAccessor,
int numberOfTasksSql)
Creates CustomFieldDefaultValueUserKeyChangeHandler handling custom fields of type
"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker".
|
static CustomFieldDefaultValueUserKeyChangeHandler |
singleUserPicker(QueryDslAccessor queryDslAccessor,
int numberOfTasksSql)
Creates CustomFieldDefaultValueUserKeyChangeHandler handling custom fields of type
"com.atlassian.jira.plugin.system.customfieldtypes:userpicker".
|
ServiceResult |
update(UserPropertyChangeParameter userPropertyChangeParameter)
Performs the update operations related to the affected entities.
|
protected long |
updateAffectedEntities(List<GenericConfigurationDTO> affectedEntities,
String originalUserKey,
String targetUserKey) |
protected final QueryDslAccessor queryDslAccessor
public static CustomFieldDefaultValueUserKeyChangeHandler singleUserPicker(QueryDslAccessor queryDslAccessor, int numberOfTasksSql)
public static CustomFieldDefaultValueUserKeyChangeHandler multiUserPicker(QueryDslAccessor queryDslAccessor, int numberOfTasksSql)
@Nonnull public Collection<AffectedEntity> getAffectedEntities(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter)
AnonymizationHandler
This method should return results as fast as possible, as it is affecting the UI.
getAffectedEntities
in interface AnonymizationHandler<UserPropertyChangeParameter>
userPropertyChangeParameter
- Parameter@Nonnull public ServiceResult update(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter)
AnonymizationHandler
This method is executed in a background task and thus its accuracy is more important than performance.
This method should be idempotent - multiple invocations of this method should lead to the same result. In other words when method fails we can call it again and finish operation.
During execution, the implementation class will update the progress by typically calling
Context.start(object);
on the context passed in parameter
, and subsequently call
Context.Task.complete();
on the the task object to indicate task has finished.
Implementation can also call Context.setName("Name of current step")
to describe the task that is currently processed.
update
in interface AnonymizationHandler<UserPropertyChangeParameter>
userPropertyChangeParameter
- Parameterprotected long updateAffectedEntities(List<GenericConfigurationDTO> affectedEntities, String originalUserKey, String targetUserKey)
public int getNumberOfTasks(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter)
AnonymizationHandler
AnonymizationHandler.update(Object)
.
It's used to calculate task progress. Eg. handler returning 1000 from this method is responsible to execute 1000
calls to Context.start(object);
and Context.Task.complete();
in AnonymizationHandler.update(Object)
.
Default implementation returns 1000 tasks which means that each handle by default will have 1000 steps to complete, it's up to handler to decide how progress is reported eg. complete all 1000 steps at once or in some chunks.
When visualizing progress each handler has progress bar part that has length proportional to the number returned by this method. If you know that your handler will execute swiftly you can return lower number here eg. 100 (progress bar part for this handler will be 10 times shorter than those that return 1000).
getNumberOfTasks
in interface AnonymizationHandler<UserPropertyChangeParameter>
Copyright © 2002-2019 Atlassian. All Rights Reserved.