Class OpenSearchAuditPageProvider
- All Implemented Interfaces:
Serializable
,PageProvider<LogEntry>
- Direct Known Subclasses:
OpenSearchDocumentHistoryPageProvider
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final long
protected static String
protected Long
static final String
protected org.opensearch.action.search.SearchRequest
static final String
Deprecated, for removal: This API element is subject to removal in a future version.since 2025.0, unusedFields 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, tracking
Fields 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 boolean
protected void
buildAuditQuery
(boolean includeSort) protected CoreSession
Returns the list of current page items.protected String
long
Returns the max result window where the PP can navigate without raising OpenSearch QueryPhaseExecutionException.protected OpenSearchAuditBackend
long
Returns the page limit.long
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.Returns the complete list of sorting info for this providerboolean
Returns a boolean expressing if the last page can be displayed.boolean
Returns a boolean expressing if there are further pages.void
refresh()
Refresh hook, to override for custom behaviorvoid
setMaxResultWindow
(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, sortInfoChanged
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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, getScroller, 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
-
OS_MAX_RESULT_WINDOW_PROPERTY
- See Also:
-
DEFAULT_OS_MAX_RESULT_WINDOW_VALUE
public static final long DEFAULT_OS_MAX_RESULT_WINDOW_VALUE- See Also:
-
CORE_SESSION_PROPERTY
- See Also:
-
UICOMMENTS_PROPERTY
Deprecated, for removal: This API element is subject to removal in a future version.since 2025.0, unused- See Also:
-
emptyQuery
-
searchRequest
protected org.opensearch.action.search.SearchRequest searchRequest -
maxResultWindow
-
-
Constructor Details
-
OpenSearchAuditPageProvider
public OpenSearchAuditPageProvider()
-
-
Method Details
-
toString
-
getCoreSession
-
getCurrentPage
Description copied from class:AbstractPageProvider
Returns the list of current page items.Custom implementation can be added here, based on the page provider properties, parameters and
WhereClauseDefinition
on 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.errorMessage
andAbstractPageProvider.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 inCoreQueryAndFetchPageProvider
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()
andAbstractPageProvider.setCurrentHigherNonEmptyPageIndex(int)
. In this case,CoreQueryDocumentPageProvider
is a good example.- Specified by:
getCurrentPage
in interfacePageProvider<LogEntry>
- Specified by:
getCurrentPage
in classAbstractPageProvider<LogEntry>
- Returns:
- the current page
-
getFixedPart
-
allowSimplePattern
protected boolean allowSimplePattern() -
getOSBackend
-
buildAuditQuery
protected void buildAuditQuery(boolean includeSort) -
refresh
public void refresh()Description copied from class:AbstractPageProvider
Refresh hook, to override for custom behaviorWhen overriding it, call
super.refresh()
as last statement to make sure that thePageProviderChangedListener
is called with the up-to-date @{code PageProvider} state.- Specified by:
refresh
in interfacePageProvider<LogEntry>
- Overrides:
refresh
in classAbstractPageProvider<LogEntry>
-
getResultsCount
public long getResultsCount()Description copied from interface:PageProvider
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.- Specified by:
getResultsCount
in interfacePageProvider<LogEntry>
- Overrides:
getResultsCount
in classAbstractPageProvider<LogEntry>
-
getSortInfos
Description copied from interface:PageProvider
Returns the complete list of sorting info for this provider- Specified by:
getSortInfos
in interfacePageProvider<LogEntry>
- Overrides:
getSortInfos
in classAbstractPageProvider<LogEntry>
-
isLastPageAvailable
public boolean isLastPageAvailable()Description copied from interface:PageProvider
Returns a boolean expressing if the last page can be displayed.- Specified by:
isLastPageAvailable
in interfacePageProvider<LogEntry>
- Overrides:
isLastPageAvailable
in classAbstractPageProvider<LogEntry>
-
isNextPageAvailable
public boolean isNextPageAvailable()Description copied from interface:PageProvider
Returns a boolean expressing if there are further pages.- Specified by:
isNextPageAvailable
in interfacePageProvider<LogEntry>
- Overrides:
isNextPageAvailable
in classAbstractPageProvider<LogEntry>
-
getPageLimit
public long getPageLimit()Description copied from class:AbstractPageProvider
Returns the page limit. The n first page we know they exist.- Specified by:
getPageLimit
in interfacePageProvider<LogEntry>
- Overrides:
getPageLimit
in classAbstractPageProvider<LogEntry>
-
getMaxResultWindow
public long getMaxResultWindow()Returns the max result window where the PP can navigate without raising OpenSearch QueryPhaseExecutionException.from + size
must 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
-