public class ProjectLeadOwnershipTransferHandler extends Object implements OwnershipTransferHandler
DEFAULT_NUMBER_OF_TASKS
Constructor and Description |
---|
ProjectLeadOwnershipTransferHandler(QueryDslAccessor queryDslAccessor,
ProjectManager projectManager,
JiraAuthenticationContext jiraAuthenticationContext) |
Modifier and Type | Method and Description |
---|---|
Collection<AffectedEntity> |
getAffectedEntities(OwnershipTransferParameter ownershipTransferParameter)
Used to display in the UI a list of entities that require an ownership transfer, without actually performing
the operation yet.
|
int |
getNumberOfTasks(OwnershipTransferParameter ownershipTransferParameter)
Returns the number of tasks/stages to be executed in
AnonymizationHandler.update(Object) . |
ServiceResult |
update(OwnershipTransferParameter ownershipTransferParameter)
Performs the updates required by the user anonymization.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
validateBusinessLogic
public ProjectLeadOwnershipTransferHandler(QueryDslAccessor queryDslAccessor, ProjectManager projectManager, JiraAuthenticationContext jiraAuthenticationContext)
@Nonnull public Collection<AffectedEntity> getAffectedEntities(@Nonnull OwnershipTransferParameter ownershipTransferParameter)
OwnershipTransferHandler
OwnershipTransferParameter.getTransferToUserKey()
during computing affected entities.
This method should return results as fast as possible, as it is affecting the UI.
getAffectedEntities
in interface AnonymizationHandler<OwnershipTransferParameter>
getAffectedEntities
in interface OwnershipTransferHandler
ownershipTransferParameter
- stores original and target user keys@Nonnull public ServiceResult update(@Nonnull OwnershipTransferParameter ownershipTransferParameter)
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<OwnershipTransferParameter>
ownershipTransferParameter
- Data relevant to the handled anonymization step, e.g. previous and new (anonymized) usernamepublic int getNumberOfTasks(@Nonnull OwnershipTransferParameter ownershipTransferParameter)
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<OwnershipTransferParameter>
AnonymizationHandler.DEFAULT_NUMBER_OF_TASKS
Copyright © 2002-2021 Atlassian. All Rights Reserved.