1
2
3
4 package de.tivsource.page.dao.cssfile;
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.common.css.CSSFile;
17
18
19
20
21
22 @Stateless
23 public class CSSFileDao implements CSSFileDaoLocal {
24
25
26
27
28 private static final Logger LOGGER = LogManager.getLogger(CSSFileDao.class);
29
30
31
32
33 @PersistenceContext
34 private EntityManager entityManager;
35
36
37
38
39 @Override
40 public void save(CSSFile cssFile) {
41 LOGGER.info("save(CSSFile cssFile) aufgerufen");
42 entityManager.persist(cssFile);
43 }
44
45
46
47
48 @Override
49 public void merge(CSSFile cssFile) {
50 LOGGER.info("merge(CSSFile cssFile) aufgerufen");
51 entityManager.merge(cssFile);
52 }
53
54
55
56
57 @Override
58 public void delete(CSSFile cssFile) {
59 entityManager.remove(entityManager.find(CSSFile.class,
60 cssFile.getUuid()));
61 }
62
63
64
65
66 @Override
67 public Boolean hasReferences(String uuid) {
68 Query query = entityManager.createQuery("SELECT cg FROM CSSGroup cg JOIN cg.files cgf WHERE cgf.uuid = :uuid order by cg.uuid asc");
69 query.setParameter("uuid", uuid);
70 return (query.getResultList().size() > 0 ? true : false);
71 }
72
73
74
75
76 @Override
77 public CSSFile findByUuid(String uuid) {
78 return entityManager.find(CSSFile.class, uuid);
79 }
80
81
82
83
84 @SuppressWarnings("unchecked")
85 @Override
86 public List<CSSFile> findAll(Integer start, Integer max) {
87 Query query = entityManager.createQuery("from CSSFile c order by c.priority asc");
88 query.setFirstResult(start);
89 query.setMaxResults(max);
90 return query.getResultList();
91 }
92
93
94
95
96 @SuppressWarnings("unchecked")
97 @Override
98 public List<CSSFile> findAll(Integer start, Integer max, String field, String order) {
99 String queryString = "SELECT c FROM CSSFile c ORDER BY ";
100 queryString = queryString + field + " " + order;
101 Query query = entityManager.createQuery(queryString);
102 query.setFirstResult(start);
103 query.setMaxResults(max);
104 return query.getResultList();
105 }
106
107
108
109
110 @Override
111 public Integer countAll() {
112 Query query = entityManager.createQuery("Select Count(c) from CSSFile c");
113 return Integer.parseInt(query.getSingleResult().toString());
114 }
115
116 }