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.EventLocal;
  4: import cz.cvut.x33eja.macosond.persistence.entity.Event;
  5: import java.util.ArrayList;
  6: import java.util.Calendar;
  7: import java.util.Date;
  8: import java.util.GregorianCalendar;
  9: import java.util.List;
 10: import javax.ejb.EJB;
 11: import javax.faces.model.DataModel;
 12: import javax.faces.model.ListDataModel;
 13: import javax.faces.model.SelectItem;
 14: 
 15: /**
 16:  *
 17:  * @author Ondrej Macoszek <macosond@fel.cvut.cz>
 18:  */
 19: public class EventBack
 20: {
 21:         @EJB
 22:         private EventLocal eventBean;
 23:         private Event event;
 24:         private DataModel eventListModel;
 25: 
 26:         public EventBack()
 27:         {
 28:                 super();
 29:                 event = new Event();
 30: 
 31:                 // set current date and evening time
 32:                 GregorianCalendar gc = new GregorianCalendar();
 33:                 gc.setTime(new Date());
 34:                 gc.set(Calendar.HOUR_OF_DAY, 19);
 35:                 gc.set(Calendar.MINUTE, 0);
 36:                 event.setDateStart(gc.getTime()); // set current date and time
 37:                 gc.set(Calendar.HOUR_OF_DAY, 23);
 38:                 gc.set(Calendar.MINUTE, 0);
 39:                 event.setDateEnd(gc.getTime()); // set current date and time
 40:         }
 41: 
 42:         public EventLocal getEventBean()
 43:         {
 44:                 return eventBean;
 45:         }
 46: 
 47:         public void setEventBean(EventLocal eventBean)
 48:         {
 49:                 this.eventBean = eventBean;
 50:         }
 51: 
 52:         public Event getEvent()
 53:         {
 54:                 return event;
 55:         }
 56: 
 57:         public void setEvent(Event event)
 58:         {
 59:                 this.event = event;
 60:         }
 61:         
 62:         public List<Event> getEventList()
 63:         {
 64:                 return new ArrayList<Event>(eventBean.getAll());
 65:         }
 66: 
 67:         public DataModel getEventListModel()
 68:         {       
 69:                 eventListModel = new ListDataModel(getEventList());
 70:                 return eventListModel;
 71:         }
 72: 
 73:         public void setEventListModel(DataModel eventListModel)
 74:         {
 75:                 this.eventListModel = eventListModel;
 76:         }
 77: 
 78:         public DataModel getEventListSelectItemModel()
 79:         {
 80:                 List<Event> events = getEventList();
 81:                 ArrayList<SelectItem> output = new ArrayList<SelectItem>();
 82:                 for (Event e : events) {
 83:                         output.add(new SelectItem(e, e.getName()));
 84:                 }
 85:                 return new ListDataModel(output);
 86:         }
 87: 
 88:         /**
 89:          * =================== Actions ===================
 90:          */
 91: 
 92:         public String add()
 93:         {
 94:                 eventBean.add(event);
 95:                 return "list";
 96:         }
 97: 
 98:         public String edit()
 99:         {
100:                 event = (Event) eventListModel.getRowData();
101:                 return "edit";
102:         }
103: 
104:         public String saveChanges()
105:         {
106:                 eventBean.edit(event);
107:                 return "list";
108:         }
109: 
110:         public String delete()
111:         {
112:                 Integer id = ((Event) eventListModel.getRowData()).getEventID();
113:                 event = eventBean.get(id);
114:                 eventBean.delete(event);
115:                 return "list";
116:         }
117: }
118: