public void append(List<LogEntry> entries) { entries.forEach(e -> { if (em.contains(e)) { log.warn("Log entry already exists for id " + e.getId()); } em.merge(e); }); }
/** * Post-process log entries comments to add links. e5e7b4ba-0ffb-492d-8bf2-f2f2e6683ae2 */ private void postProcessComments(List<LogEntry> logEntries) { logEntriesComments = new HashMap<Long, String>(); logEntriesLinkedDocs = new HashMap<Long, LinkedDocument>(); CommentProcessorHelper cph = new CommentProcessorHelper(documentManager); if (logEntries == null) { return; } for (LogEntry entry : logEntries) { logEntriesComments.put(entry.getId(), cph.getLogComment(entry)); LinkedDocument linkedDoc = cph.getLogLinkedDocument(entry); if (linkedDoc != null) { logEntriesLinkedDocs.put(entry.getId(), linkedDoc); } } }
@Override public long getLatestLogId(String repositoryId, String... eventIds) { Map<String, Object> params = getParams(eventIds); String paramNames = getParamNames(eventIds); params.put("repoId", repositoryId); String query = String.format("FROM LogEntry log" // + " WHERE log.eventId IN (%s)" // + " AND log.repositoryId = :repoId" // + " ORDER BY log.id DESC", paramNames); @SuppressWarnings("unchecked") List<LogEntry> entries = (List<LogEntry>) nativeQuery(query, params, 1, 1); return entries.isEmpty() ? 0 : entries.get(0).getId(); }
@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); }
@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); }
protected void writeEntry(LogAppender<Record> appender, LogEntry entry) { String json = asJson(entry); if (json == null) { return; } long timestamp = getTimestampForEntry(entry); appender.append(0, new Record(String.valueOf(entry.getId()), json.getBytes(UTF_8), Watermark.ofTimestamp(timestamp).getValue())); }
mapper.writeValue(jg, entry); bulkRequest.add(new IndexRequest(getESIndexName(), ElasticSearchConstants.ENTRY_TYPE, String.valueOf(entry.getId())).source(builder));
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()))); Map<String, ExtendedInfo> extended = logEntry.getExtendedInfos();