protected long getTimestampForEntry(LogEntry entry) { if (entry.getEventDate() != null) { return entry.getEventDate().getTime(); } return System.currentTimeMillis(); }
private Date getCreationDateForVersion(Logs logsService, DocumentModel version) { List<LogEntry> logs = logsService.getLogEntriesFor(version.getId(), filterMap, true); for (LogEntry logEntry : logs) { if (logEntry.getEventId().equals(DocumentEventTypes.DOCUMENT_CREATED)) { return logEntry.getEventDate(); } } return null; }
@Override protected void writeEntityBody(JsonGenerator jg, LogEntry logEntry) throws IOException { jg.writeStringField("entity-type", "logEntry"); jg.writeStringField("category", logEntry.getCategory()); jg.writeStringField("principalName", logEntry.getPrincipalName()); jg.writeStringField("comment", logEntry.getComment()); jg.writeStringField("docLifeCycle", logEntry.getDocLifeCycle()); jg.writeStringField("docPath", logEntry.getDocPath()); jg.writeStringField("docType", logEntry.getDocType()); jg.writeStringField("docUUID", logEntry.getDocUUID()); jg.writeStringField("eventId", logEntry.getEventId()); jg.writeStringField("repositoryId", logEntry.getRepositoryId()); jg.writeStringField("eventDate", ISODateTimeFormat.dateTime().print(new DateTime(logEntry.getEventDate()))); jg.writeNumberField("id", logEntry.getId()); jg.writeStringField("logDate", ISODateTimeFormat.dateTime().print(new DateTime(logEntry.getLogDate()))); writeExtendedInfos(jg, logEntry); }
@Override protected void writeEntityBody(LogEntry logEntry, JsonGenerator jg) throws IOException { jg.writeNumberField(LOG_ID, logEntry.getId()); jg.writeStringField(LOG_CATEGORY, logEntry.getCategory()); jg.writeStringField(LOG_PRINCIPAL_NAME, logEntry.getPrincipalName()); jg.writeStringField(LOG_COMMENT, logEntry.getComment()); jg.writeStringField(LOG_DOC_LIFE_CYCLE, logEntry.getDocLifeCycle()); jg.writeStringField(LOG_DOC_PATH, logEntry.getDocPath()); jg.writeStringField(LOG_DOC_TYPE, logEntry.getDocType()); jg.writeStringField(LOG_DOC_UUID, logEntry.getDocUUID()); jg.writeStringField(LOG_EVENT_ID, logEntry.getEventId()); jg.writeStringField(LOG_REPOSITORY_ID, logEntry.getRepositoryId()); DateTimeFormatter dateTime = ISODateTimeFormat.dateTime(); jg.writeStringField(LOG_EVENT_DATE, dateTime.print(new DateTime(logEntry.getEventDate()))); jg.writeStringField(LOG_LOG_DATE, dateTime.print(new DateTime(logEntry.getLogDate()))); writeExtendedInfos(jg, logEntry); }
/** * 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; }
writeField(jg, LOG_EVENT_ID, logEntry.getEventId()); writeField(jg, LOG_REPOSITORY_ID, logEntry.getRepositoryId()); jg.writeStringField(LOG_EVENT_DATE, ISODateTimeFormat.dateTime().print(new DateTime(logEntry.getEventDate()))); jg.writeNumberField(LOG_ID, logEntry.getId()); jg.writeStringField(LOG_LOG_DATE, ISODateTimeFormat.dateTime().print(new DateTime(logEntry.getLogDate())));
/** * Could be overridden to put other (additional) data. */ protected static void writeLogEntry(Element logEntryElement, LogEntry logEntry) { logEntryElement.addAttribute("category", logEntry.getCategory()); logEntryElement.addAttribute("comment", logEntry.getComment()); logEntryElement.addAttribute("docLifeCycle", logEntry.getDocLifeCycle()); logEntryElement.addAttribute("docPath", logEntry.getDocPath()); logEntryElement.addAttribute("docType", logEntry.getDocType()); logEntryElement.addAttribute("docUUID", logEntry.getDocUUID()); logEntryElement.addAttribute("repoId", logEntry.getRepositoryId()); String creationDate = getDateFormat().format(logEntry.getEventDate()); logEntryElement.addAttribute("creationDate", creationDate); logEntryElement.addAttribute("eventId", logEntry.getEventId()); logEntryElement.addAttribute("principalName", logEntry.getPrincipalName()); }