com.atlassian.greenhopper.service.rank
Class RankServiceImpl

java.lang.Object
  extended by com.atlassian.greenhopper.service.rank.RankServiceImpl
All Implemented Interfaces:
RankService

@Service(value="greenhopper-rank-service-internal")
public class RankServiceImpl
extends java.lang.Object
implements RankService

RankService implementation.


Field Summary
protected  LoggerWrapper log
           
 
Fields inherited from interface com.atlassian.greenhopper.service.rank.RankService
CAN_RANK_PERMISSION, CUSTOM_FIELD_ID_ERROR_CONTEXT
 
Constructor Summary
RankServiceImpl()
           
 
Method Summary
 ServiceOutcome<java.lang.Void> canRank(com.atlassian.crowd.embedded.api.User user, Rankable rankable)
          Returns true if the user has the ability to perform a rank operation for a given issue
 ServiceOutcome<java.util.Comparator<Rankable>> createFlatComparator(com.atlassian.crowd.embedded.api.User user, long customFieldId)
          Create a 'flat' comparator for Rankables.
 ServiceOutcome<java.util.Comparator<Rankable>> createParentSubtaskComparator(com.atlassian.crowd.embedded.api.User user, long customFieldId)
          Create an issue hierarchy comparator, which orders subtasks relative to their parents.
 ServiceOutcome<LexoRank> getRankablePosition(long customFieldId, Rankable rankable)
          Get the position for the given rankable.
 ServiceOutcome<RankChangesOutcome> rankAfter(com.atlassian.crowd.embedded.api.User user, long customFieldId, java.util.List<Rankable> rankables, Rankable rankAfter)
          Rank several rankables after another one.
 ServiceOutcome<RankChange> rankAfter(com.atlassian.crowd.embedded.api.User user, long customFieldId, Rankable rankable, Rankable rankAfter)
          Rank an rankable after another one.
 ServiceOutcome<RankChangesOutcome> rankBefore(com.atlassian.crowd.embedded.api.User user, long customFieldId, java.util.List<Rankable> rankables, Rankable rankBefore)
          Rank several rankables before another one.
 ServiceOutcome<RankChange> rankBefore(com.atlassian.crowd.embedded.api.User user, long customFieldId, Rankable rankable, Rankable rankBefore)
          Rank a rankable object before another one.
 ServiceOutcome<RankChangesOutcome> rankFirst(com.atlassian.crowd.embedded.api.User user, long customFieldId, java.util.List<Rankable> rankables)
          Rank a rankable first, thus add it as first global rankable.
 ServiceOutcome<RankChange> rankFirst(com.atlassian.crowd.embedded.api.User user, long customFieldId, Rankable rankable)
          Rank a rankable first, thus add it as first global rankable.
 ServiceOutcome<RankChangesOutcome> rankLast(com.atlassian.crowd.embedded.api.User user, long customFieldId, java.util.List<Rankable> rankables)
          Rank a rankable last, thus add it as last global rankable
 ServiceOutcome<RankChange> rankLast(com.atlassian.crowd.embedded.api.User user, long customFieldId, Rankable rankable)
          Rank a rankable last, thus add it as last global rankable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected final LoggerWrapper log
Constructor Detail

RankServiceImpl

public RankServiceImpl()
Method Detail

rankBefore

@NotNull
public ServiceOutcome<RankChange> rankBefore(com.atlassian.crowd.embedded.api.User user,
                                                     long customFieldId,
                                                     Rankable rankable,
                                                     Rankable rankBefore)
Description copied from interface: RankService
Rank a rankable object before another one.

Specified by:
rankBefore in interface RankService
Parameters:
user - : The user performing the rank operation
rankable - : The rankable to rank
rankBefore - : The rankable to be ranked before. If this doesn't exist in the index, it will be added at the last position.

rankBefore

@NotNull
public ServiceOutcome<RankChangesOutcome> rankBefore(com.atlassian.crowd.embedded.api.User user,
                                                             long customFieldId,
                                                             java.util.List<Rankable> rankables,
                                                             Rankable rankBefore)
Description copied from interface: RankService
Rank several rankables before another one.

Specified by:
rankBefore in interface RankService
Parameters:
user - : The user performing the rank operation
rankables - : The rankables to rank (in order)
rankBefore - : The rankable to be ranked before. If this doesn't exist in the index, it will be added at the last position.

rankAfter

@NotNull
public ServiceOutcome<RankChange> rankAfter(com.atlassian.crowd.embedded.api.User user,
                                                    long customFieldId,
                                                    Rankable rankable,
                                                    Rankable rankAfter)
Description copied from interface: RankService
Rank an rankable after another one.

Specified by:
rankAfter in interface RankService
Parameters:
user - : The user performing the rank operation
rankable - : The rankable to rank
rankAfter - : The rankable to be ranked after. If this doesn't exist in the index, it will be added at the last position.

rankAfter

@NotNull
public ServiceOutcome<RankChangesOutcome> rankAfter(com.atlassian.crowd.embedded.api.User user,
                                                            long customFieldId,
                                                            java.util.List<Rankable> rankables,
                                                            Rankable rankAfter)
Description copied from interface: RankService
Rank several rankables after another one.

Specified by:
rankAfter in interface RankService
Parameters:
user - : The user performing the rank operation
rankables - : The rankables to rank (in order)
rankAfter - : The rankable to be ranked after. If this doesn't exist in the index, it will be added at the last position.

rankFirst

@NotNull
public ServiceOutcome<RankChange> rankFirst(com.atlassian.crowd.embedded.api.User user,
                                                    long customFieldId,
                                                    Rankable rankable)
Description copied from interface: RankService
Rank a rankable first, thus add it as first global rankable.

Specified by:
rankFirst in interface RankService
Parameters:
user - : The user performing the rank operation
rankable - : The rankable to rank

rankFirst

public ServiceOutcome<RankChangesOutcome> rankFirst(com.atlassian.crowd.embedded.api.User user,
                                                    long customFieldId,
                                                    java.util.List<Rankable> rankables)
Description copied from interface: RankService
Rank a rankable first, thus add it as first global rankable.

Specified by:
rankFirst in interface RankService
Parameters:
user - : The user performing the rank operation
rankables - : The rankable to rank

rankLast

@NotNull
public ServiceOutcome<RankChange> rankLast(com.atlassian.crowd.embedded.api.User user,
                                                   long customFieldId,
                                                   Rankable rankable)
Description copied from interface: RankService
Rank a rankable last, thus add it as last global rankable

Specified by:
rankLast in interface RankService
Parameters:
user - : The user performing the rank operation
rankable - : The rankable to rank

rankLast

public ServiceOutcome<RankChangesOutcome> rankLast(com.atlassian.crowd.embedded.api.User user,
                                                   long customFieldId,
                                                   java.util.List<Rankable> rankables)
Description copied from interface: RankService
Rank a rankable last, thus add it as last global rankable

Specified by:
rankLast in interface RankService
Parameters:
user - : The user performing the rank operation
rankables - : The rankable to rank

getRankablePosition

@NotNull
public ServiceOutcome<LexoRank> getRankablePosition(long customFieldId,
                                                            Rankable rankable)
Description copied from interface: RankService
Get the position for the given rankable. This is the absolute position in the global index, so it does not have any significance for a particular RapidView except from one showing all rankables in all projects. All that is guaranteed is that rank(a) < rank(b)

Specified by:
getRankablePosition in interface RankService
rankable - : The rankable to rank

createFlatComparator

public ServiceOutcome<java.util.Comparator<Rankable>> createFlatComparator(com.atlassian.crowd.embedded.api.User user,
                                                                           long customFieldId)
Description copied from interface: RankService
Create a 'flat' comparator for Rankables. In a flat comparator, subtasks are ranked according to their absolute rank, not to the rank relative to their parent's rank.

Specified by:
createFlatComparator in interface RankService

createParentSubtaskComparator

public ServiceOutcome<java.util.Comparator<Rankable>> createParentSubtaskComparator(com.atlassian.crowd.embedded.api.User user,
                                                                                    long customFieldId)
Description copied from interface: RankService
Create an issue hierarchy comparator, which orders subtasks relative to their parents. Note: Rankables of type "issue" without an actual issue object will cause this comparator to load the underlying issue object.

Specified by:
createParentSubtaskComparator in interface RankService

canRank

public ServiceOutcome<java.lang.Void> canRank(com.atlassian.crowd.embedded.api.User user,
                                              Rankable rankable)
Description copied from interface: RankService
Returns true if the user has the ability to perform a rank operation for a given issue

Specified by:
canRank in interface RankService
Parameters:
user - : the user in play
rankable - : the rankable in play
Returns:
true if the user can rank this rankable


Copyright © 2007-2014 Atlassian. All Rights Reserved.