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.AbilityLocal;
  4: import cz.cvut.x33eja.macosond.persistence.entity.Ability;
  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 AbilityBack
 17: {
 18:         @EJB
 19:         private AbilityLocal abilityBean;
 20:         private Ability ability;
 21:         private DataModel abilityListModel;
 22: 
 23:         public AbilityBack()
 24:         {
 25:                 super();
 26:                 ability = new Ability();
 27:         }
 28: 
 29:         public AbilityLocal getAbilityBean()
 30:         {
 31:                 return abilityBean;
 32:         }
 33: 
 34:         public void setAbilityBean(AbilityLocal abilityBean)
 35:         {
 36:                 this.abilityBean = abilityBean;
 37:         }
 38: 
 39:         public Ability getAbility()
 40:         {
 41:                 return ability;
 42:         }
 43: 
 44:         public void setAbility(Ability ability)
 45:         {
 46:                 this.ability = ability;
 47:         }
 48: 
 49:         public List<Ability> getAbilityList()
 50:         {
 51:                 return new ArrayList<Ability>(abilityBean.getAll());
 52:         }
 53: 
 54:         public DataModel getAbilityListModel()
 55:         {
 56:                 abilityListModel = new ListDataModel(getAbilityList());
 57:                 return abilityListModel;
 58:         }
 59: 
 60:         public void setAbilityListModel(DataModel abilityListModel)
 61:         {
 62:                 this.abilityListModel = abilityListModel;
 63:         }
 64: 
 65:         public DataModel getAbilityListSelectItemModel()
 66:         {
 67:                 List<Ability> abilities = getAbilityList();
 68:                 ArrayList<SelectItem> output = new ArrayList<SelectItem>();
 69:                 for (Ability a : abilities) {
 70:                         output.add(new SelectItem(a, a.getName()));
 71:                 }
 72:                 return new ListDataModel(output);
 73:         }
 74:         
 75:         /**
 76:          * =================== Actions ===================
 77:          */
 78: 
 79:         public String add()
 80:         {
 81:                 abilityBean.add(ability);
 82:                 return "list";
 83:         }
 84: 
 85:         public String edit()
 86:         {
 87:                 ability = (Ability) abilityListModel.getRowData();
 88:                 return "edit";
 89:         }
 90: 
 91:         public String saveChanges()
 92:         {
 93:                 abilityBean.edit(ability);
 94:                 return "list";
 95:         }
 96: 
 97:         public String delete()
 98:         {
 99:                 abilityBean.delete((Ability) abilityListModel.getRowData());
100:                 return "list";
101:         }
102: 
103: }
104: