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.web.back;
  2: 
  3: import cz.cvut.x33eja.macosond.business.music.GenreLocal;
  4: import cz.cvut.x33eja.macosond.persistence.entity.Genre;
  5: import java.util.ArrayList;
  6: import java.util.List;
  7: import javax.ejb.EJB;
  8: import javax.faces.model.DataModel;
  9: import javax.faces.model.ListDataModel;
 10: import javax.faces.model.SelectItem;
 11: 
 12: /**
 13:  *
 14:  * @author Ondrej Macoszek <macosond@fel.cvut.cz>
 15:  */
 16: public class GenreBack
 17: {
 18:         @EJB
 19:         private GenreLocal genreBean;
 20: 
 21:         private Genre genre;
 22:         private DataModel genreListModel;
 23: 
 24:         public GenreBack()
 25:         {
 26:                 super();
 27:                 genre = new Genre();
 28:         }
 29: 
 30:         public GenreLocal getGenreBean()
 31:         {
 32:                 return genreBean;
 33:         }
 34: 
 35:         public void setGenreBean(GenreLocal genreBean)
 36:         {
 37:                 this.genreBean = genreBean;
 38:         }
 39: 
 40:         public Genre getGenre()
 41:         {
 42:                 return genre;
 43:         }
 44: 
 45:         public void setGenre(Genre genre)
 46:         {
 47:                 this.genre = genre;
 48:         }
 49: 
 50:         public List<Genre> getGenreList()
 51:         {
 52:                 return new ArrayList<Genre>(genreBean.getAll());
 53:         }
 54: 
 55:         public DataModel getGenreListModel()
 56:         {
 57:                 genreListModel = new ListDataModel(getGenreList());
 58:                 return genreListModel;
 59:         }
 60: 
 61:         public void setGenreListModel(DataModel genreListModel)
 62:         {
 63:                 this.genreListModel = genreListModel;
 64:         }
 65: 
 66:         public DataModel getGenreListSelectItemModel()
 67:         {
 68:                 List<Genre> genres = getGenreList();
 69:                 ArrayList<SelectItem> output = new ArrayList<SelectItem>();
 70:                 for (Genre g : genres) {
 71:                         output.add(new SelectItem(g, g.getName()));
 72:                 }
 73:                 return new ListDataModel(output);
 74:         }
 75:         
 76:         /**
 77:          * =================== Actions ===================
 78:          */
 79: 
 80:         public String add()
 81:         {
 82:                 genreBean.add(genre);
 83:                 return "list";
 84:         }
 85: 
 86:         public String edit()
 87:         {
 88:                 genre = (Genre) genreListModel.getRowData();
 89:                 return "edit";
 90:         }
 91: 
 92:         public String saveChanges()
 93:         {
 94:                 genreBean.edit(genre);
 95:                 return "list";
 96:         }
 97: 
 98:         public String delete()
 99:         {
100:                 genreBean.delete((Genre) genreListModel.getRowData());
101:                 return "list";
102:         }
103: 
104: }
105: