1
2
3
4
5
6
7 package ch.colabproject.colab.api.persistence.jpa.monitoring;
8
9 import ch.colabproject.colab.api.model.monitoring.CronJobLog;
10 import ch.colabproject.colab.api.model.monitoring.CronJobLogName;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13
14 import javax.ejb.LocalBean;
15 import javax.ejb.Stateless;
16 import javax.persistence.EntityManager;
17 import javax.persistence.NoResultException;
18 import javax.persistence.PersistenceContext;
19 import javax.persistence.TypedQuery;
20 import java.util.List;
21
22
23
24
25
26
27 @Stateless
28 @LocalBean
29 public class CronJobLogDao {
30
31
32
33
34 private static final Logger logger = LoggerFactory.getLogger(CronJobLogDao.class);
35
36
37
38
39 @PersistenceContext(unitName = "COLAB_PU")
40 private EntityManager em;
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 public List<CronJobLog> findAllCronJobLogs() {
61 logger.trace("find all cronJobLogs");
62
63 TypedQuery<CronJobLog> query = em.createNamedQuery("CronJobLog.findAll", CronJobLog.class);
64
65 return query.getResultList();
66 }
67
68
69
70
71
72
73
74
75 public CronJobLog findCronJobLogByName(CronJobLogName jobName) {
76 logger.trace("find cronJobLog {}", jobName);
77
78 try {
79 return em.createNamedQuery("CronJobLog.findByName", CronJobLog.class)
80 .setParameter("jobName", jobName)
81 .getSingleResult();
82 } catch (NoResultException ex) {
83 return null;
84 }
85 }
86
87
88
89
90
91
92 public void persistCronJobLog(CronJobLog cronJobLog) {
93 logger.trace("persist cronJobLog {}", cronJobLog);
94
95 em.persist(cronJobLog);
96 }
97
98 }