Class LexoRankDeleteOperation
java.lang.Object
com.atlassian.greenhopper.service.lexorank.LexoRankDeleteOperation
Encapsulates a single rank delete operation in a command pattern.
A delete rank operation can be performed for either :
- All rank rows of a certain issue
- All rank rows of a certain rank field
In order to delete a rank row(s), a lock needs to be acquired on the row(s) before being able to delete them.
This is done to ensure no other rank operation are operating on the row(s) to be deleted.
The delete operation consists of following steps :
1. Find the rows to be deleted
2. Acquire a lock on these rows
3. Check if the rows have not been modified since acquiring the lock on them
4. Delete the rows
5. Release the lock
If any of the steps fail, the algorithm be try again from the beginning after waiting for a small amount of random time.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
static interface
-
Method Summary
Modifier and TypeMethodDescriptionbuilder
(LexoRankDao lexoRankDao, LexoRankStatisticsAgent lexoRankStatisticsAgent) execute()
-
Method Details
-
builder
public static LexoRankDeleteOperation.ForIssueOrRankField builder(LexoRankDao lexoRankDao, LexoRankStatisticsAgent lexoRankStatisticsAgent) -
execute
-