@NonInjectableComponent public abstract class

IdIndexedSearchInputTransformer

extends Object
implements SearchInputTransformer
java.lang.Object
   ↳ com.atlassian.jira.issue.search.searchers.transformer.IdIndexedSearchInputTransformer<T>
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

A SearchInputTransformer that handles any field that is represented by its id in the Lucene document, and hence is represented by a select list in the Issue Navigator. May or may not also have flag functions.

Summary

Fields
protected final FieldFlagOperandRegistry fieldFlagOperandRegistry
protected final IndexInfoResolver<T> indexInfoResolver
protected final JqlOperandResolver operandResolver
Public Constructors
IdIndexedSearchInputTransformer(ClauseNames id, IndexInfoResolver<T> indexInfoResolver, JqlOperandResolver operandResolver, FieldFlagOperandRegistry fieldFlagOperandRegistry)
IdIndexedSearchInputTransformer(ClauseNames clauseNames, String urlParameterName, IndexInfoResolver<T> indexInfoResolver, JqlOperandResolver operandResolver, FieldFlagOperandRegistry fieldFlagOperandRegistry)
Public Methods
boolean doRelevantClausesFitFilterForm(ApplicationUser user, Query query, SearchContext searchContext)
Tells the caller whether or not the relevant clauses from the passed query can be represented on the issue navigator.
Clause getSearchClause(ApplicationUser user, FieldValuesHolder fieldValuesHolder)
For this implementation we expect that the fieldValuesHolder will contain a list of strings or nothing at all, if not then this will throw an exception.
void populateFromParams(ApplicationUser user, FieldValuesHolder fieldValuesHolder, ActionParams actionParams)
Populate FieldValuesHolder object with whatever values the searcher is interested in from the ActionParams.
void populateFromQuery(ApplicationUser user, FieldValuesHolder fieldValuesHolder, Query query, SearchContext searchContext)
This method transforms any query information contained in the query that is relevant to this SearchInputTransformer into the values that the HTML rendering expects.
void validateParams(ApplicationUser user, SearchContext searchContext, FieldValuesHolder fieldValuesHolder, I18nHelper i18nHelper, ErrorCollection errors)
Adds error messages to the errors object if values in the fieldValuesHolder fails validation.
Protected Methods
DefaultIndexedInputHelper getDefaultIndexedInputHelper()
IndexedInputHelper getIndexedInputHelper()
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.issue.search.searchers.transformer.SearchInputTransformer

Fields

protected final FieldFlagOperandRegistry fieldFlagOperandRegistry

protected final IndexInfoResolver<T> indexInfoResolver

protected final JqlOperandResolver operandResolver

Public Constructors

public IdIndexedSearchInputTransformer (ClauseNames id, IndexInfoResolver<T> indexInfoResolver, JqlOperandResolver operandResolver, FieldFlagOperandRegistry fieldFlagOperandRegistry)

public IdIndexedSearchInputTransformer (ClauseNames clauseNames, String urlParameterName, IndexInfoResolver<T> indexInfoResolver, JqlOperandResolver operandResolver, FieldFlagOperandRegistry fieldFlagOperandRegistry)

Public Methods

public boolean doRelevantClausesFitFilterForm (ApplicationUser user, Query query, SearchContext searchContext)

Tells the caller whether or not the relevant clauses from the passed query can be represented on the issue navigator. Implementers of this method needs to ensure that it can represent *ALL* related clauses on the navigator, and that the clauses' structure conforms to the simple navigator structure.

The method should only be concerned with the clauses related to this transformer. Other irrelevant clauses should be ignored.

Parameters
user performing this action.
query to check if it can fit in the simple (GUI form based) issue navigator.
searchContext contains the projects and issue types that the search and filter form is restricted to
Returns
  • true if the query can be represented on navigator.

public Clause getSearchClause (ApplicationUser user, FieldValuesHolder fieldValuesHolder)

For this implementation we expect that the fieldValuesHolder will contain a list of strings or nothing at all, if not then this will throw an exception.

Parameters
user the user performing the search
fieldValuesHolder contains values populated by the searchers
Returns
  • Clause that represents the raw values.
Throws
IllegalArgumentException if the value in the field values holder keyed by the searcher id is not a list that contains strings.

public void populateFromParams (ApplicationUser user, FieldValuesHolder fieldValuesHolder, ActionParams actionParams)

Populate FieldValuesHolder object with whatever values the searcher is interested in from the ActionParams. This transforms the "raw" request parameters into a form that the other processing methods can handle (usually a mapping of the fields name as the key and a list of the values as the value).

Parameters
user performing this action.
fieldValuesHolder is the object that should have its values set by this method and that will contain any other values that have been set by other SearchInputTransformers.
actionParams params from the webwork front end that contains a String[] of values as submitted via the

public void populateFromQuery (ApplicationUser user, FieldValuesHolder fieldValuesHolder, Query query, SearchContext searchContext)

This method transforms any query information contained in the query that is relevant to this SearchInputTransformer into the values that the HTML rendering expects. This should populate the FieldValuesHolder from the a query information in the query.
The query elements that are considered "relevant" to this method would be those that are produced by the getSearchClause(ApplicationUser, com.atlassian.jira.issue.transport.FieldValuesHolder) method.

Parameters
user performing this action.
fieldValuesHolder is the object that should have its values set by this method and that will contain any other values that have been set by other SearchInputTransformers.
query the search criteria used to populate the field values holder.
searchContext contains the projects and issue types that the search and filter form is restricted to

public void validateParams (ApplicationUser user, SearchContext searchContext, FieldValuesHolder fieldValuesHolder, I18nHelper i18nHelper, ErrorCollection errors)

Adds error messages to the errors object if values in the fieldValuesHolder fails validation. This should be called once the fieldValuesHolder has been populated.

Parameters
user performing this action.
searchContext the context of the search (i.e. projects and issue types selected).
fieldValuesHolder contains values populated by the populate methods of this input transformer.
i18nHelper used to internationalize error messages that we want to display to the users.
errors the ErrorCollection that contains the messages we want to display to the users.

Protected Methods

protected DefaultIndexedInputHelper getDefaultIndexedInputHelper ()

Returns

protected IndexedInputHelper getIndexedInputHelper ()

Returns