1
2
3
4 package de.tivsource.page.dao.reason;
5
6 import java.util.List;
7
8 import javax.ejb.Stateless;
9 import javax.persistence.EntityManager;
10 import javax.persistence.PersistenceContext;
11 import javax.persistence.Query;
12
13 import org.apache.logging.log4j.LogManager;
14 import org.apache.logging.log4j.Logger;
15
16 import de.tivsource.page.entity.request.Reason;
17
18
19
20
21
22 @Stateless
23 public class ReasonDao implements ReasonDaoLocal {
24
25
26
27
28 private static final Logger LOGGER = LogManager.getLogger(ReasonDao.class);
29
30
31
32
33 @PersistenceContext
34 private EntityManager entityManager;
35
36
37
38
39 @Override
40 public void merge(Reason reason) {
41 LOGGER.info("merge(Reason reason) aufgerufen");
42 entityManager.merge(reason);
43 }
44
45
46
47
48 @Override
49 public void delete(Reason reason) {
50 entityManager.remove(entityManager.find(Reason.class, reason.getUuid()));
51 }
52
53
54
55
56 @Override
57 public Boolean isReasonUuid(String uuid) {
58 Query query = entityManager.createQuery("select r from Reason r where r.uuid = :uuid and r.visible = 'Y' order by r.uuid asc");
59 query.setParameter("uuid", uuid);
60 return (query.getResultList().size() > 0 ? true : false);
61 }
62
63
64
65
66 @Override
67 public Reason findByUuid(String uuid) {
68 return entityManager.find(Reason.class, uuid);
69 }
70
71
72
73
74 @SuppressWarnings("unchecked")
75 @Override
76 public List<Reason> findAll(Integer start, Integer max) {
77 Query query = entityManager.createQuery("from Reason r");
78 query.setFirstResult(start);
79 query.setMaxResults(max);
80 return query.getResultList();
81 }
82
83
84
85
86 @SuppressWarnings("unchecked")
87 @Override
88 public List<Reason> findAll(Integer start, Integer max, String field, String order) {
89 String queryString = "SELECT DISTINCT r FROM Reason r JOIN r.descriptionMap dm WHERE dm.language = 'DE' ORDER BY ";
90 queryString = queryString + field + " " + order;
91 Query query = entityManager.createQuery(queryString);
92 query.setFirstResult(start);
93 query.setMaxResults(max);
94 return query.getResultList();
95 }
96
97
98
99
100 @SuppressWarnings("unchecked")
101 @Override
102 public List<Reason> findAllVisible(Integer start, Integer max) {
103 String queryString = "SELECT r FROM Reason r WHERE r.visible = 'Y' ORDER BY r.orderNumber, r.created desc";
104 Query query = entityManager.createQuery(queryString);
105 query.setFirstResult(start);
106 query.setMaxResults(max);
107 return query.getResultList();
108 }
109
110
111
112
113 @Override
114 public Integer countAll() {
115 Query query = entityManager.createQuery("Select Count(r) from Reason r");
116 return Integer.parseInt(query.getSingleResult().toString());
117 }
118
119
120
121
122 @Override
123 public Integer countAllVisible() {
124 Query query = entityManager.createQuery("Select Count(r) from Reason r WHERE r.visible = 'Y'");
125 return Integer.parseInt(query.getSingleResult().toString());
126 }
127
128 }