diff --git a/pom.xml b/pom.xml index 27870932ef..dce84c1f77 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ 5.2.0-A.3 4.2.0 7.1 - 1.0.8 + 1.0.9 1.9.22.1 6.2.8 diff --git a/repository/src/main/java/org/alfresco/repo/audit/AuditComponentImpl.java b/repository/src/main/java/org/alfresco/repo/audit/AuditComponentImpl.java index ed7f710d16..9112a1765c 100644 --- a/repository/src/main/java/org/alfresco/repo/audit/AuditComponentImpl.java +++ b/repository/src/main/java/org/alfresco/repo/audit/AuditComponentImpl.java @@ -766,7 +766,7 @@ public class AuditComponentImpl implements AuditComponent } if (isAuditingToAuditStorageEnabled()) { - auditRecordReporter.reportAuditRecord(createAuditRecord(auditData, true, application.getApplicationName())); + auditRecordReporter.reportAuditRecord(createAuditRecord(auditData, true, username, entryId, application.getApplicationName())); } // Done @@ -941,12 +941,14 @@ public class AuditComponentImpl implements AuditComponent * the name of the audit application * @return a constructed AuditRecord instance */ - private AuditRecord createAuditRecord(Map auditData, boolean inTransaction, String applicationName) + private AuditRecord createAuditRecord(Map auditData, boolean inTransaction, String username, Long entryId, String applicationName) { int rootSize = applicationName.length() + 2; // Root is constructed like this -> '/' + auditedApplicationName + '/'. AuditRecord.Builder builder = AuditRecordUtils.generateAuditRecordBuilder(auditData, rootSize); builder.setAuditRecordType(applicationName); builder.setInTransaction(inTransaction); + builder.setUsername(username); + builder.setEntryDBId(entryId); return builder.build(); } diff --git a/repository/src/main/java/org/alfresco/repo/audit/AuditRecord.java b/repository/src/main/java/org/alfresco/repo/audit/AuditRecord.java index 2299ae4741..2c6ab2d77f 100644 --- a/repository/src/main/java/org/alfresco/repo/audit/AuditRecord.java +++ b/repository/src/main/java/org/alfresco/repo/audit/AuditRecord.java @@ -34,6 +34,8 @@ public class AuditRecord private final boolean inTransaction; private final String auditApplicationId; private final ZonedDateTime createdAt; + private final String username; + private final Long entryDBId; private final Map auditData; public AuditRecord(Builder builder) @@ -42,11 +44,8 @@ public class AuditRecord this.inTransaction = builder.inTransaction; this.auditData = builder.auditRecordData; this.createdAt = ZonedDateTime.now(); - } - - public boolean isInTransaction() - { - return inTransaction; + this.username = builder.username; + this.entryDBId = builder.entryDBId; } public String getAuditApplicationId() @@ -54,11 +53,26 @@ public class AuditRecord return auditApplicationId; } + public boolean isInTransaction() + { + return inTransaction; + } + public ZonedDateTime getCreatedAt() { return createdAt; } + public String getUsername() + { + return username; + } + + public Long getEntryDBId() + { + return entryDBId; + } + public Map getAuditData() { return auditData; @@ -74,6 +88,8 @@ public class AuditRecord private String auditRecordType; private boolean inTransaction; private Map auditRecordData; + private String username; + private Long entryDBId; public Builder setAuditRecordType(String auditRecordType) { @@ -93,6 +109,18 @@ public class AuditRecord return this; } + public Builder setUsername(String username) + { + this.username = username; + return this; + } + + public Builder setEntryDBId(Long entryDBId) + { + this.entryDBId = entryDBId; + return this; + } + public AuditRecord build() { return new AuditRecord(this);