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