1
2
3
4 package de.tivsource.page.dao.feedback;
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.feedback.FeedbackOption;
17
18
19
20
21
22 @Stateless
23 public class FeedbackOptionDao implements FeedbackOptionDaoLocal {
24
25
26
27
28 private static final Logger LOGGER = LogManager.getLogger(FeedbackOptionDao.class);
29
30
31
32
33 @PersistenceContext
34 private EntityManager entityManager;
35
36
37
38
39 @Override
40 public void merge(FeedbackOption feedbackOption) {
41 LOGGER.info("merge(FeedbackOption feedbackOption) aufgerufen");
42 entityManager.merge(feedbackOption);
43 }
44
45
46
47
48 @Override
49 public void delete(FeedbackOption feedbackOption) {
50 entityManager.remove(entityManager.find(FeedbackOption.class, feedbackOption.getUuid()));
51 }
52
53
54
55
56 @Override
57 public Boolean isFeedbackOption(String uuid) {
58 Query query = entityManager.createQuery("select fo from FeedbackOption fo where fo.uuid = :uuid and fo.visible = 'Y' order by fo.uuid asc");
59 query.setParameter("uuid", uuid);
60 return (query.getResultList().size() > 0 ? true : false);
61 }
62
63
64
65
66 @Override
67 public Boolean hasReferences(String uuid) {
68
69 return null;
70 }
71
72
73
74
75 @Override
76 public FeedbackOption findByUuid(String uuid) {
77 return entityManager.find(FeedbackOption.class, uuid);
78 }
79
80
81
82
83 @Override
84 @SuppressWarnings("unchecked")
85 public List<FeedbackOption> findAll(Integer start, Integer max) {
86 Query query = entityManager.createQuery("from FeedbackOption fo order by fo.orderNumber asc");
87 query.setFirstResult(start);
88 query.setMaxResults(max);
89 return query.getResultList();
90 }
91
92
93
94
95 @Override
96 @SuppressWarnings("unchecked")
97 public List<FeedbackOption> findAll(Integer start, Integer max, String field, String order) {
98 String queryString = "SELECT DISTINCT fo FROM FeedbackOption fo JOIN fo.descriptionMap dm WHERE dm.language = 'DE' ORDER BY ";
99 queryString = queryString + field + " " + order;
100 Query query = entityManager.createQuery(queryString);
101 query.setFirstResult(start);
102 query.setMaxResults(max);
103 return query.getResultList();
104 }
105
106
107
108
109 @Override
110 @SuppressWarnings("unchecked")
111 public List<FeedbackOption> findAllVisible(Integer start, Integer max) {
112 Query query = entityManager.createQuery("from FeedbackOption fo where fo.visible = :uuid order by fo.orderNumber asc");
113 query.setFirstResult(start);
114 query.setMaxResults(max);
115 query.setParameter("uuid", true);
116 return query.getResultList();
117 }
118
119
120
121
122 @Override
123 public Integer countAll() {
124 Query query = entityManager.createQuery("Select Count(fo) from FeedbackOption fo");
125 return Integer.parseInt(query.getSingleResult().toString());
126 }
127
128
129
130
131 @Override
132 public Integer countAllVisible() {
133 Query query = entityManager.createQuery("Select Count(fo) from FeedbackOption fo where fo.visible = :uuid");
134 query.setParameter("uuid", true);
135 return Integer.parseInt(query.getSingleResult().toString());
136 }
137
138 }