com.atlassian.jira.plugin.jql.function
Class LatestReleasedVersionFunction

java.lang.Object
  extended by com.atlassian.jira.plugin.jql.function.AbstractJqlFunction
      extended by com.atlassian.jira.plugin.jql.function.AbstractSingleVersionFunction
          extended by com.atlassian.jira.plugin.jql.function.LatestReleasedVersionFunction
All Implemented Interfaces:
ClauseSanitisingJqlFunction, JqlFunction

public class LatestReleasedVersionFunction
extends AbstractSingleVersionFunction

Function that produces the last released version for any specified projects. The versions are sequenced in the the user specified order (not the release date).

Projects are resolved by project key first, then name, then id. Only Versions from Projects which the current user can browse will be returned.

Since:
v4.3

Field Summary
static String FUNCTION_LATEST_RELEASED_VERSION
           
 
Fields inherited from class com.atlassian.jira.plugin.jql.function.AbstractSingleVersionFunction
projectIndexInfoResolver
 
Constructor Summary
LatestReleasedVersionFunction(VersionManager versionManager, ProjectResolver projectResolver, PermissionManager permissionManager)
           
 
Method Summary
 List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, FunctionOperand operand, TerminalClause terminalClause)
          Gets the unexpanded values provided by the user on input.
protected  Version getVersionForProject(Long projectId)
           
 
Methods inherited from class com.atlassian.jira.plugin.jql.function.AbstractSingleVersionFunction
createIndexInfoResolver, getDataType, getMinimumNumberOfExpectedArguments, sanitiseOperand, validate
 
Methods inherited from class com.atlassian.jira.plugin.jql.function.AbstractJqlFunction
getFunctionName, getI18n, getModuleDescriptor, init, isList, validateNumberOfArgs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FUNCTION_LATEST_RELEASED_VERSION

public static final String FUNCTION_LATEST_RELEASED_VERSION
See Also:
Constant Field Values
Constructor Detail

LatestReleasedVersionFunction

public LatestReleasedVersionFunction(VersionManager versionManager,
                                     ProjectResolver projectResolver,
                                     PermissionManager permissionManager)
Method Detail

getValues

public List<QueryLiteral> getValues(QueryCreationContext queryCreationContext,
                                    FunctionOperand operand,
                                    TerminalClause terminalClause)
Description copied from interface: JqlFunction

Gets the unexpanded values provided by the user on input. This is the output values that will later be transformed into index values.

For example, a function who returns all the released versions of a specified project should return QueryLiterals representing the ids of those versions. For correctness, always opt to return the most specific identifier for the object; if you can return either the id (which is stored in the index) or a string name (that would require resolving to get the index value), choose the id.

Specified by:
getValues in interface JqlFunction
Overrides:
getValues in class AbstractSingleVersionFunction
Parameters:
queryCreationContext - the context of query creation
operand - the operand to get values from
terminalClause - the terminal clause that contains the operand
Returns:
a List of objects that represent this Operands raw values. Cannot be null.

getVersionForProject

protected Version getVersionForProject(Long projectId)
Specified by:
getVersionForProject in class AbstractSingleVersionFunction
Parameters:
projectId - the id of the Project which the versions belong to
Returns:
all the versions relevant to this function and the specified project


Copyright © 2002-2012 Atlassian. All Rights Reserved.