1: package cz.cvut.x33eja.macosond.business.music;
2:
3: import cz.cvut.x33eja.macosond.persistence.entity.Band;
4: import cz.cvut.x33eja.macosond.persistence.entity.Musician;
5: import java.util.Collection;
6: import javax.annotation.security.RolesAllowed;
7: import javax.ejb.Stateless;
8: import javax.persistence.EntityManager;
9: import javax.persistence.PersistenceContext;
10:
11: 12: 13: 14:
15: @Stateless
16: public class MusicianBean implements MusicianLocal
17: {
18: @PersistenceContext(unitName="Musico-PU")
19: private EntityManager em;
20:
21: @RolesAllowed({"member","admin"})
22: public void add(Musician musician)
23: {
24: em.persist(musician);
25: }
26:
27: @RolesAllowed({"member","admin"})
28: public void edit(Musician musician)
29: {
30: musician = em.merge(musician);
31: em.persist(musician);
32: }
33:
34: @RolesAllowed({"member","admin"})
35: public void delete(Musician musician)
36: {
37: musician = em.merge(musician);
38: em.remove(musician);
39: }
40:
41: public Musician get(Musician musician)
42: {
43: return em.find(Musician.class, musician.getMusicianID());
44: }
45:
46: public Musician get(Integer MusicianID)
47: {
48: return em.find(Musician.class, MusicianID);
49: }
50:
51: public Collection<Musician> getAll()
52: {
53: return em.createNamedQuery("Musician.list").getResultList();
54: }
55:
56: public Collection<Musician> getByBand(Band band)
57: {
58: band = em.find(Band.class, band.getBandID());
59: return band.getMusicians();
60: }
61: }
62: