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.persistence.entity;
  2: 
  3: import java.io.Serializable;
  4: import java.util.Collection;
  5: import javax.persistence.Column;
  6: import javax.persistence.Entity;
  7: import javax.persistence.GeneratedValue;
  8: import javax.persistence.GenerationType;
  9: import javax.persistence.Id;
 10: import javax.persistence.ManyToMany;
 11: import javax.persistence.NamedQuery;
 12: import javax.persistence.Table;
 13: 
 14: /**
 15:  * @author Ondra
 16:  * @version 1.0
 17:  * @created 23-XII-2009 19:34:16
 18:  */
 19: @Entity
 20: @Table(name="Ability")
 21: @NamedQuery(name="Ability.list", query="SELECT a FROM Ability a")
 22: public class Ability implements Serializable
 23: {
 24:         private static final long serialVersionUID = 1L;
 25: 
 26:         @Id
 27:         @GeneratedValue(strategy = GenerationType.AUTO)
 28:         @Column(name="AbilityID")
 29:         private Integer AbilityID;
 30:         @Column(name="Name", unique = true)
 31:         private String Name;
 32: 
 33:         @ManyToMany(mappedBy="Abilities")
 34:         private Collection<Musician> Musicians;
 35: 
 36:         public Ability()
 37:         {
 38:                 super();
 39:         }
 40: 
 41:         public Ability(Integer AbilityID)
 42:         {
 43:                 super();
 44:                 this.AbilityID = AbilityID;
 45:         }
 46: 
 47:         public Integer getAbilityID()
 48:         {
 49:                 return AbilityID;
 50:         }
 51: 
 52:         public void setAbilityID(Integer AbilityID)
 53:         {
 54:                 this.AbilityID = AbilityID;
 55:         }
 56: 
 57:         public String getName()
 58:         {
 59:                 return Name;
 60:         }
 61: 
 62:         public void setName(String Name)
 63:         {
 64:                 this.Name = Name;
 65:         }
 66: 
 67:         public Collection<Musician> getMusicians()
 68:         {
 69:                 return Musicians;
 70:         }
 71: 
 72:         public void setMusicians(Collection<Musician> Musicians)
 73:         {
 74:                 this.Musicians = Musicians;
 75:         }
 76: 
 77:         @Override
 78:         public int hashCode()
 79:         {
 80:                 int hash = 0;
 81:                 hash = (AbilityID == null ? 0 : AbilityID.hashCode());
 82:                 return hash;
 83:         }
 84: 
 85:         @Override
 86:         public boolean equals(Object o)
 87:         {
 88:                 if( !(o instanceof Ability) ) {
 89:                         return false;
 90:                 }
 91: 
 92:                 Ability other = (Ability) o;
 93:                 if( ( this.AbilityID == null && other.AbilityID != null )
 94:                     || ( this.AbilityID != null && other.AbilityID == null )
 95:                     || ( !this.AbilityID.equals(other.AbilityID) )
 96:                   ) {
 97:                         return false;
 98:                 }
 99:                 return true;
100:         }
101:         
102:         @Override
103:         public String toString()
104:         {
105:                 return "cz.cvut.x33eja.macosond.persistence.entity.Ability[id=" + AbilityID + "]";
106:         }
107: 
108: }