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