public class ESAuditPageProvider extends AbstractPageProvider<LogEntry> implements PageProvider<LogEntry>
| Modifier and Type | Field and Description |
|---|---|
static String |
CORE_SESSION_PROPERTY |
protected static String |
emptyQuery |
protected Long |
maxResultWindow |
protected org.elasticsearch.action.search.SearchRequest |
searchRequest |
static String |
UICOMMENTS_PROPERTY |
currentEntryIndex, currentHigherNonEmptyPageIndex, currentSelectPage, definition, error, errorMessage, highlights, log, 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, HIGHLIGHT_CTX_DATA, PAGE_LIMIT_UNKNOWN, SKIP_AGGREGATES_PROP, UNKNOWN_SIZE, UNKNOWN_SIZE_AFTER_QUERY| Constructor and Description |
|---|
ESAuditPageProvider() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
allowSimplePattern() |
protected void |
buildAuditQuery(boolean includeSort) |
protected CoreSession |
getCoreSession() |
List<LogEntry> |
getCurrentPage()
Returns the list of current page items.
|
protected ESAuditBackend |
getESBackend() |
protected String |
getFixedPart() |
long |
getMaxResultWindow()
Returns the max result window where the PP can navigate without raising Elasticsearch
QueryPhaseExecutionException.
|
long |
getPageLimit()
Returns the page limit.
|
long |
getResultsCount()
Returns the number of result elements if available or a negative value if it is unknown:
UNKNOWN_SIZE if it is unknown as query was not done, and since 5.5,
UNKNOWN_SIZE_AFTER_QUERY if it is still unknown after query was done. |
List<SortInfo> |
getSortInfos()
Returns the complete list of sorting info for this provider
|
boolean |
isLastPageAvailable()
Returns a boolean expressing if the last page can be displayed.
|
boolean |
isNextPageAvailable()
Returns a boolean expressing if there are further pages.
|
protected boolean |
isNonNullParam(Object[] val) |
protected void |
preprocessCommentsIfNeeded(List<LogEntry> entries) |
void |
refresh()
Refresh hook, to override for custom behavior
|
void |
setMaxResultWindow(long maxResultWindow)
Set the max result window where the PP can navigate, for testing purpose.
|
String |
toString() |
addQuickFilter, addSortInfo, fireSearchEvent, firstPage, getAggregateDefinitions, getAggregates, getAvailableQuickFilters, getBooleanProperty, getCurrentEntry, getCurrentHigherNonEmptyPageIndex, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageSize, getCurrentPageStatus, getCurrentSelectPage, getDefaultMaxPageSize, getDefinition, getError, getErrorMessage, getHighlights, getMaxNumberOfEmptyPages, getMaxPageSize, getMinMaxPageSize, getName, getNumberOfPages, getPageSize, getPageSizeOptions, getParameters, getParametersChanged, getProperties, getQuickFilters, getResultsCountLimit, getSearchDocumentModel, getSortInfo, getSortInfoIndex, hasAggregateSupport, hasChangedParameters, hasError, incorporateAggregates, isNextEntryAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSkipAggregates, isSortable, isTrackingEnabled, lastPage, nextEntry, nextPage, notifyPageChanged, notifyRefresh, pageChanged, previousEntry, previousPage, searchDocumentModelChanged, setCurrentEntry, setCurrentEntryIndex, setCurrentHigherNonEmptyPageIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setHighlights, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setPageSizeOptions, setParameters, setProperties, setQuickFilters, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfos, sortInfoChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddQuickFilter, addSortInfo, firstPage, getAggregateDefinitions, getAggregates, getAvailableQuickFilters, getCurrentEntry, getCurrentPageIndex, getCurrentPageOffset, getCurrentPageSize, getCurrentPageStatus, getCurrentSelectPage, getDefinition, getError, getErrorMessage, getHighlights, getMaxPageSize, getName, getNumberOfPages, getPageSize, getPageSizeOptions, getParameters, getProperties, getQuickFilters, getResultsCountLimit, getSearchDocumentModel, getSortInfo, getSortInfoIndex, hasAggregateSupport, hasChangedParameters, hasError, isNextEntryAvailable, isPreviousEntryAvailable, isPreviousPageAvailable, isSkipAggregates, isSortable, lastPage, nextEntry, nextPage, previousEntry, previousPage, setCurrentEntry, setCurrentEntryIndex, setCurrentPage, setCurrentPageIndex, setCurrentPageOffset, setDefinition, setHighlights, setMaxPageSize, setName, setPageProviderChangedListener, setPageSize, setPageSizeOptions, setParameters, setProperties, setQuickFilters, setResultsCount, setSearchDocumentModel, setSelectedEntries, setSortable, setSortInfo, setSortInfo, setSortInfosprotected org.elasticsearch.action.search.SearchRequest searchRequest
public static final String CORE_SESSION_PROPERTY
public static final String UICOMMENTS_PROPERTY
protected static String emptyQuery
protected Long maxResultWindow
public ESAuditPageProvider()
protected CoreSession getCoreSession()
protected void preprocessCommentsIfNeeded(List<LogEntry> entries)
public List<LogEntry> 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<LogEntry>getCurrentPage in class AbstractPageProvider<LogEntry>protected boolean isNonNullParam(Object[] val)
protected String getFixedPart()
protected boolean allowSimplePattern()
protected ESAuditBackend getESBackend()
protected void buildAuditQuery(boolean includeSort)
public 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<LogEntry>refresh in class AbstractPageProvider<LogEntry>public long getResultsCount()
PageProviderUNKNOWN_SIZE if it is unknown as query was not done, and since 5.5,
UNKNOWN_SIZE_AFTER_QUERY if it is still unknown after query was done.getResultsCount in interface PageProvider<LogEntry>getResultsCount in class AbstractPageProvider<LogEntry>public List<SortInfo> getSortInfos()
PageProvidergetSortInfos in interface PageProvider<LogEntry>getSortInfos in class AbstractPageProvider<LogEntry>public boolean isLastPageAvailable()
PageProviderisLastPageAvailable in interface PageProvider<LogEntry>isLastPageAvailable in class AbstractPageProvider<LogEntry>public boolean isNextPageAvailable()
PageProviderisNextPageAvailable in interface PageProvider<LogEntry>isNextPageAvailable in class AbstractPageProvider<LogEntry>public long getPageLimit()
AbstractPageProvidergetPageLimit in interface PageProvider<LogEntry>getPageLimit in class AbstractPageProvider<LogEntry>public long getMaxResultWindow()
from + size must be less than or equal to this value.public void setMaxResultWindow(long maxResultWindow)
Copyright © 2019 Nuxeo. All rights reserved.