private static FilterMapEntry computeQueryForLogsOnDocAfterDate(Date date) { FilterMapEntry filterByDate = new FilterMapEntry(); filterByDate.setColumnName(BuiltinLogEntryData.LOG_EVENT_DATE); filterByDate.setOperator(">="); filterByDate.setQueryParameterName(BuiltinLogEntryData.LOG_EVENT_DATE); filterByDate.setObject(date); return filterByDate; }
for (String currentKey : filterMapKeySet) { FilterMapEntry currentFilterMapEntry = filterMap.get(currentKey); String currentOperator = currentFilterMapEntry.getOperator(); String currentQueryParameterName = currentFilterMapEntry.getQueryParameterName(); String currentColumnName = currentFilterMapEntry.getColumnName(); String currentOperator = currentFilterMapEntry.getOperator(); String currentQueryParameterName = currentFilterMapEntry.getQueryParameterName(); Object currentObject = currentFilterMapEntry.getObject();
protected Predicate convert(FilterMapEntry entry) { String name = entry.getColumnName(); String operator = entry.getOperator(); Object value = entry.getObject(); if (Operator.EQ.toString().equals(operator)) { return Predicates.eq(name, value); } else if (Operator.LT.toString().equals(operator)) { return Predicates.lt(name, value); } else if (Operator.LTEQ.toString().equals(operator)) { return Predicates.lte(name, value); } else if (Operator.GTEQ.toString().equals(operator)) { return Predicates.gte(name, value); } else if (Operator.GT.toString().equals(operator)) { return Predicates.gt(name, value); } else if (Operator.IN.toString().equals(operator)) { return Predicates.in(name, (List<?>) value); } throw new NuxeoException(String.format("Audit backend search doesn't handle '%s' operator", operator)); }
private static FilterMapEntry computeQueryForLogsOnDocUntilDate(Date date) { FilterMapEntry filterByDate = new FilterMapEntry(); filterByDate.setColumnName(BuiltinLogEntryData.LOG_EVENT_DATE); filterByDate.setOperator("<="); filterByDate.setQueryParameterName(BuiltinLogEntryData.LOG_EVENT_DATE); filterByDate.setObject(date); return filterByDate; }
private static FilterMapEntry computeQueryForLogsWithEvent(String eventName) { FilterMapEntry filterByDate = new FilterMapEntry(); filterByDate.setColumnName(BuiltinLogEntryData.LOG_EVENT_ID); filterByDate.setOperator("LIKE"); filterByDate.setQueryParameterName(BuiltinLogEntryData.LOG_EVENT_ID); filterByDate.setObject(eventName); return filterByDate; }
/** * Query the audit for an entry of the Routing category matching the given event and returns the time elapsed since it is recorded. * * @since 7.4 */ public static long computeElapsedTime(DocumentRoutingConstants.Events event, String elementId) { Logs logs = Framework.getService(Logs.class); if (logs != null && StringUtils.isNotBlank(elementId)) { Map<String, FilterMapEntry> filterMap = new HashMap<>(); FilterMapEntry categoryFilterMapEntry = new FilterMapEntry(); categoryFilterMapEntry.setColumnName(BuiltinLogEntryData.LOG_CATEGORY); categoryFilterMapEntry.setOperator("="); categoryFilterMapEntry.setQueryParameterName(BuiltinLogEntryData.LOG_CATEGORY); categoryFilterMapEntry.setObject(DocumentRoutingConstants.ROUTING_CATEGORY); filterMap.put(BuiltinLogEntryData.LOG_CATEGORY, categoryFilterMapEntry); FilterMapEntry eventIdFilterMapEntry = new FilterMapEntry(); eventIdFilterMapEntry.setColumnName(BuiltinLogEntryData.LOG_EVENT_ID); eventIdFilterMapEntry.setOperator("="); eventIdFilterMapEntry.setQueryParameterName(BuiltinLogEntryData.LOG_EVENT_ID); eventIdFilterMapEntry.setObject(event.name()); filterMap.put(BuiltinLogEntryData.LOG_EVENT_ID, eventIdFilterMapEntry); List<LogEntry> logEntries = logs.getLogEntriesFor(elementId, filterMap, true); if (logEntries.size() > 0) { LogEntry logEntry = logEntries.get(0); Date start = logEntry.getEventDate(); return new Date().getTime() - start.getTime(); } } return -1; }