View Javadoc
1   package org.myorg.jpatickets.webejb;
2   
3   import javax.annotation.PostConstruct;
4   
5   import javax.annotation.PreDestroy;
6   import javax.ejb.EJBException;
7   import javax.ejb.Stateless;
8   import javax.persistence.EntityManager;
9   import javax.persistence.PersistenceContext;
10  
11  import org.myorg.jpatickets.bl.VenueMgmt;
12  import org.myorg.jpatickets.bl.VenueMgmtImpl;
13  import org.myorg.jpatickets.bo.Venue;
14  import org.myorg.jpatickets.dao.VenueDAOImpl;
15  import org.myorg.jpatickets.ejb.VenueMgmtRemote;
16  import org.slf4j.Logger;
17  import org.slf4j.LoggerFactory;
18  
19  @Stateless
20  public class WebVenueMgmtEJB implements VenueMgmtRemote {
21      private static final Logger logger = LoggerFactory.getLogger(WebVenueMgmtEJB.class);
22      
23      @PersistenceContext(unitName="jpaticketsweb-labex")
24      private EntityManager em;
25      
26      private VenueMgmt venueMgmt;
27      
28      @PostConstruct
29      public void init() {
30          logger.debug("*** WebVenueMgmtEJB:init({}) ***", super.hashCode());
31          
32          VenueDAOImpl vdao = new VenueDAOImpl();
33          vdao.setEntityManager(em);
34          venueMgmt=new VenueMgmtImpl();
35          ((VenueMgmtImpl)venueMgmt).setDao(vdao);
36      }
37      
38      @PreDestroy
39      public void destroy() {
40          logger.debug("*** WebVenueMgmtEJB:destroy({}) ***", super.hashCode()); 
41      }
42  
43      @Override
44      public Venue createVenue(Venue venue, int sections, int positions, int rows) {
45          try {
46              return venueMgmt.createVenue(venue, sections, positions, rows);
47          } catch (Exception ex) {
48              logger.error("error creating venue", ex);
49              throw new EJBException("error creating venue:" + ex);
50          }
51      }
52  
53      @Override
54      public Venue getVenue(String venueId) {
55          try {
56              return venueMgmt.getVenue(venueId);
57          } catch (Exception ex) {
58              logger.error("error getting venue", ex);
59              throw new EJBException("error getting venue:" + ex);
60          }
61      }
62  }