View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.dao.companion;
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.companion.Companion;
17  import de.tivsource.page.entity.companion.CompanionGroup;
18  
19  /**
20   * @author Marc Michele
21   *
22   */
23  @Stateless
24  public class CompanionDao implements CompanionDaoLocal {
25  
26      /*
27       * Statischer Logger der Klasse.
28       */
29      private static final Logger LOGGER = LogManager.getLogger(CompanionDao.class);
30  
31      /*
32       * EntityManager der Dao Klasse.
33       */
34      @PersistenceContext
35      private EntityManager entityManager;
36  
37      /* (non-Javadoc)
38       * @see de.tivsource.page.dao.companion.CompanionDaoLocal#save(de.tivsource.page.entity.companion.Companion)
39       */
40      @Override
41      public void save(Companion companion) {
42          LOGGER.info("save(Companion companion) aufgerufen");
43          entityManager.persist(companion);
44      }
45  
46      /* (non-Javadoc)
47       * @see de.tivsource.page.dao.companion.CompanionDaoLocal#merge(de.tivsource.page.entity.companion.Companion)
48       */
49      @Override
50      public void merge(Companion companion) {
51          LOGGER.info("merge(Companion companion) aufgerufen");
52          entityManager.merge(companion);
53      }
54  
55      /* (non-Javadoc)
56       * @see de.tivsource.page.dao.companion.CompanionDaoLocal#delete(de.tivsource.page.entity.companion.Companion)
57       */
58      @Override
59      public void delete(Companion companion) {
60          entityManager.remove(entityManager.find(Companion.class, companion.getUuid()));
61      }
62  
63      /* (non-Javadoc)
64       * @see de.tivsource.page.dao.companion.CompanionDaoLocal#isCompanionUuid(java.lang.String)
65       */
66      @Override
67      public Boolean isCompanionUuid(String uuid) {
68          Query query = entityManager.createQuery("select c from Companion c where c.uuid = :uuid and c.visible = 'Y' order by c.uuid asc");
69          query.setParameter("uuid", uuid);
70          return (query.getResultList().size() > 0 ? true : false);
71      }
72  
73      /* (non-Javadoc)
74       * @see de.tivsource.page.dao.companion.CompanionDaoLocal#findByUuid(java.lang.String)
75       */
76      @Override
77      public Companion findByUuid(String uuid) {
78          return entityManager.find(Companion.class, uuid);
79      }
80  
81      /* (non-Javadoc)
82       * @see de.tivsource.page.dao.companion.CompanionDaoLocal#findAll(java.lang.Integer, java.lang.Integer)
83       */
84      @SuppressWarnings("unchecked")
85      @Override
86      public List<Companion> findAll(Integer start, Integer max) {
87          Query query = entityManager.createQuery("from Companion c ORDER by c.name");
88          query.setFirstResult(start);
89          query.setMaxResults(max);
90          return query.getResultList();
91      }
92  
93      /* (non-Javadoc)
94       * @see de.tivsource.page.dao.companion.CompanionDaoLocal#findAll(java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String)
95       */
96      @SuppressWarnings("unchecked")
97      @Override
98      public List<Companion> findAll(Integer start, Integer max, String field, String order) {
99          String queryString = "SELECT c FROM Companion c ORDER BY ";
100         queryString = queryString + field + " " + order;
101         Query query = entityManager.createQuery(queryString);
102         query.setFirstResult(start);
103         query.setMaxResults(max);
104         return query.getResultList();
105     }
106 
107     /* (non-Javadoc)
108      * @see de.tivsource.page.dao.companion.CompanionDaoLocal#findAllVisible(java.lang.Integer, java.lang.Integer)
109      */
110     @SuppressWarnings("unchecked")
111     @Override
112     public List<Companion> findAllVisible(Integer start, Integer max) {
113         String queryString = "SELECT c FROM Companion c WHERE c.visible = 'Y' ORDER BY c.name asc";
114         Query query = entityManager.createQuery(queryString);
115         query.setFirstResult(start);
116         query.setMaxResults(max);
117         return query.getResultList();
118     }
119 
120     @SuppressWarnings("unchecked")
121     @Override
122     public List<Companion> findAllVisible(Integer start, Integer max, CompanionGroup companionGroup) {
123         String queryString = "SELECT c FROM Companion c WHERE c.visible = 'Y' and c.group = :companionGroup ORDER BY c.name asc";
124         Query query = entityManager.createQuery(queryString);
125         query.setFirstResult(start);
126         query.setMaxResults(max);
127         query.setParameter("companionGroup", companionGroup);
128         return query.getResultList();
129     }
130 
131     /* (non-Javadoc)
132      * @see de.tivsource.page.dao.companion.CompanionDaoLocal#countAll()
133      */
134     @Override
135     public Integer countAll() {
136         Query query = entityManager.createQuery("Select Count(c) from Companion c");
137         return Integer.parseInt(query.getSingleResult().toString());
138     }
139 
140     /* (non-Javadoc)
141      * @see de.tivsource.page.dao.companion.CompanionDaoLocal#countAllVisible()
142      */
143     @Override
144     public Integer countAllVisible() {
145         Query query = entityManager.createQuery("Select Count(c) from Companion c WHERE c.visible = 'Y'");
146         return Integer.parseInt(query.getSingleResult().toString());
147     }
148 
149     @Override
150     public Integer countAllVisible(CompanionGroup companionGroup) {
151         Query query = entityManager.createQuery("Select Count(c) from Companion c WHERE c.visible = 'Y' and c.group = :companionGroup");
152         query.setParameter("companionGroup", companionGroup);
153         return Integer.parseInt(query.getSingleResult().toString());
154     }
155 
156 
157 
158 }// Ende class