public class ESAuditBackend extends AbstractAuditBackend implements AuditBackend
AuditBackend
interface using Elasticsearch persistenceModifier and Type | Field and Description |
---|---|
protected org.elasticsearch.client.Client |
esClient |
protected static org.apache.commons.logging.Log |
log |
static String |
MIGRATION_BATCH_SIZE_PROP |
static int |
MIGRATION_DEFAULT_BACTH_SIZE |
static String |
MIGRATION_DONE_EVENT |
static String |
MIGRATION_FLAG_PROP |
protected BaseLogEntryProvider |
provider |
static String |
SEQ_NAME |
component, config, expressionEvaluator, FORCE_AUDIT_FACET
Constructor and Description |
---|
ESAuditBackend(NXAuditEventsService component,
AuditBackendDescriptor config) |
Modifier and Type | Method and Description |
---|---|
void |
addLogEntries(List<LogEntry> entries)
Adds given log entries.
|
protected org.elasticsearch.index.query.QueryBuilder |
buildFilter(PredicateDefinition[] predicates,
DocumentModel searchDocumentModel) |
protected List<LogEntry> |
buildLogEntries(org.elasticsearch.action.search.SearchResponse searchResponse) |
org.elasticsearch.action.search.SearchRequestBuilder |
buildQuery(String query,
Map<String,Object> params) |
org.elasticsearch.action.search.SearchRequestBuilder |
buildSearchQuery(String fixedPart,
PredicateDefinition[] predicates,
DocumentModel searchDocumentModel) |
protected void |
ensureUIDSequencer(org.elasticsearch.client.Client esClient)
Ensures the audit sequence returns an UID greater or equal than the maximum log entry id.
|
String |
expandQueryVariables(String query,
Map<String,Object> params) |
String |
expandQueryVariables(String query,
Object[] params) |
int |
getApplicationStartedOrder() |
protected org.elasticsearch.client.Client |
getClient() |
protected String |
getESIndexName() |
Long |
getEventsCount(String eventId) |
protected List<LogEntry> |
getLogEntries(org.elasticsearch.index.query.QueryBuilder filter,
boolean doDefaultSort) |
List<LogEntry> |
getLogEntriesFor(String uuid,
Map<String,FilterMapEntry> filterMap,
boolean doDefaultSort)
Returns the logs given a doc uuid, a map of filters and a default sort.
|
List<LogEntry> |
getLogEntriesFor(String uuid,
String repositoryId)
Returns the logs given a doc uuid and a repository id.
|
LogEntry |
getLogEntryByID(long id)
Returns a given log entry given its id.
|
protected org.elasticsearch.action.search.SearchRequestBuilder |
getSearchRequestBuilder(org.elasticsearch.client.Client esClient) |
protected boolean |
isMigrationDone() |
protected boolean |
isNonNullParam(Object[] val) |
protected void |
logSearchRequest(org.elasticsearch.action.search.SearchRequestBuilder request) |
protected void |
logSearchResponse(org.elasticsearch.action.search.SearchResponse response) |
String |
migrate(int batchSize) |
List<?> |
nativeQuery(String query,
Map<String,Object> params,
int pageNb,
int pageSize)
Returns a batched list of entries.
|
ExtendedInfo |
newExtendedInfo(Serializable value)
Create a new ExtendedInfo instance
|
void |
onApplicationStarted() |
void |
onApplicationStopped() |
List<LogEntry> |
queryLogsByPage(String[] eventIds,
Date limit,
String[] categories,
String path,
int pageNb,
int pageSize) |
List<LogEntry> |
queryLogsByPage(String[] eventIds,
String dateRange,
String[] categories,
String path,
int pageNb,
int pageSize) |
long |
syncLogCreationEntries(String repoId,
String path,
Boolean recurs)
Forces log Synchronisation for a branch of the repository.
|
await, buildEntryFromEvent, doCreateAndFillEntryFromDocument, doPutExtendedInfos, doSyncNode, getAuditableEventNames, getLogEntriesFor, guardedDocument, guardedDocumentChildren, isAuditable, logEvent, logEvents, nativeQuery, nativeQueryLogs, newLogEntry, populateExtendedInfo, queryLogs, queryLogsByPage, queryLogsByPage, syncLogCreationEntries
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
onShutdown
getLogEntriesFor, nativeQuery, nativeQueryLogs, queryLogs, queryLogsByPage, queryLogsByPage
await, getAuditableEventNames, logEvent, logEvents, newLogEntry
public static final String SEQ_NAME
public static final String MIGRATION_FLAG_PROP
public static final String MIGRATION_BATCH_SIZE_PROP
public static final String MIGRATION_DONE_EVENT
public static final int MIGRATION_DEFAULT_BACTH_SIZE
protected org.elasticsearch.client.Client esClient
protected static final org.apache.commons.logging.Log log
protected BaseLogEntryProvider provider
public ESAuditBackend(NXAuditEventsService component, AuditBackendDescriptor config)
protected org.elasticsearch.client.Client getClient()
protected boolean isMigrationDone()
public int getApplicationStartedOrder()
getApplicationStartedOrder
in interface AuditBackend
public void onApplicationStarted()
onApplicationStarted
in interface AuditBackend
public void onApplicationStopped()
onApplicationStopped
in interface AuditBackend
public List<LogEntry> getLogEntriesFor(String uuid, String repositoryId)
AbstractAuditBackend
getLogEntriesFor
in interface AuditReader
getLogEntriesFor
in class AbstractAuditBackend
uuid
- the document uuidrepositoryId
- the repository idpublic List<LogEntry> getLogEntriesFor(String uuid, Map<String,FilterMapEntry> filterMap, boolean doDefaultSort)
AuditReader
getLogEntriesFor
in interface AuditReader
uuid
- the document uuidfilterMap
- the map of filters to applydoDefaultSort
- the default sort to setprotected List<LogEntry> getLogEntries(org.elasticsearch.index.query.QueryBuilder filter, boolean doDefaultSort)
protected List<LogEntry> buildLogEntries(org.elasticsearch.action.search.SearchResponse searchResponse)
protected org.elasticsearch.action.search.SearchRequestBuilder getSearchRequestBuilder(org.elasticsearch.client.Client esClient)
public LogEntry getLogEntryByID(long id)
AuditReader
getLogEntryByID
in interface AuditReader
id
- the log entry identifierpublic org.elasticsearch.action.search.SearchRequestBuilder buildQuery(String query, Map<String,Object> params)
public String expandQueryVariables(String query, Object[] params)
public List<?> nativeQuery(String query, Map<String,Object> params, int pageNb, int pageSize)
AuditReader
nativeQuery
in interface AuditReader
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 pagepublic List<LogEntry> queryLogsByPage(String[] eventIds, Date limit, String[] categories, String path, int pageNb, int pageSize)
queryLogsByPage
in interface AuditReader
public List<LogEntry> queryLogsByPage(String[] eventIds, String dateRange, String[] categories, String path, int pageNb, int pageSize)
queryLogsByPage
in interface AuditReader
public void addLogEntries(List<LogEntry> entries)
AuditLogger
addLogEntries
in interface AuditLogger
entries
- the list of log entries.public Long getEventsCount(String eventId)
getEventsCount
in interface AuditAdmin
public long syncLogCreationEntries(String repoId, String path, Boolean recurs)
AuditAdmin
syncLogCreationEntries
in interface AuditAdmin
protected org.elasticsearch.index.query.QueryBuilder buildFilter(PredicateDefinition[] predicates, DocumentModel searchDocumentModel)
public org.elasticsearch.action.search.SearchRequestBuilder buildSearchQuery(String fixedPart, PredicateDefinition[] predicates, DocumentModel searchDocumentModel)
protected boolean isNonNullParam(Object[] val)
protected void logSearchResponse(org.elasticsearch.action.search.SearchResponse response)
protected void logSearchRequest(org.elasticsearch.action.search.SearchRequestBuilder request)
protected void ensureUIDSequencer(org.elasticsearch.client.Client esClient)
public ExtendedInfo newExtendedInfo(Serializable value)
AuditLogger
newExtendedInfo
in interface AuditLogger
newExtendedInfo
in class AbstractAuditBackend
protected String getESIndexName()
Copyright © 2017 Nuxeo. All rights reserved.