View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.dao.cssfile;
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.common.css.CSSFile;
17  
18  /**
19   * @author Marc Michele
20   *
21   */
22  @Stateless
23  public class CSSFileDao implements CSSFileDaoLocal {
24  
25      /**
26       * Statischer Logger der Klasse.
27       */
28      private static final Logger LOGGER = LogManager.getLogger(CSSFileDao.class);
29  
30      /**
31       * EntityManager der Dao Klasse.
32       */
33      @PersistenceContext
34      private EntityManager entityManager;
35  
36      /* (non-Javadoc)
37       * @see de.tivsource.shop.dao.cssfile.CSSFileDaoLocal#save(de.tivsource.shop.common.css.CSSFile)
38       */
39      @Override
40      public void save(CSSFile cssFile) {
41          LOGGER.info("save(CSSFile cssFile) aufgerufen");
42          entityManager.persist(cssFile);
43      }
44  
45      /* (non-Javadoc)
46       * @see de.tivsource.shop.dao.cssfile.CSSFileDaoLocal#merge(de.tivsource.shop.common.css.CSSFile)
47       */
48      @Override
49      public void merge(CSSFile cssFile) {
50          LOGGER.info("merge(CSSFile cssFile) aufgerufen");
51          entityManager.merge(cssFile);
52      }
53  
54      /* (non-Javadoc)
55       * @see de.tivsource.shop.dao.cssfile.CSSFileDaoLocal#delete(de.tivsource.shop.common.css.CSSFile)
56       */
57      @Override
58      public void delete(CSSFile cssFile) {
59          entityManager.remove(entityManager.find(CSSFile.class,
60                  cssFile.getUuid()));
61      }
62  
63      /* (non-Javadoc)
64       * @see de.tivsource.shop.dao.cssfile.CSSFileDaoLocal#hasReferences(java.lang.String)
65       */
66      @Override
67      public Boolean hasReferences(String uuid) {
68          Query query = entityManager.createQuery("SELECT cg FROM CSSGroup cg JOIN cg.files cgf WHERE cgf.uuid = :uuid order by cg.uuid asc");
69          query.setParameter("uuid", uuid);
70          return (query.getResultList().size() > 0 ? true : false);
71      }
72  
73      /* (non-Javadoc)
74       * @see de.tivsource.shop.dao.cssfile.CSSFileDaoLocal#findByUuid(java.lang.String)
75       */
76      @Override
77      public CSSFile findByUuid(String uuid) {
78          return entityManager.find(CSSFile.class, uuid);
79      }
80  
81      /* (non-Javadoc)
82       * @see de.tivsource.shop.dao.cssfile.CSSFileDaoLocal#findAll(java.lang.Integer, java.lang.Integer)
83       */
84      @SuppressWarnings("unchecked")
85      @Override
86      public List<CSSFile> findAll(Integer start, Integer max) {
87          Query query = entityManager.createQuery("from CSSFile c order by c.priority asc");
88          query.setFirstResult(start);
89          query.setMaxResults(max);
90          return query.getResultList();
91      }
92  
93      /* (non-Javadoc)
94       * @see de.tivsource.shop.dao.cssfile.CSSFileDaoLocal#findAll(java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String)
95       */
96      @SuppressWarnings("unchecked")
97      @Override
98      public List<CSSFile> findAll(Integer start, Integer max, String field, String order) {
99          String queryString = "SELECT c FROM CSSFile 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.shop.dao.cssfile.CSSFileDaoLocal#countAll()
109      */
110     @Override
111     public Integer countAll() {
112         Query query = entityManager.createQuery("Select Count(c) from CSSFile c");
113         return Integer.parseInt(query.getSingleResult().toString());
114     }
115 
116 }// Ende class