Class ESAuditPageProvider
- All Implemented Interfaces:
Serializable,PageProvider<LogEntry>
- Direct Known Subclasses:
ESDocumentHistoryPageProvider
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected static Stringprotected Longprotected org.opensearch.action.search.SearchRequeststatic final StringFields inherited from class org.nuxeo.ecm.platform.query.api.AbstractPageProvider
currentEntryIndex, currentHigherNonEmptyPageIndex, currentSelectPage, definition, error, errorMessage, highlights, maxPageSize, name, offset, PAGEPROVIDER_TRACK_PROPERTY_NAME, pageProviderChangedListener, pageSize, pageSizeOptions, parameters, properties, quickFilters, resultsCount, searchDocumentModel, selectedEntries, SKIPPED_SCHEMAS_FOR_SEARCHFIELD, sortable, sortInfos, trackingFields inherited from interface org.nuxeo.ecm.platform.query.api.PageProvider
DEFAULT_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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanprotected voidbuildAuditQuery(boolean includeSort) protected CoreSessionReturns the list of current page items.protected ESAuditBackendprotected StringlongReturns the max result window where the PP can navigate without raising Elasticsearch QueryPhaseExecutionException.longReturns the page limit.longReturns the number of result elements if available or a negative value if it is unknown:UNKNOWN_SIZEif it is unknown as query was not done, and since 5.5,UNKNOWN_SIZE_AFTER_QUERYif it is still unknown after query was done.Returns the complete list of sorting info for this providerbooleanReturns a boolean expressing if the last page can be displayed.booleanReturns a boolean expressing if there are further pages.protected booleanisNonNullParam(Object[] val) protected voidpreprocessCommentsIfNeeded(List<LogEntry> entries) voidrefresh()Refresh hook, to override for custom behaviorvoidsetMaxResultWindow(long maxResultWindow) Set the max result window where the PP can navigate, for testing purpose.toString()Methods inherited from class org.nuxeo.ecm.platform.query.api.AbstractPageProvider
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, sortInfoChangedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.nuxeo.ecm.platform.query.api.PageProvider
addQuickFilter, 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, setSortInfos
-
Field Details
-
searchRequest
protected org.opensearch.action.search.SearchRequest searchRequest -
CORE_SESSION_PROPERTY
- See Also:
-
UICOMMENTS_PROPERTY
- See Also:
-
emptyQuery
-
maxResultWindow
-
-
Constructor Details
-
ESAuditPageProvider
public ESAuditPageProvider()
-
-
Method Details
-
toString
-
getCoreSession
-
preprocessCommentsIfNeeded
-
getCurrentPage
Description copied from class:AbstractPageProviderReturns the list of current page items.Custom implementation can be added here, based on the page provider properties, parameters and
WhereClauseDefinitionon thePageProviderDefinition, 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()andAbstractPageProvider.refresh().Fields
AbstractPageProvider.errorMessageandAbstractPageProvider.errorcan 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 inCoreQueryAndFetchPageProvideris 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()andAbstractPageProvider.setCurrentHigherNonEmptyPageIndex(int). In this case,CoreQueryDocumentPageProvideris a good example.- Specified by:
getCurrentPagein interfacePageProvider<LogEntry>- Specified by:
getCurrentPagein classAbstractPageProvider<LogEntry>- Returns:
- the current page
-
isNonNullParam
-
getFixedPart
-
allowSimplePattern
protected boolean allowSimplePattern() -
getESBackend
-
buildAuditQuery
protected void buildAuditQuery(boolean includeSort) -
refresh
public void refresh()Description copied from class:AbstractPageProviderRefresh hook, to override for custom behaviorWhen overriding it, call
super.refresh()as last statement to make sure that thePageProviderChangedListeneris called with the up-to-date @{code PageProvider} state.- Specified by:
refreshin interfacePageProvider<LogEntry>- Overrides:
refreshin classAbstractPageProvider<LogEntry>
-
getResultsCount
public long getResultsCount()Description copied from interface:PageProviderReturns the number of result elements if available or a negative value if it is unknown:UNKNOWN_SIZEif it is unknown as query was not done, and since 5.5,UNKNOWN_SIZE_AFTER_QUERYif it is still unknown after query was done.- Specified by:
getResultsCountin interfacePageProvider<LogEntry>- Overrides:
getResultsCountin classAbstractPageProvider<LogEntry>
-
getSortInfos
Description copied from interface:PageProviderReturns the complete list of sorting info for this provider- Specified by:
getSortInfosin interfacePageProvider<LogEntry>- Overrides:
getSortInfosin classAbstractPageProvider<LogEntry>
-
isLastPageAvailable
public boolean isLastPageAvailable()Description copied from interface:PageProviderReturns a boolean expressing if the last page can be displayed.- Specified by:
isLastPageAvailablein interfacePageProvider<LogEntry>- Overrides:
isLastPageAvailablein classAbstractPageProvider<LogEntry>
-
isNextPageAvailable
public boolean isNextPageAvailable()Description copied from interface:PageProviderReturns a boolean expressing if there are further pages.- Specified by:
isNextPageAvailablein interfacePageProvider<LogEntry>- Overrides:
isNextPageAvailablein classAbstractPageProvider<LogEntry>
-
getPageLimit
public long getPageLimit()Description copied from class:AbstractPageProviderReturns the page limit. The n first page we know they exist.- Specified by:
getPageLimitin interfacePageProvider<LogEntry>- Overrides:
getPageLimitin classAbstractPageProvider<LogEntry>
-
getMaxResultWindow
public long getMaxResultWindow()Returns the max result window where the PP can navigate without raising Elasticsearch QueryPhaseExecutionException.from + sizemust be less than or equal to this value.- Since:
- 9.2
-
setMaxResultWindow
public void setMaxResultWindow(long maxResultWindow) Set the max result window where the PP can navigate, for testing purpose.- Since:
- 9.2
-