View Javadoc

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   * @author Marc Michele
20   *
21   */
22  @Stateless
23  public class RequestDao implements RequestDaoLocal {
24  
25      /*
26       * Statischer Logger der Klasse.
27       */
28      private static final Logger LOGGER = LogManager.getLogger(RequestDao.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.request.RequestDaoLocal#merge(de.tivsource.page.entity.request.Request)
38       */
39      @Override
40      public void merge(Request request) {
41          LOGGER.info("merge(Request request) aufgerufen");
42          entityManager.merge(request);
43      }
44  
45      /* (non-Javadoc)
46       * @see de.tivsource.page.dao.request.RequestDaoLocal#delete(de.tivsource.page.entity.request.Request)
47       */
48      @Override
49      public void delete(Request request) {
50          entityManager.remove(entityManager.find(Request.class, request.getUuid()));
51      }
52  
53      /* (non-Javadoc)
54       * @see de.tivsource.page.dao.request.RequestDaoLocal#findByUuid(java.lang.String)
55       */
56      @Override
57      public Request findByUuid(String uuid) {
58          return entityManager.find(Request.class, uuid);
59      }
60  
61      /* (non-Javadoc)
62       * @see de.tivsource.page.dao.request.RequestDaoLocal#findAll(java.lang.Integer, java.lang.Integer)
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      /* (non-Javadoc)
74       * @see de.tivsource.page.dao.request.RequestDaoLocal#findAll(java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String)
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      /* (non-Javadoc)
88       * @see de.tivsource.page.dao.request.RequestDaoLocal#countAll()
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  }// Ende class