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