Kontakt

Fakturační údaje

IČ: 87189224, BÚ: 1958653063/0800

Contact info in QR code

Musico

Informace

  • Webová aplikace vytvořená pomocí technologií EJB a JSF, s úmyslem nasazení na Glassfish serveru.
  • Psaná jako semestrální práce pro předmět X33EJA.
  • Účelem bylo osvojit si:
    • Návrh doménového modelu a jeho implementaci (alespoň jedna vazba M:N)
    • Použití JPA pro persistenci
    • Transakce
    • Použití EJB (stateless i statefull)
    • Lokalizaci do více jazyků
    • Autorizaci uživatelů, rozdělení do rolí a zabezpečení přístupu k business vrstvě
    • Webové rozhrání (servlety, jsp, nebo web framework)

Zdrojové kódy

 1: package cz.cvut.x33eja.macosond.business.music;
 2: 
 3: import cz.cvut.x33eja.macosond.persistence.entity.Genre;
 4: import java.util.Collection;
 5: import javax.annotation.security.PermitAll;
 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:  * @author Ondrej Macoszek <macosond@fel.cvut.cz>
14:  */
15: @Stateless
16: public class GenreBean implements GenreLocal
17: {
18:         @PersistenceContext(unitName="Musico-PU")
19:         private EntityManager em;
20: 
21:         @RolesAllowed({"member","admin"})
22:         public void add(Genre genre)
23:         {
24:                 em.persist(genre);
25:         }
26: 
27:         @RolesAllowed({"member","admin"})
28:         public void edit(Genre genre)
29:         {
30:                 genre = em.merge(genre);
31:                 em.persist(genre);
32:         }
33: 
34:         @RolesAllowed({"member","admin"})
35:         public void delete(Genre genre)
36:         {
37:                 genre = em.merge(genre);
38:                 em.remove(genre);
39:         }
40: 
41:         @PermitAll
42:         public Genre get(Genre genre)
43:         {
44:                 return em.find(Genre.class, genre.getGenreID());
45:         }
46: 
47:         @PermitAll
48:         public Genre get(Integer GenreID)
49:         {
50:                 return em.find(Genre.class, GenreID);
51:         }
52: 
53:         @PermitAll
54:         public Collection<Genre> getAll()
55:         {
56:                 return em.createNamedQuery("Genre.list").getResultList();
57:         }
58:        
59: }
60: