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.AbstractVersionsFunction
          extended by com.atlassian.jira.plugin.jql.function.LatestReleasedVersionFunction
All Implemented Interfaces:
ClauseSanitisingJqlFunction, JqlFunction

public class LatestReleasedVersionFunction
extends AbstractVersionsFunction

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.AbstractVersionsFunction
permissionManager, projectIndexInfoResolver
 
Constructor Summary
LatestReleasedVersionFunction(VersionManager versionManager, ProjectResolver projectResolver, PermissionManager permissionManager)
           
 
Method Summary
protected  Collection<Version> getAllVersions(com.atlassian.crowd.embedded.api.User user)
           
 List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, FunctionOperand operand, TerminalClause terminalClause)
          Gets the unexpanded values provided by the user on input.
protected  Collection<Version> getVersionsForProject(Long projectId)
           
 
Methods inherited from class com.atlassian.jira.plugin.jql.function.AbstractVersionsFunction
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 AbstractVersionsFunction
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.

getAllVersions

protected Collection<Version> getAllVersions(com.atlassian.crowd.embedded.api.User user)
Specified by:
getAllVersions in class AbstractVersionsFunction
Returns:
all the versions relevant to this function.

getVersionsForProject

protected Collection<Version> getVersionsForProject(Long projectId)
Specified by:
getVersionsForProject in class AbstractVersionsFunction
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.