View Javadoc

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