PersistentAuditEvent.java 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package rocks.zipcode.io.domain;
  2. import javax.persistence.*;
  3. import javax.validation.constraints.NotNull;
  4. import java.io.Serializable;
  5. import java.time.Instant;
  6. import java.util.HashMap;
  7. import java.util.Objects;
  8. import java.util.Map;
  9. /**
  10. * Persist AuditEvent managed by the Spring Boot actuator.
  11. *
  12. * @see org.springframework.boot.actuate.audit.AuditEvent
  13. */
  14. @Entity
  15. @Table(name = "jhi_persistent_audit_event")
  16. public class PersistentAuditEvent implements Serializable {
  17. private static final long serialVersionUID = 1L;
  18. @Id
  19. @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
  20. @SequenceGenerator(name = "sequenceGenerator")
  21. @Column(name = "event_id")
  22. private Long id;
  23. @NotNull
  24. @Column(nullable = false)
  25. private String principal;
  26. @Column(name = "event_date")
  27. private Instant auditEventDate;
  28. @Column(name = "event_type")
  29. private String auditEventType;
  30. @ElementCollection
  31. @MapKeyColumn(name = "name")
  32. @Column(name = "value")
  33. @CollectionTable(name = "jhi_persistent_audit_evt_data", joinColumns=@JoinColumn(name="event_id"))
  34. private Map<String, String> data = new HashMap<>();
  35. public Long getId() {
  36. return id;
  37. }
  38. public void setId(Long id) {
  39. this.id = id;
  40. }
  41. public String getPrincipal() {
  42. return principal;
  43. }
  44. public void setPrincipal(String principal) {
  45. this.principal = principal;
  46. }
  47. public Instant getAuditEventDate() {
  48. return auditEventDate;
  49. }
  50. public void setAuditEventDate(Instant auditEventDate) {
  51. this.auditEventDate = auditEventDate;
  52. }
  53. public String getAuditEventType() {
  54. return auditEventType;
  55. }
  56. public void setAuditEventType(String auditEventType) {
  57. this.auditEventType = auditEventType;
  58. }
  59. public Map<String, String> getData() {
  60. return data;
  61. }
  62. public void setData(Map<String, String> data) {
  63. this.data = data;
  64. }
  65. @Override
  66. public boolean equals(Object o) {
  67. if (this == o) {
  68. return true;
  69. }
  70. if (o == null || getClass() != o.getClass()) {
  71. return false;
  72. }
  73. PersistentAuditEvent persistentAuditEvent = (PersistentAuditEvent) o;
  74. return !(persistentAuditEvent.getId() == null || getId() == null) && Objects.equals(getId(), persistentAuditEvent.getId());
  75. }
  76. @Override
  77. public int hashCode() {
  78. return Objects.hashCode(getId());
  79. }
  80. @Override
  81. public String toString() {
  82. return "PersistentAuditEvent{" +
  83. "principal='" + principal + '\'' +
  84. ", auditEventDate=" + auditEventDate +
  85. ", auditEventType='" + auditEventType + '\'' +
  86. '}';
  87. }
  88. }