public class IssueHistoryUserKeyChangeHandler extends Object implements UserKeyChangeHandler
Modifier and Type | Field and Description |
---|---|
protected static String |
ENTITY_NAME |
protected JiraAuthenticationContext |
jiraAuthenticationContext |
protected QueryDslAccessor |
queryDslAccessor |
DEFAULT_NUMBER_OF_TASKS
Constructor and Description |
---|
IssueHistoryUserKeyChangeHandler(JiraAuthenticationContext jiraAuthenticationContext,
QueryDslAccessor queryDslAccessor,
DatabaseAccessor databaseAccessor,
int stepNumber,
List<IssueHistoryInfo> infos) |
Modifier and Type | Method and Description |
---|---|
Collection<AffectedEntity> |
getAffectedEntities(UserPropertyChangeParameter userPropertyChangeParameter)
This class is only called by
DelegatingChangeHandler and this method is not used, to not clutter the UI. |
protected List<Long> |
getAffectedEntitiesIds(String original,
IssueHistoryInfo foreignKeyInfo) |
protected com.querydsl.sql.SQLQuery<Long> |
getBaseQuery(String original,
IssueHistoryInfo foreignKeyInfo,
DbConnection connection) |
protected List<IssueHistoryInfo> |
getInfos() |
int |
getNumberOfTasks(UserPropertyChangeParameter userPropertyChangeParameter)
Returns the number of tasks/stages to be executed in
AnonymizationHandler.update(Object) . |
ServiceResult |
update(UserPropertyChangeParameter userPropertyChangeParameter)
Performs the updates required by the user anonymization.
|
protected long |
updateCustomField(IssueHistoryInfo info,
String original,
String target) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
validateBusinessLogic
protected static final String ENTITY_NAME
protected final JiraAuthenticationContext jiraAuthenticationContext
protected final QueryDslAccessor queryDslAccessor
public IssueHistoryUserKeyChangeHandler(JiraAuthenticationContext jiraAuthenticationContext, QueryDslAccessor queryDslAccessor, DatabaseAccessor databaseAccessor, int stepNumber, List<IssueHistoryInfo> infos)
@Nonnull public Collection<AffectedEntity> getAffectedEntities(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter)
DelegatingChangeHandler
and this method is not used, to not clutter the UI.getAffectedEntities
in interface AnonymizationHandler<UserPropertyChangeParameter>
userPropertyChangeParameter
- Data relevant to the handled anonymization step, e.g. previous and new (anonymized) usernameDelegatingChangeHandler.getAffectedEntities(UserPropertyChangeParameter)
@Nonnull public ServiceResult update(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter)
AnonymizationHandler
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 in parameter
, and subsequently call Context.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.
update
in interface AnonymizationHandler<UserPropertyChangeParameter>
userPropertyChangeParameter
- Data relevant to the handled anonymization step, e.g. previous and new (anonymized) usernamepublic int getNumberOfTasks(@Nonnull UserPropertyChangeParameter userPropertyChangeParameter)
AnonymizationHandler
AnonymizationHandler.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);
and Context.Task.complete();
in AnonymizationHandler.update(Object)
.
getNumberOfTasks
in interface AnonymizationHandler<UserPropertyChangeParameter>
AnonymizationHandler.DEFAULT_NUMBER_OF_TASKS
protected List<IssueHistoryInfo> getInfos()
protected List<Long> getAffectedEntitiesIds(String original, IssueHistoryInfo foreignKeyInfo)
protected com.querydsl.sql.SQLQuery<Long> getBaseQuery(String original, IssueHistoryInfo foreignKeyInfo, DbConnection connection)
protected long updateCustomField(IssueHistoryInfo info, String original, String target)
Copyright © 2002-2021 Atlassian. All Rights Reserved.