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