View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.dao.slider;
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.slider.Slider;
17  
18  /**
19   * @author Marc Michele
20   *
21   */
22  @Stateless
23  public class SliderDao implements SliderDaoLocal {
24  
25      /*
26       * Statischer Logger der Klasse.
27       */
28      private static final Logger LOGGER = LogManager.getLogger(SliderDao.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.slider.SliderDaoLocal#save(de.tivsource.page.entity.slider.Slider)
38       */
39      @Override
40      public void save(Slider slider) {
41          LOGGER.info("save(Slider slider) aufgerufen");
42          entityManager.persist(slider);
43      }
44  
45      /* (non-Javadoc)
46       * @see de.tivsource.page.dao.slider.SliderDaoLocal#merge(de.tivsource.page.entity.slider.Slider)
47       */
48      @Override
49      public void merge(Slider slider) {
50          LOGGER.info("merge(Slider slider) aufgerufen");
51          entityManager.merge(slider);
52      }
53  
54      /* (non-Javadoc)
55       * @see de.tivsource.page.dao.slider.SliderDaoLocal#delete(de.tivsource.page.entity.slider.Slider)
56       */
57      @Override
58      public void delete(Slider slider) {
59          entityManager.remove(entityManager.find(Slider.class, slider.getUuid()));
60      }
61  
62      /* (non-Javadoc)
63       * @see de.tivsource.page.dao.slider.SliderDaoLocal#findByUuid(java.lang.String)
64       */
65      @Override
66      public Slider findByUuid(String uuid) {
67          return entityManager.find(Slider.class, uuid);
68      }
69  
70      /* (non-Javadoc)
71       * @see de.tivsource.page.dao.slider.SliderDaoLocal#findAll(java.lang.Integer, java.lang.Integer)
72       */
73      @SuppressWarnings("unchecked")
74      @Override
75      public List<Slider> findAll(Integer start, Integer max) {
76          Query query = entityManager.createQuery("from Slider s");
77          query.setFirstResult(start);
78          query.setMaxResults(max);
79          return query.getResultList();
80      }
81  
82      /* (non-Javadoc)
83       * @see de.tivsource.page.dao.slider.SliderDaoLocal#findAll(java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String)
84       */
85      @SuppressWarnings("unchecked")
86      @Override
87      public List<Slider> findAll(Integer start, Integer max, String field, String order) {
88          String queryString = "SELECT s FROM Slider s 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.slider.SliderDaoLocal#findAllVisible(java.lang.Integer, java.lang.Integer, java.lang.String)
98       */
99      @SuppressWarnings("unchecked")
100     @Override
101     public List<Slider> findAllVisible(Integer start, Integer max, String page) {
102         String queryString = "SELECT s FROM Slider s WHERE s.visible = 'Y' and s.page = :page ORDER BY s.orderNumber desc";
103         Query query = entityManager.createQuery(queryString);
104         query.setFirstResult(start);
105         query.setMaxResults(max);
106         query.setParameter("page", page);
107         return query.getResultList();
108     }
109 
110     /* (non-Javadoc)
111      * @see de.tivsource.page.dao.slider.SliderDaoLocal#countAll()
112      */
113     @Override
114     public Integer countAll() {
115         Query query = entityManager.createQuery("Select Count(s) from Slider s");
116         return Integer.parseInt(query.getSingleResult().toString());
117     }
118 
119     /* (non-Javadoc)
120      * @see de.tivsource.page.dao.slider.SliderDaoLocal#countAllVisible(java.lang.String)
121      */
122     @Override
123     public Integer countAllVisible(String page) {
124         Query query = entityManager.createQuery("Select Count(s) from Slider s WHERE s.visible = 'Y' and s.page = :page");
125         query.setParameter("page", page);
126         return Integer.parseInt(query.getSingleResult().toString());
127     }
128 
129 }// Ende class