1
2
3
4
5
6
7 package ch.colabproject.colab.api.model.monitoring;
8
9 import ch.colabproject.colab.api.model.tools.EntityHelper;
10 import ch.colabproject.colab.generator.model.interfaces.WithId;
11 import ch.colabproject.colab.generator.model.interfaces.WithJsonDiscriminator;
12 import ch.colabproject.colab.generator.model.tools.DateSerDe;
13
14 import javax.json.bind.annotation.JsonbTypeDeserializer;
15 import javax.json.bind.annotation.JsonbTypeSerializer;
16 import javax.persistence.*;
17 import javax.validation.constraints.NotNull;
18 import java.time.OffsetDateTime;
19
20
21
22
23
24
25 @Entity
26 @Table
27 @NamedQuery(name = "CronJobLog.findAll", query = "SELECT c from CronJobLog c")
28 @NamedQuery(name = "CronJobLog.findByName",
29 query = "SELECT c from CronJobLog c where c.jobName = :jobName")
30 public class CronJobLog implements WithJsonDiscriminator, WithId {
31
32 private static final long serialVersionUID = 1L;
33
34
35 public static final String CRONJOBLOG_SEQUENCE_NAME = "monitoring_seq";
36
37
38
39
40 @Id
41 @SequenceGenerator(name = CRONJOBLOG_SEQUENCE_NAME, allocationSize = 1)
42 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = CRONJOBLOG_SEQUENCE_NAME)
43 private Long id;
44
45
46
47
48 @NotNull
49 @Enumerated(EnumType.STRING)
50 private CronJobLogName jobName;
51
52
53
54
55 @JsonbTypeDeserializer(DateSerDe.class)
56 @JsonbTypeSerializer(DateSerDe.class)
57 private OffsetDateTime lastRunTime;
58
59
60
61
62
63
64
65
66 @Override
67 public Long getId() {
68 return id;
69 }
70
71
72
73
74
75
76 public void setId(Long id) {
77 this.id = id;
78 }
79
80
81
82
83 public CronJobLogName getJobName() {
84 return jobName;
85 }
86
87
88
89
90
91
92 public void setJobName(CronJobLogName jobName) {
93 this.jobName = jobName;
94 }
95
96
97
98
99 public OffsetDateTime getLastRunTime() {
100 return lastRunTime;
101 }
102
103
104
105
106 public void setLastRunTime(OffsetDateTime lastRunTime) {
107 this.lastRunTime = lastRunTime;
108 }
109
110
111
112
113
114 @Override
115 public int hashCode() {
116 return EntityHelper.hashCode(this);
117 }
118
119 @Override
120 @SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
121 public boolean equals(Object obj) {
122 return EntityHelper.equals(this, obj);
123 }
124
125 @Override
126 public String toString() {
127 return "CronJobLog{" + "id=" + id + ", jobName=" + getJobName()
128 + ", lastRunTime=" + getLastRunTime() + '}';
129 }
130
131 }