Package org.nuxeo.audit.mem
Class MemAuditBackend
java.lang.Object
org.nuxeo.ecm.platform.audit.service.AbstractAuditBackend<LogEntry>
org.nuxeo.audit.service.AbstractAuditBackend
org.nuxeo.audit.mem.MemAuditBackend
- All Implemented Interfaces:
AuditBackend,AuditBackend.CursorServiceScroll<Iterator<LogEntry>,,LogEntry> AuditAdmin,AuditLogger<LogEntry>,AuditReader<LogEntry>,AuditStorage,Logs<LogEntry>,AuditBackend<LogEntry>
public class MemAuditBackend
extends AbstractAuditBackend
implements AuditBackend.CursorServiceScroll<Iterator<LogEntry>,LogEntry>
- Since:
- 2025.0
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.nuxeo.audit.service.AuditBackend
AuditBackend.Capability, AuditBackend.CursorServiceScroll<C,O> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final CursorService<Iterator<LogEntry>, LogEntry, String> protected final org.apache.commons.collections4.queue.CircularFifoQueue<LogEntry> protected static final com.fasterxml.jackson.databind.ObjectMapperFields inherited from class org.nuxeo.audit.service.AbstractAuditBackend
log, nameFields inherited from class org.nuxeo.ecm.platform.audit.service.AbstractAuditBackend
component, config, expressionEvaluator, FORCE_AUDIT_FACET -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidINTERNAL METHOD FOR TESTS, DO NOT USE.protected intprotected ObjectconvertToLiteralsJavaType(Object leftValue) protected Comparator<LogEntry> createComparator(OrderByExpr queryOrder) protected Comparator<LogEntry> createComparator(OrderByList queryOrders) createPredicate(Predicate queryPredicate) getEventsCount(String eventId) getLogEntryByID(long id) Returns a given log entry given its id.booleanhasCapability(AuditBackend.Capability capability) Checks whether the backend has the capability.voidinsertLogs(Collection<LogEntry> entries) Inserts the given log entries into the backend.mapJsonContent(Map<String, Object> extended) List<?> nativeQuery(String query, Map<String, Object> params, int pageNb, int pageSize) Returns a batched list of entries.queryLogs(QueryBuilder builder) Returns the logs given a collection of predicates and a default sort.scrollLogIdsAsCursor(QueryBuilder builder, int batchSize, Duration keepAlive) Methods inherited from class org.nuxeo.audit.service.AbstractAuditBackend
addLogEntries, append, doCreateAndFillEntryFromDocument, getApplicationStartedOrder, newExtendedInfo, onApplicationStarted, onApplicationStopped, scroll, scroll, setName, syncLogCreationEntriesMethods inherited from class org.nuxeo.ecm.platform.audit.service.AbstractAuditBackend
await, buildEntryFromEvent, doPutExtendedInfos, doSyncNode, getAuditableEventNames, guardedDocument, guardedDocumentChildren, isAuditable, newLogEntry, populateExtendedInfo, restore, syncLogCreationEntriesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.nuxeo.ecm.platform.audit.api.AuditAdmin
syncLogCreationEntriesMethods inherited from interface org.nuxeo.audit.service.AuditBackend
addLogEntries, getLatestLogId, getLogEntriesForMethods inherited from interface org.nuxeo.ecm.platform.audit.service.AuditBackend
getApplicationStartedOrder, onApplicationStarted, onApplicationStopped, restoreMethods inherited from interface org.nuxeo.audit.service.AuditBackend.CursorServiceScroll
clearScrollLogIds, scrollLogIds, scrollLogIdsMethods inherited from interface org.nuxeo.ecm.platform.audit.api.AuditLogger
await, buildEntryFromEvent, getAuditableEventNames, newExtendedInfo, newLogEntryMethods inherited from interface org.nuxeo.ecm.platform.audit.api.AuditReader
getLogEntriesAfter, nativeQuery, nativeQueryLogs, queryLogs, queryLogsByPage, queryLogsByPage, queryLogsByPage, queryLogsByPage
-
Field Details
-
MAPPER
protected static final com.fasterxml.jackson.databind.ObjectMapper MAPPER -
entries
-
cursorService
-
-
Constructor Details
-
MemAuditBackend
public MemAuditBackend()
-
-
Method Details
-
getEventsCount
- Specified by:
getEventsCountin interfaceAuditAdmin- Specified by:
getEventsCountin interfaceAuditBackend
-
insertLogs
Description copied from interface:AuditBackendInserts the given log entries into the backend.- Specified by:
insertLogsin interfaceAuditBackend- Parameters:
entries- the list of log entries
-
mapJsonContent
-
getLogEntryByID
Description copied from interface:AuditBackendReturns a given log entry given its id.- Specified by:
getLogEntryByIDin interfaceAuditBackend- Specified by:
getLogEntryByIDin interfaceAuditReader<LogEntry>- Parameters:
id- the log entry identifier- Returns:
- a LogEntry instance
-
queryLogs
Description copied from interface:AuditBackendReturns the logs given a collection of predicates and a default sort.- Specified by:
queryLogsin interfaceAuditBackend- Specified by:
queryLogsin interfaceAuditReader<LogEntry>- Parameters:
builder- the query builder to fetch log entries- Returns:
- a list of log entries
-
scrollLogIdsAsCursor
public CursorResult<Iterator<LogEntry>,LogEntry> scrollLogIdsAsCursor(QueryBuilder builder, int batchSize, Duration keepAlive) - Specified by:
scrollLogIdsAsCursorin interfaceAuditBackend.CursorServiceScroll<Iterator<LogEntry>,LogEntry> - Since:
- 2025.18
-
createPredicate
-
compare
-
convertToLiteralsJavaType
-
createComparator
-
createComparator
-
hasCapability
Description copied from interface:AuditBackendChecks whether the backend has the capability.- Specified by:
hasCapabilityin interfaceAuditBackend
-
getCursorService
- Specified by:
getCursorServicein interfaceAuditBackend.CursorServiceScroll<Iterator<LogEntry>,LogEntry> - Returns:
- the
CursorServiceto use when scrolling elements, the service must be a singleton
-
nativeQuery
Description copied from interface:AuditReaderReturns a batched list of entries.- Specified by:
nativeQueryin interfaceAuditReader<LogEntry>- Parameters:
query- a JPA query language query if implementation of audit backend is JPA (< 7.3 or audit.elasticsearch.enabled=false) and JSON if implementation is Elasticsearchparams- parameters for the querypageNb- the page number (starts at 1)pageSize- the number of results per page
-
clearEntries
protected void clearEntries()Description copied from class:AbstractAuditBackendINTERNAL METHOD FOR TESTS, DO NOT USE.- Overrides:
clearEntriesin classAbstractAuditBackend
-