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