use of org.opencastproject.index.service.impl.index.theme.ThemeQueryBuilder in project opencast by opencast.
the class AbstractSearchIndex method getByQuery.
/**
* @param query
* The query to use to retrieve the themes that match the query
* @return {@link SearchResult} collection of {@link Theme} from a query.
* @throws SearchIndexException
* Thrown if there is an error getting the results.
*/
public SearchResult<Theme> getByQuery(ThemeSearchQuery query) throws SearchIndexException {
logger.debug("Searching index using theme query '{}'", query);
// Create the request builder
SearchRequestBuilder requestBuilder = getSearchRequestBuilder(query, new ThemeQueryBuilder(query));
try {
return executeQuery(query, requestBuilder, new Fn<SearchMetadataCollection, Theme>() {
@Override
public Theme apply(SearchMetadataCollection metadata) {
try {
return ThemeIndexUtils.toTheme(metadata);
} catch (IOException e) {
return chuck(e);
}
}
});
} catch (Throwable t) {
throw new SearchIndexException("Error querying theme index", t);
}
}
Aggregations