View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.dao.message;
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.message.Message;
17  
18  /**
19   * @author Marc Michele
20   *
21   */
22  @Stateless
23  public class MessageDao implements MessageDaoLocal {
24      /*
25       * Statischer Logger der Klasse.
26       */
27      private static final Logger LOGGER = LogManager.getLogger(MessageDao.class);
28  
29      /*
30       * EntityManager der Dao Klasse.
31       */
32      @PersistenceContext
33      private EntityManager entityManager;
34  
35      /* (non-Javadoc)
36       * @see de.tivsource.page.dao.message.MessageDaoLocal#save(de.tivsource.page.entity.message.Message)
37       */
38      @Override
39      public void save(Message message) {
40          LOGGER.info("save(Message message) aufgerufen");
41          entityManager.persist(message);
42      }
43  
44      /* (non-Javadoc)
45       * @see de.tivsource.page.dao.message.MessageDaoLocal#merge(de.tivsource.page.entity.message.Message)
46       */
47      @Override
48      public void merge(Message message) {
49          LOGGER.info("merge(Message message) aufgerufen");
50          entityManager.merge(message);
51      }
52  
53      /* (non-Javadoc)
54       * @see de.tivsource.page.dao.message.MessageDaoLocal#delete(de.tivsource.page.entity.message.Message)
55       */
56      @Override
57      public void delete(Message message) {
58          entityManager.remove(entityManager.find(Message.class, message.getUuid()));
59      }
60  
61      /* (non-Javadoc)
62       * @see de.tivsource.page.dao.message.MessageDaoLocal#findByUuid(java.lang.String)
63       */
64      @Override
65      public Message findByUuid(String uuid) {
66          return entityManager.find(Message.class, uuid);
67      }
68  
69      /* (non-Javadoc)
70       * @see de.tivsource.page.dao.message.MessageDaoLocal#findAll(java.lang.Integer, java.lang.Integer)
71       */
72      @SuppressWarnings("unchecked")
73      @Override
74      public List<Message> findAll(Integer start, Integer max) {
75          Query query = entityManager.createQuery("from Message m");
76          query.setFirstResult(start);
77          query.setMaxResults(max);
78          return query.getResultList();
79      }
80  
81      /* (non-Javadoc)
82       * @see de.tivsource.page.dao.message.MessageDaoLocal#findAll(java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String)
83       */
84      @SuppressWarnings("unchecked")
85      @Override
86      public List<Message> findAll(Integer start, Integer max, String field,
87              String order) {
88          String queryString = "select m from Message m order by ";
89          queryString = queryString + field + " " + order;
90          Query query = entityManager.createQuery(queryString);
91          query.setFirstResult(start);
92          query.setMaxResults(max);
93          return query.getResultList();
94      }
95  
96      /* (non-Javadoc)
97       * @see de.tivsource.page.dao.message.MessageDaoLocal#countAll()
98       */
99      @Override
100     public Integer countAll() {
101         Query query = entityManager.createQuery("Select Count(m) from Message m");
102         return Integer.parseInt(query.getSingleResult().toString());
103     }
104 
105 }// Ende class