com.atlassian.jira.jql.context
Class CascadingSelectCustomFieldClauseContextFactory

java.lang.Object
  extended by com.atlassian.jira.jql.context.CascadingSelectCustomFieldClauseContextFactory
All Implemented Interfaces:
ClauseContextFactory

@NonInjectableComponent
public class CascadingSelectCustomFieldClauseContextFactory
extends java.lang.Object
implements ClauseContextFactory

The context calculation for cascading select. This context factory is slightly inconsistent from others in JIRA. In other fields it is true that context(field in (a, c)) = context(field = a or field = c). We decided not to enforce this for the cascading select because it uses encoded query literals to represent a single query. For example, the query "field in cascadeoption(p1, NONE)" will actually return "QueryLiteral(id(p1))", "QueryLiteral(-id(p1child1))", "QueryLiteral(-id(p1child2))",...,"QueryLiteral(-id(p1childn))". In this case we look at every literal when calculating the context rather than at each literal indivuidally so that we can produce a some useful context.

Since:
v4.0

Constructor Summary
CascadingSelectCustomFieldClauseContextFactory(CustomField customField, ContextSetUtil contextSetUtil, JqlSelectOptionsUtil jqlSelectOptionsUtil, FieldConfigSchemeClauseContextUtil fieldConfigSchemeClauseContextUtil, JqlOperandResolver jqlOperandResolver, JqlCascadingSelectLiteralUtil jqlCascadingSelectLiteralUtil, OperatorUsageValidator operatorUsageValidator)
           
 
Method Summary
 ClauseContext getClauseContext(com.opensymphony.user.User searcher, TerminalClause terminalClause)
          Generates a clause context for the associated handler.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CascadingSelectCustomFieldClauseContextFactory

public CascadingSelectCustomFieldClauseContextFactory(CustomField customField,
                                                      ContextSetUtil contextSetUtil,
                                                      JqlSelectOptionsUtil jqlSelectOptionsUtil,
                                                      FieldConfigSchemeClauseContextUtil fieldConfigSchemeClauseContextUtil,
                                                      JqlOperandResolver jqlOperandResolver,
                                                      JqlCascadingSelectLiteralUtil jqlCascadingSelectLiteralUtil,
                                                      OperatorUsageValidator operatorUsageValidator)
Method Detail

getClauseContext

public ClauseContext getClauseContext(com.opensymphony.user.User searcher,
                                      TerminalClause terminalClause)
Description copied from interface: ClauseContextFactory
Generates a clause context for the associated handler. If the clause context could not be determined for any reason, this will return the Global Clause Context.

Specified by:
getClauseContext in interface ClauseContextFactory
Parameters:
searcher - the user who is performing the search
terminalClause - the clause for which this factory is generating a context.
Returns:
ClauseContext that contains the implied and explicit project and issue types that this clause is in context for.


Copyright © 2002-2010 Atlassian. All Rights Reserved.