Revision ea33ac4f
Added by Andreas Müller almost 6 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/view/AuditEventDao.java | ||
---|---|---|
5 | 5 |
* |
6 | 6 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
7 | 7 |
* See LICENSE.TXT at the top of this package for the full license terms. |
8 |
*/
|
|
8 |
*/ |
|
9 | 9 |
|
10 | 10 |
package eu.etaxonomy.cdm.persistence.dao.hibernate.view; |
11 | 11 |
|
... | ... | |
26 | 26 |
|
27 | 27 |
@Repository |
28 | 28 |
public class AuditEventDao extends DaoBase implements IAuditEventDao { |
29 |
|
|
29 |
|
|
30 | 30 |
protected AuditReader getAuditReader() { |
31 | 31 |
return AuditReaderFactory.get(getSession()); |
32 | 32 |
} |
33 | 33 |
|
34 |
public int count() { |
|
34 |
@Override |
|
35 |
public long count() { |
|
35 | 36 |
Query query = getSession().createQuery("select count(auditEvent) from AuditEvent auditEvent"); |
36 |
|
|
37 |
return ((Long)query.uniqueResult()).intValue();
|
|
37 |
|
|
38 |
return (Long)query.uniqueResult();
|
|
38 | 39 |
} |
39 | 40 |
|
40 |
public boolean exists(UUID uuid) { |
|
41 |
@Override |
|
42 |
public boolean exists(UUID uuid) { |
|
41 | 43 |
Query query = getSession().createQuery("select auditEvent from AuditEvent auditEvent where auditEvent.uuid = :uuid"); |
42 | 44 |
query.setParameter("uuid", uuid); |
43 | 45 |
return null != (AuditEvent)query.uniqueResult(); |
44 | 46 |
} |
45 | 47 |
|
46 |
public AuditEvent findById(Integer id) { |
|
48 |
@Override |
|
49 |
public AuditEvent findById(Integer id) { |
|
47 | 50 |
Query query = getSession().createQuery("select auditEvent from AuditEvent auditEvent where auditEvent.id = :id"); |
48 | 51 |
query.setParameter("id", id); |
49 | 52 |
return (AuditEvent)query.uniqueResult(); |
50 | 53 |
} |
51 | 54 |
|
52 |
public AuditEvent findByUuid(UUID uuid) { |
|
55 |
@Override |
|
56 |
public AuditEvent findByUuid(UUID uuid) { |
|
53 | 57 |
Query query = getSession().createQuery("select auditEvent from AuditEvent auditEvent where auditEvent.uuid = :uuid"); |
54 | 58 |
query.setParameter("uuid", uuid); |
55 | 59 |
return (AuditEvent)query.uniqueResult(); |
56 | 60 |
} |
57 | 61 |
|
58 |
public AuditEvent getNextAuditEvent(AuditEvent auditEvent) { |
|
62 |
@Override |
|
63 |
public AuditEvent getNextAuditEvent(AuditEvent auditEvent) { |
|
59 | 64 |
Query query = getSession().createQuery("select auditEvent from AuditEvent auditEvent where auditEvent.revisionNumber = :revisionNumber + 1"); |
60 | 65 |
query.setParameter("revisionNumber", auditEvent.getRevisionNumber()); |
61 | 66 |
return (AuditEvent) query.uniqueResult(); |
62 | 67 |
} |
63 | 68 |
|
64 |
public AuditEvent getPreviousAuditEvent(AuditEvent auditEvent) { |
|
69 |
@Override |
|
70 |
public AuditEvent getPreviousAuditEvent(AuditEvent auditEvent) { |
|
65 | 71 |
Query query = getSession().createQuery("select auditEvent from AuditEvent auditEvent where auditEvent.revisionNumber = :revisionNumber - 1"); |
66 | 72 |
query.setParameter("revisionNumber", auditEvent.getRevisionNumber()); |
67 | 73 |
return (AuditEvent) query.uniqueResult(); |
68 | 74 |
} |
69 | 75 |
|
70 |
public List<AuditEvent> list(Integer pageNumber, Integer pageSize, AuditEventSort sort) { |
|
76 |
@Override |
|
77 |
public List<AuditEvent> list(Integer pageNumber, Integer pageSize, AuditEventSort sort) { |
|
71 | 78 |
if(sort == null) { |
72 | 79 |
sort = AuditEventSort.BACKWARDS; |
73 | 80 |
} |
74 |
|
|
81 |
|
|
75 | 82 |
Query query = null; |
76 |
|
|
83 |
|
|
77 | 84 |
if(sort.equals(AuditEventSort.FORWARDS)) { |
78 | 85 |
query = getSession().createQuery("select auditEvent from AuditEvent auditEvent order by auditEvent.timestamp asc"); |
79 | 86 |
} else { |
80 | 87 |
query = getSession().createQuery("select auditEvent from AuditEvent auditEvent order by auditEvent.timestamp desc"); |
81 | 88 |
} |
82 |
|
|
89 |
|
|
83 | 90 |
if(pageSize != null) { |
84 | 91 |
query.setMaxResults(pageSize); |
85 | 92 |
if(pageNumber != null) { |
... | ... | |
88 | 95 |
query.setFirstResult(0); |
89 | 96 |
} |
90 | 97 |
} |
91 |
|
|
92 |
return (List<AuditEvent>)query.list();
|
|
98 |
|
|
99 |
return query.list(); |
|
93 | 100 |
} |
94 | 101 |
|
95 |
public AuditEvent findByDate(DateTime dateTime) { |
|
102 |
@Override |
|
103 |
public AuditEvent findByDate(DateTime dateTime) { |
|
96 | 104 |
Number id = getAuditReader().getRevisionNumberForDate(dateTime.toDate()); |
97 |
AuditEvent auditEvent =(AuditEvent)getSession().load(AuditEvent.class, id);
|
|
105 |
AuditEvent auditEvent =getSession().load(AuditEvent.class, id); |
|
98 | 106 |
Hibernate.initialize(auditEvent); |
99 | 107 |
return auditEvent; |
100 | 108 |
} |
Also available in: Unified diff
use long instead of int (cont.)