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