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, expressionEvaluator, FORCE_AUDIT_FACET
Constructor and Description |
---|
ESAuditBackend() |
Modifier and Type | Method and Description |
---|---|
void |
addLogEntries(List<LogEntry> entries)
Adds given log entries.
|
protected org.elasticsearch.index.query.FilterBuilder |
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) |
void |
deactivate() |
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) |
protected org.elasticsearch.client.Client |
getClient() |
protected String |
getESIndexName() |
Long |
getEventsCount(String eventId) |
List<LogEntry> |
getLogEntriesFor(String uuid,
Map<String,FilterMapEntry> filterMap,
boolean doDefaultSort) |
LogEntry |
getLogEntryByID(long id)
Returns a given log entry given its id.
|
protected BaseLogEntryProvider |
getProvider() |
protected org.elasticsearch.action.search.SearchRequestBuilder |
getSearchRequestBuilder() |
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() |
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.
|
activate, buildEntryFromEvent, doCreateAndFillEntryFromDocument, doPutExtendedInfos, doSyncNode, getAuditableEventNames, getLogEntriesFor, guardedDocument, guardedDocumentChildren, logEvent, logEvents, nativeQuery, nativeQueryLogs, newLogEntry, populateExtendedInfo, queryLogs, queryLogsByPage, queryLogsByPage, syncLogCreationEntries
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
activate
getLogEntriesFor, nativeQuery, nativeQueryLogs, queryLogs, queryLogsByPage, queryLogsByPage
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()
protected org.elasticsearch.client.Client getClient()
protected boolean isMigrationDone()
public void deactivate()
deactivate
in interface AuditBackend
public List<LogEntry> getLogEntriesFor(String uuid, Map<String,FilterMapEntry> filterMap, boolean doDefaultSort)
getLogEntriesFor
in interface AuditReader
protected List<LogEntry> buildLogEntries(org.elasticsearch.action.search.SearchResponse searchResponse)
protected org.elasticsearch.action.search.SearchRequestBuilder getSearchRequestBuilder()
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
protected BaseLogEntryProvider getProvider()
public long syncLogCreationEntries(String repoId, String path, Boolean recurs)
AuditAdmin
syncLogCreationEntries
in interface AuditAdmin
protected org.elasticsearch.index.query.FilterBuilder 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)
public void onApplicationStarted()
onApplicationStarted
in interface AuditBackend
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 © 2015 Nuxeo SA. All rights reserved.