package com.mycompany.myapp.domain; import org.neo4j.ogm.annotation.NodeEntity; import org.neo4j.ogm.annotation.Relationship; import javax.validation.constraints.NotNull; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.util.HashSet; import java.util.Set; /** * Persist AuditEvent managed by the Spring Boot actuator * @see org.springframework.boot.actuate.audit.AuditEvent */ @NodeEntity public class PersistentAuditEvent extends Entity { @NotNull private String principal; private Long auditEventDate; private String auditEventType; @Relationship private Set<PersistentAuditEventData> data = new HashSet<>(); public String getPrincipal() { return principal; } public void setPrincipal(String principal) { this.principal = principal; } public Long getAuditEventDate() { return auditEventDate; } public void setAuditEventDate(Long auditEventDate) { this.auditEventDate = auditEventDate; } public LocalDateTime getAuditEventDDate() { Instant instant = Instant.ofEpochMilli(auditEventDate); LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneOffset.systemDefault()); return ldt; } public void setAuditEventDDate(LocalDateTime auditEventDate) { this.auditEventDate = auditEventDate.toInstant(ZoneOffset.ofHours(2)).toEpochMilli(); } public String getAuditEventType() { return auditEventType; } public void setAuditEventType(String auditEventType) { this.auditEventType = auditEventType; } public Set<PersistentAuditEventData> getData() { return data; } public void setData(Set<PersistentAuditEventData> data) { this.data = data; } }