com.atlassian.jira.bc.filter
Interface SearchRequestService

All Known Implementing Classes:
DefaultSearchRequestService

public interface SearchRequestService

Service exposing Search Request Management and retrieval.

Since:
v3.13

Method Summary
 SearchRequest createFilter(JiraServiceContext serviceCtx, SearchRequest request)
          Persists a SearchRequest to the database.
 SearchRequest createFilter(JiraServiceContext serviceCtx, SearchRequest request, boolean isFavourite)
          Persists a SearchRequest to the database.
 void deleteAllFiltersForUser(JiraServiceContext serviceCtx, User user)
          Delete all filters for a given user
 void deleteFilter(JiraServiceContext serviceCtx, Long filterId)
          Delete a given filter.
 Collection getFavouriteFilters(User user)
          Retrieve all filters a user has favourited.
 SearchRequest getFilter(JiraServiceContext serviceCtx, Long filterId)
          Retrieve a given filter by id.
 Collection getFiltersFavouritedByOthers(User user)
          Get filters owned by a given user that have been favourited by at least one other user
 Collection getNonPrivateFilters(User user)
          Get a user's non private filters.
 Collection getOwnedFilters(User user)
          Retrieve all filters a user owns/has created.
 SharedEntitySearchResult search(JiraServiceContext serviceCtx, SharedEntitySearchParameters searchParameters, int pagePosition, int pageWidth)
          Search for the SearchRequests that match the passed searchParameters.
 SearchRequest updateFilter(JiraServiceContext serviceCtx, SearchRequest request)
          Persists a SearchRequest to the database.
 SearchRequest updateFilter(JiraServiceContext serviceCtx, SearchRequest request, boolean isFavourite)
          Persists a SearchRequest to the database.
 SearchRequest updateSearchParameters(JiraServiceContext serviceCtx, SearchRequest request)
          Persists changes to passed SearchRequest's search parameters and search sorts.
 void validateFilterForCreate(JiraServiceContext serviceCtx, SearchRequest request)
          Validates that a filter is in a correct state to be created.
 void validateFilterForUpdate(JiraServiceContext serviceCtx, SearchRequest request)
          Validates that a filter is in a correct state to be updated.
 void validateForDelete(JiraServiceContext serviceCtx, Long filterId)
          Validates that the filter can be deleted successfully.
 void validateForSearch(JiraServiceContext serviceCtx, SharedEntitySearchParameters searchParameters)
          This will validate that the input parameters are valid for a search that encompasses ANY share entity type.
 boolean validateUpdateSearchParameters(JiraServiceContext serviceContext, SearchRequest request)
          Validate that the passed SearchRequest's search parameters and search sorts can be persisted.
 

Method Detail

getFavouriteFilters

Collection getFavouriteFilters(User user)
Retrieve all filters a user has favourited. Permission checks are done to ensure the user can see the filter, as visibility may have been removed from underneath them.

Parameters:
user - The user who has favourite filters. Also to test visibility and with
Returns:
a Collection of SearchRequest objects that represent filters the user has favourited.

getOwnedFilters

Collection getOwnedFilters(User user)
Retrieve all filters a user owns/has created.

Parameters:
user - The user who created the filters.
Returns:
a Collection of SearchRequest objects that represent filters the user has created.

getNonPrivateFilters

Collection getNonPrivateFilters(User user)
Get a user's non private filters. I.e. filters that other users can possibly see.

Parameters:
user - The author of the filters
Returns:
Collection of SearchRequest objects that do not have private scope.

getFiltersFavouritedByOthers

Collection getFiltersFavouritedByOthers(User user)
Get filters owned by a given user that have been favourited by at least one other user

Parameters:
user - The author of the filters
Returns:
Collection of SearchRequest objects owned by the given user and favourited by at least one other user

deleteFilter

void deleteFilter(JiraServiceContext serviceCtx,
                  Long filterId)
Delete a given filter.

Parameters:
serviceCtx - JIRA Service context containing an error collection and user performing action. User must be owner of filter, else error is passed back through the error collection.
filterId - The id of the filter to delete. Id must not be null, else error is passed back through the error collection.

deleteAllFiltersForUser

void deleteAllFiltersForUser(JiraServiceContext serviceCtx,
                             User user)
Delete all filters for a given user

Parameters:
serviceCtx - JIRA Service context containing an error collection and user performing action
user - The user to remove all filters for

getFilter

SearchRequest getFilter(JiraServiceContext serviceCtx,
                        Long filterId)
Retrieve a given filter by id.

Parameters:
serviceCtx - JIRA Service context containing an error collection and user requesting (to run) the filter. The filter must exist and the user must be able to see filter else an error will result.
filterId - The id of the filter to retrieve. Id must not be null.
Returns:
The Filter as specified by the id, or null if none exists for the user.

validateFilterForUpdate

void validateFilterForUpdate(JiraServiceContext serviceCtx,
                             SearchRequest request)
Validates that a filter is in a correct state to be updated.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
request - the SearchRequest to validate

validateUpdateSearchParameters

boolean validateUpdateSearchParameters(JiraServiceContext serviceContext,
                                       SearchRequest request)
Validate that the passed SearchRequest's search parameters and search sorts can be persisted. This method does *not* check the validity of the name, description, share permissions or any other fields in the SearchRequest. Any errors will be reported in the passed context.

Parameters:
serviceContext - Context containing user, error collection and i18n bean
request - the request to validate.
Returns:
true iff the passed request's parameters can be saved.

validateFilterForCreate

void validateFilterForCreate(JiraServiceContext serviceCtx,
                             SearchRequest request)
Validates that a filter is in a correct state to be created.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
request - the SearchRequest to validate

validateForDelete

void validateForDelete(JiraServiceContext serviceCtx,
                       Long filterId)
Validates that the filter can be deleted successfully.

Parameters:
serviceCtx - context of the calling user.
filterId - the filter to delete.

createFilter

SearchRequest createFilter(JiraServiceContext serviceCtx,
                           SearchRequest request)
Persists a SearchRequest to the database.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
request - the request to save
Returns:
returns the SearchRequest that was persisted to the database.

createFilter

SearchRequest createFilter(JiraServiceContext serviceCtx,
                           SearchRequest request,
                           boolean isFavourite)
Persists a SearchRequest to the database.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
request - the request to save
isFavourite - saves the SearchRequest as a favourite (or not)
Returns:
returns the SearchRequest that was persisted to the database.

updateFilter

SearchRequest updateFilter(JiraServiceContext serviceCtx,
                           SearchRequest request)
Persists a SearchRequest to the database.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
request - the request to update
Returns:
returns the SearchRequest that was persisted to the database.

updateFilter

SearchRequest updateFilter(JiraServiceContext serviceCtx,
                           SearchRequest request,
                           boolean isFavourite)
Persists a SearchRequest to the database.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
request - the request to update
isFavourite - saves the SearchRequest as a favourite (or not)
Returns:
returns the SearchRequest that was persisted to the database.

updateSearchParameters

SearchRequest updateSearchParameters(JiraServiceContext serviceCtx,
                                     SearchRequest request)
Persists changes to passed SearchRequest's search parameters and search sorts. Changes to the SearchRequest's other fields (name, description, share permissions, ...) are not saved. Any errors will be reported in the passed context. This method does not check the validity of the SearchRequest's share permissions when saving. This is to allow JIRA to save search parameter changes even when the SearchRequest's permissions are invalid.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
request - the request to update.
Returns:
returns the SearchRequest that was persisted to the database. May return null if an error occurs. The passed service context will have details of any errors.

validateForSearch

void validateForSearch(JiraServiceContext serviceCtx,
                       SharedEntitySearchParameters searchParameters)
This will validate that the input parameters are valid for a search that encompasses ANY share entity type.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
searchParameters - the SharedEntitySearchParameters to validate

search

SharedEntitySearchResult search(JiraServiceContext serviceCtx,
                                SharedEntitySearchParameters searchParameters,
                                int pagePosition,
                                int pageWidth)
Search for the SearchRequests that match the passed searchParameters. The result can be paged so that a subset of the results can be returned.

Parameters:
serviceCtx - Context containing user, error collection and i18n bean
searchParameters - the searchParameters to query.
pagePosition - the page to return.
pageWidth - the number of results per page.
Returns:
the result of the search.


Copyright © 2002-2009 Atlassian. All Rights Reserved.