1
2
3
4 package de.tivsource.page.dao.request;
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.Request;
17
18
19
20
21
22 @Stateless
23 public class RequestDao implements RequestDaoLocal {
24
25
26
27
28 private static final Logger LOGGER = LogManager.getLogger(RequestDao.class);
29
30
31
32
33 @PersistenceContext
34 private EntityManager entityManager;
35
36
37
38
39 @Override
40 public void merge(Request request) {
41 LOGGER.info("merge(Request request) aufgerufen");
42 entityManager.merge(request);
43 }
44
45
46
47
48 @Override
49 public void delete(Request request) {
50 entityManager.remove(entityManager.find(Request.class, request.getUuid()));
51 }
52
53
54
55
56 @Override
57 public Request findByUuid(String uuid) {
58 return entityManager.find(Request.class, uuid);
59 }
60
61
62
63
64 @SuppressWarnings("unchecked")
65 @Override
66 public List<Request> findAll(Integer start, Integer max) {
67 Query query = entityManager.createQuery("from Request r");
68 query.setFirstResult(start);
69 query.setMaxResults(max);
70 return query.getResultList();
71 }
72
73
74
75
76 @SuppressWarnings("unchecked")
77 @Override
78 public List<Request> findAll(Integer start, Integer max, String field, String order) {
79 String queryString = "SELECT r FROM Request r ORDER BY ";
80 queryString = queryString + field + " " + order;
81 Query query = entityManager.createQuery(queryString);
82 query.setFirstResult(start);
83 query.setMaxResults(max);
84 return query.getResultList();
85 }
86
87
88
89
90 @Override
91 public Integer countAll() {
92 Query query = entityManager.createQuery("Select Count(r) from Request r");
93 return Integer.parseInt(query.getSingleResult().toString());
94 }
95
96 }