View Javadoc

1   /**
2    * 
3    */
4   package de.tivsource.page.dao.contentitem;
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.contentitem.ContentItem;
17  
18  /**
19   * @author Marc Michele
20   *
21   */
22  @Stateless
23  public class ContentItemDao implements ContentItemDaoLocal {
24  
25  	/*
26       * Statischer Logger der Klasse.
27       */
28      private static final Logger LOGGER = LogManager.getLogger(ContentItemDao.class);
29  
30      /*
31       * EntityManager der Dao Klasse.
32       */
33      @PersistenceContext
34      private EntityManager entityManager;
35  
36  	/* (non-Javadoc)
37  	 * @see de.tivsource.portal.dao.contentitem.ContentItemDaoLocal#findByUuid(java.lang.String)
38  	 */
39  	@Override
40  	public ContentItem findByUuid(String uuid) {
41  		LOGGER.info("findByUuid(String uuid) aufgerufen");
42  		return entityManager.find(ContentItem.class, uuid);
43  	}
44  
45      /* (non-Javadoc)
46       * @see de.tivsource.page.dao.contentitem.ContentItemDaoLocal#findAll(java.lang.Integer, java.lang.Integer)
47       */
48      @SuppressWarnings("unchecked")
49      @Override
50      public List<ContentItem> findAllVisible(String uuid, Integer start, Integer max) {
51          LOGGER.info("findAll(Integer start, Integer max) aufgerufen");
52          Query query = entityManager.createQuery("from ContentItem ci where ci.uuid != :uuid and ci.visible = 'Y'");
53          query.setParameter("uuid", uuid);
54          query.setFirstResult(start);
55          query.setMaxResults(max);
56          return query.getResultList();
57      }
58  
59  	/* (non-Javadoc)
60  	 * @see de.tivsource.portal.dao.contentitem.ContentItemDaoLocal#findAll(java.lang.Integer, java.lang.Integer)
61  	 */
62  	@SuppressWarnings("unchecked")
63  	@Override
64  	public List<ContentItem> findAllUnassigned(Integer start, Integer max) {
65  		LOGGER.info("findAllUnassigned(Integer start, Integer max) aufgerufen");
66          Query query = entityManager.createQuery("from ContentItem ci where ci.uuid not in (select ce.contentItem.uuid from ContentEntry ce)");
67          query.setFirstResult(start);
68          query.setMaxResults(max);
69          return query.getResultList();
70  	}
71  
72      /* (non-Javadoc)
73       * @see de.tivsource.page.dao.contentitem.ContentItemDaoLocal#countAll()
74       */
75      @Override
76      public Integer countAllVisible(String uuid) {
77          Query query = entityManager.createQuery("Select Count(ci) from ContentItem ci where ci.uuid != :uuid and ci.visible = 'Y'");
78          query.setParameter("uuid", uuid);
79          return Integer.parseInt(query.getSingleResult().toString());
80      }
81  
82  	/* (non-Javadoc)
83  	 * @see de.tivsource.portal.dao.contentitem.ContentItemDaoLocal#countAll()
84  	 */
85  	@Override
86  	public Integer countAllUnassigned() {
87          Query query = entityManager.createQuery("Select Count(ci) from ContentItem ci where ci.uuid not in (select uuid from ContentEntry ce)");
88          return Integer.parseInt(query.getSingleResult().toString());
89  	}
90  
91  }// Ende class