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; }
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; }
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; }
/** * 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; }