Class ComponentLeadOwnershipTransferHandler
- All Implemented Interfaces:
AnonymizationHandler<OwnershipTransferParameter>
,OwnershipTransferHandler
- Since:
- v8.4
-
Field Summary
Fields inherited from interface com.atlassian.jira.user.anonymize.AnonymizationHandler
DEFAULT_NUMBER_OF_TASKS
-
Constructor Summary
ConstructorsConstructorDescriptionComponentLeadOwnershipTransferHandler
(ProjectComponentStore projectComponentStore, JiraAuthenticationContext jiraAuthenticationContext) -
Method Summary
Modifier and TypeMethodDescriptiongetAffectedEntities
(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 inAnonymizationHandler.update(Object)
.update
(OwnershipTransferParameter ownershipTransferParameter) Performs the updates required by the user anonymization.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
-
Constructor Details
-
ComponentLeadOwnershipTransferHandler
public ComponentLeadOwnershipTransferHandler(ProjectComponentStore projectComponentStore, JiraAuthenticationContext jiraAuthenticationContext)
-
-
Method Details
-
getAffectedEntities
@Nonnull public Collection<AffectedEntity> getAffectedEntities(@Nonnull OwnershipTransferParameter ownershipTransferParameter) Description copied from interface:OwnershipTransferHandler
Used to display in the UI a list of entities that require an ownership transfer, without actually performing the operation yet. Its goal is to inform the end-user about the scope of the changes. Implementation should not useOwnershipTransferParameter.getTransferToUserKey()
during computing affected entities.This method should return results as fast as possible, as it is affecting the UI.
- Specified by:
getAffectedEntities
in interfaceAnonymizationHandler<OwnershipTransferParameter>
- Specified by:
getAffectedEntities
in interfaceOwnershipTransferHandler
- Parameters:
ownershipTransferParameter
- stores original and target user keys- Returns:
- a collection of entities that will be affected by the ownership transfer
-
update
@Nonnull public ServiceResult update(@Nonnull OwnershipTransferParameter ownershipTransferParameter) 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<OwnershipTransferParameter>
- Parameters:
ownershipTransferParameter
- 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
-
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<OwnershipTransferParameter>
- Returns:
- Number of tasks/stages to be executed
- See Also:
-