View Javadoc
1   package org.myorg.encconfig.ejb;
2   
3   import javax.annotation.PostConstruct;
4   
5   import javax.annotation.Resource;
6   import javax.ejb.Stateless;
7   import javax.jms.ConnectionFactory;
8   import javax.jms.Topic;
9   import javax.persistence.EntityManager;
10  import javax.persistence.PersistenceContext;
11  
12  import org.slf4j.Logger;
13  import org.slf4j.LoggerFactory;
14  
15  @Stateless
16  public class LookupAuditorEJB extends AuditorBase 
17  		implements AuditorRemote {
18  	private static final Logger log = LoggerFactory.getLogger(LookupAuditorEJB.class);
19  	//TODO: enc-config 02: define a resource value injection here 
20  	//@Resource(name="val/publishJMS")
21  	private Boolean publishJMS;
22  	
23  	//TODO: enc-config 04: define a persistence context injection here 
24  	//@PersistenceContext(unitName="encconfig-lab")
25  	private EntityManager em;
26  	
27  	//TODO: enc-config 06: define a resource value lookup and injection here
28  	//@Resource(lookup="java:/topic/test")
29  	private Topic topic;
30  
31  	//TODO: enc-config 08: define a resource lookup and injection here
32  	//@Resource(lookup="java:/JmsXA")
33  	private ConnectionFactory cf;
34  
35  	//TODO: enc-config 10: activate this method after injection occurs
36  	//@PostConstruct
37  	public void init() {
38  		super.setLog(log);
39  		super.setConnectionFactory(cf);
40  		super.setEntityManager(em);
41  		super.setTopic(topic);
42  		super.setPublishJMS(isPublishJMS());
43  	}		
44  
45  	@Override
46  	public boolean isPublishJMS() {
47  		return publishJMS!=null && publishJMS;
48  	}
49  	@Override
50  	public boolean havePersistenceContext() {
51  		return em!=null;
52  	}
53  	@Override
54  	public boolean haveTopic() {
55  		return topic!=null;
56  	}
57  	@Override
58  	public boolean haveConnectionFactory() {
59  		return cf!=null;
60  	}
61  	
62  	@Override
63  	public int audit(String message) {
64  		return super.audit(message);
65  	}
66  }