Class LexoRankDeleteOperation

java.lang.Object
com.atlassian.greenhopper.service.lexorank.LexoRankDeleteOperation

public class LexoRankDeleteOperation extends Object
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.