com.atlassian.jira.jql.validator
Class SavedFilterCycleDetector

java.lang.Object
  extended by com.atlassian.jira.jql.validator.SavedFilterCycleDetector

@InjectableComponent
public class SavedFilterCycleDetector
extends Object

Runs through a saved filter to determine if there is any self-reference anywhere in the nested filter.

Since:
v4.0

Constructor Summary
SavedFilterCycleDetector(SavedFilterResolver savedFilterResolver, JqlOperandResolver jqlOperandResolver)
           
 
Method Summary
 boolean containsSavedFilterReference(User searcher, boolean overrideSecurity, SearchRequest savedFilter, Long filterId)
          Checks if the specified saved SearchRequest contains a reference to another saved filter by using the savedFilter clause.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SavedFilterCycleDetector

public SavedFilterCycleDetector(SavedFilterResolver savedFilterResolver,
                                JqlOperandResolver jqlOperandResolver)
Method Detail

containsSavedFilterReference

public boolean containsSavedFilterReference(User searcher,
                                            boolean overrideSecurity,
                                            SearchRequest savedFilter,
                                            Long filterId)
Checks if the specified saved SearchRequest contains a reference to another saved filter by using the savedFilter clause.

Parameters:
searcher - the user performing the search
overrideSecurity - false if we should check permissions
savedFilter - the saved filter to check if it holds a reference to the filter with the filterId
filterId - the id of the filter to check if it can be referenced from the savedFilter, can be null. if null it takes the filter id from the savedFilter, thus checking if it can reference itself
Returns:
true if the filter does contains a reference to the filter with filterId; false otherwise.


Copyright © 2002-2009 Atlassian. All Rights Reserved.