public class ElasticSearchNxqlPageProvider extends CoreQueryDocumentPageProvider
| Modifier and Type | Field and Description |
|---|---|
static String |
CORE_SESSION_PROPERTY |
protected HashMap<String,Aggregate<? extends Bucket>> |
currentAggregates |
protected List<DocumentModel> |
currentPageDocuments |
protected static org.apache.commons.logging.Log |
log |
static String |
SEARCH_ON_ALL_REPOSITORIES_PROPERTY |
CHECK_QUERY_CACHE_PROPERTY, DEFAULT_NAVIGATION_RESULTS_KEY, DEFAULT_NAVIGATION_RESULTS_PROPERTY, DEFAULT_NAVIGATION_RESULTS_VALUE, DETACH_DOCUMENTS_PROPERTY, MAX_RESULTS_PROPERTY, maxResults, PAGE_SIZE_RESULTS_KEY, query, USE_UNRESTRICTED_SESSION_PROPERTYcurrentEntryIndex, currentHigherNonEmptyPageIndex, currentSelectPage, definition, error, errorMessage, maxPageSize, name, offset, PAGEPROVIDER_TRACK_PROPERTY_NAME, pageProviderChangedListener, pageSize, pageSizeOptions, parameters, properties, quickFilters, resultsCount, searchDocumentModel, selectedEntries, SKIPPED_SCHEMAS_FOR_SEARCHFIELD, sortable, sortInfos, trackingDEFAULT_MAX_PAGE_SIZE, DEFAULT_MAX_PAGE_SIZE_RUNTIME_PROP, PAGE_LIMIT_UNKNOWN, UNKNOWN_SIZE, UNKNOWN_SIZE_AFTER_QUERY| Constructor and Description |
|---|
ElasticSearchNxqlPageProvider() |
| Modifier and Type | Method and Description |
|---|---|
Map<String,Aggregate<? extends Bucket>> |
getAggregates() |
protected CoreSession |
getCoreSession() |
List<DocumentModel> |
getCurrentPage()
Returns the list of current page items.
|
org.elasticsearch.index.query.QueryBuilder |
getCurrentQueryAsEsBuilder() |
protected int |
getLimit() |
boolean |
hasAggregateSupport() |
protected void |
incorporateAggregates(Map<String,Serializable> eventProps)
Extends the default implementation to add results of aggregates
|
protected void |
pageChanged()
Page change hook, to override for custom behavior
|
void |
refresh()
Refresh hook, to override for custom behavior
|
protected boolean |
searchOnAllRepositories() |
buildQuery, checkQueryCache, detachDocuments, getCurrentQuery, getCurrentSelectPage, getFilter, getMaxResults, getPageLimit, setMaxResults, useUnrestrictedSessionaddQuickFilter, addSortInfo, fireSearchEvent, firstPage, getAggregateDefinitions, getAvailableQuickFilters, getBooleanProperty, getCurrentEntry, getCurrentHigherNonEmptyPageIndex, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageSize, getCurrentPageStatus, getDefaultMaxPageSize, getDefinition, getError, getErrorMessage, getMaxNumberOfEmptyPages, getMaxPageSize, getMinMaxPageSize, getName, getNumberOfPages, getPageSize, getPageSizeOptions, getParameters, getParametersChanged, getProperties, getQuickFilters, getResultsCount, getSearchDocumentModel, getSortInfo, getSortInfoIndex, getSortInfos, hasChangedParameters, hasError, isLastPageAvailable, isNextEntryAvailable, isNextPageAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSortable, isTrackingEnabled, last, lastPage, next, nextEntry, nextPage, notifyPageChanged, notifyRefresh, previous, previousEntry, previousPage, rewind, searchDocumentModelChanged, setCurrentEntry, setCurrentEntryIndex, setCurrentHigherNonEmptyPageIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setPageSizeOptions, setParameters, setProperties, setQuickFilters, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos, sortInfoChangedpublic static final String CORE_SESSION_PROPERTY
public static final String SEARCH_ON_ALL_REPOSITORIES_PROPERTY
protected static final org.apache.commons.logging.Log log
protected List<DocumentModel> currentPageDocuments
protected HashMap<String,Aggregate<? extends Bucket>> currentAggregates
public ElasticSearchNxqlPageProvider()
public List<DocumentModel> getCurrentPage()
AbstractPageProvider
Custom implementation can be added here, based on the page provider properties, parameters and
WhereClauseDefinition on the PageProviderDefinition, as well as search document, sort
information, etc...
Implementation of this method usually consists in setting a non-null value to a field caching current items, and
nullifying this field by overriding AbstractPageProvider.pageChanged() and AbstractPageProvider.refresh().
Fields AbstractPageProvider.errorMessage and AbstractPageProvider.error can also be filled to provide accurate feedback in case an error
occurs during the search.
When items are retrieved, a call to AbstractPageProvider.setResultsCount(long) should be made to ensure proper pagination as
implemented in this abstract class. The implementation in CoreQueryAndFetchPageProvider is a good example
when the total results count is known.
If for performance reasons, for instance, the number of results cannot be known, a fall-back strategy can be
applied to provide the "next" button but not the "last" one, by calling
AbstractPageProvider.getCurrentHigherNonEmptyPageIndex() and AbstractPageProvider.setCurrentHigherNonEmptyPageIndex(int). In this case,
CoreQueryDocumentPageProvider is a good example.
getCurrentPage in interface PageProvider<DocumentModel>getCurrentPage in class CoreQueryDocumentPageProviderprotected int getLimit()
public org.elasticsearch.index.query.QueryBuilder getCurrentQueryAsEsBuilder()
protected void pageChanged()
AbstractPageProvider
When overriding it, call super.pageChanged() as last statement to make sure that the
PageProviderChangedListener is called with the up-to-date @{code PageProvider} state.
pageChanged in class CoreQueryDocumentPageProviderpublic void refresh()
AbstractPageProvider
When overriding it, call super.refresh() as last statement to make sure that the
PageProviderChangedListener is called with the up-to-date @{code PageProvider} state.
refresh in interface PageProvider<DocumentModel>refresh in class CoreQueryDocumentPageProviderprotected CoreSession getCoreSession()
getCoreSession in class CoreQueryDocumentPageProviderprotected boolean searchOnAllRepositories()
public boolean hasAggregateSupport()
hasAggregateSupport in interface PageProvider<DocumentModel>hasAggregateSupport in class AbstractPageProvider<DocumentModel>public Map<String,Aggregate<? extends Bucket>> getAggregates()
getAggregates in interface PageProvider<DocumentModel>getAggregates in class AbstractPageProvider<DocumentModel>protected void incorporateAggregates(Map<String,Serializable> eventProps)
incorporateAggregates in class AbstractPageProvider<DocumentModel>Copyright © 2016 Nuxeo SA. All rights reserved.