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: <?xml version='1.0' encoding='UTF-8'?>
  2: 
  3: <!-- =========== FULL CONFIGURATION FILE ================================== -->
  4: 
  5: <faces-config version="1.2" 
  6:     xmlns="http://java.sun.com/xml/ns/javaee" 
  7:     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  8:     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
  9:         <application>
 10:                 <locale-config>
 11:                         <default-locale>cs</default-locale>
 12:                         <supported-locale>en</supported-locale>
 13:                         <supported-locale>cs</supported-locale>
 14:                 </locale-config>
 15:                 <resource-bundle>
 16:                         <base-name>cz.cvut.x33eja.macosond.web.resources.messages</base-name>
 17:                         <var>msg</var>
 18:                 </resource-bundle>
 19:                 <resource-bundle>
 20:                         <base-name>cz.cvut.x33eja.macosond.web.resources.titles</base-name>
 21:                         <var>title</var>
 22:                 </resource-bundle>
 23:                 <resource-bundle>
 24:                         <base-name>cz.cvut.x33eja.macosond.web.resources.errors</base-name>
 25:                         <var>error</var>
 26:                 </resource-bundle>
 27:         </application>
 28: 
 29: 
 30: 
 31:     <converter>
 32:         <converter-id>bandConverter</converter-id>
 33:         <converter-class>cz.cvut.x33eja.macosond.web.converter.BandConverter</converter-class>
 34:     </converter>
 35: 
 36:     <converter>
 37:         <converter-id>eventConverter</converter-id>
 38:         <converter-class>cz.cvut.x33eja.macosond.web.converter.EventConverter</converter-class>
 39:     </converter>
 40: 
 41:     <converter>
 42:         <converter-id>genreConverter</converter-id>
 43:         <converter-class>cz.cvut.x33eja.macosond.web.converter.GenreConverter</converter-class>
 44:     </converter>
 45: 
 46:     <converter>
 47:         <converter-id>musicianConverter</converter-id>
 48:         <converter-class>cz.cvut.x33eja.macosond.web.converter.MusicianConverter</converter-class>
 49:     </converter>
 50: 
 51:     <converter>
 52:         <converter-id>abilityConverter</converter-id>
 53:         <converter-class>cz.cvut.x33eja.macosond.web.converter.AbilityConverter</converter-class>
 54:     </converter>
 55: 
 56:         <managed-bean>
 57:                 <managed-bean-name>localeBack</managed-bean-name>
 58:                 <managed-bean-class>cz.cvut.x33eja.macosond.web.back.LocaleBack</managed-bean-class>
 59:                 <managed-bean-scope>session</managed-bean-scope>
 60:         </managed-bean>
 61: 
 62:         <managed-bean>
 63:                 <managed-bean-name>bandBack</managed-bean-name>
 64:                 <managed-bean-class>cz.cvut.x33eja.macosond.web.back.BandBack</managed-bean-class>
 65:                 <managed-bean-scope>request</managed-bean-scope>
 66:         </managed-bean>
 67: 
 68:         <managed-bean>
 69:                 <managed-bean-name>eventBack</managed-bean-name>
 70:                 <managed-bean-class>cz.cvut.x33eja.macosond.web.back.EventBack</managed-bean-class>
 71:                 <managed-bean-scope>request</managed-bean-scope>
 72:         </managed-bean>
 73: 
 74:         <managed-bean>
 75:                 <managed-bean-name>genreBack</managed-bean-name>
 76:                 <managed-bean-class>cz.cvut.x33eja.macosond.web.back.GenreBack</managed-bean-class>
 77:                 <managed-bean-scope>request</managed-bean-scope>
 78:         </managed-bean>
 79: 
 80:         <managed-bean>
 81:                 <managed-bean-name>musicianBack</managed-bean-name>
 82:                 <managed-bean-class>cz.cvut.x33eja.macosond.web.back.MusicianBack</managed-bean-class>
 83:                 <managed-bean-scope>request</managed-bean-scope>
 84:         </managed-bean>
 85: 
 86:         <managed-bean>
 87:                 <managed-bean-name>abilityBack</managed-bean-name>
 88:                 <managed-bean-class>cz.cvut.x33eja.macosond.web.back.AbilityBack</managed-bean-class>
 89:                 <managed-bean-scope>request</managed-bean-scope>
 90:         </managed-bean>
 91: 
 92: 
 93:         <managed-bean>
 94:                 <managed-bean-name>userAccountBack</managed-bean-name>
 95:                 <managed-bean-class>cz.cvut.x33eja.macosond.web.back.UserAccountBack</managed-bean-class>
 96:                 <managed-bean-scope>request</managed-bean-scope>
 97:         </managed-bean>
 98: 
 99:     <navigation-rule>
100:         <from-view-id>/member/bandAdd.jsp</from-view-id>
101:         <navigation-case>
102:             <from-outcome>list</from-outcome>
103:             <to-view-id>/member/bandList.jsp</to-view-id>
104:         </navigation-case>
105:     </navigation-rule>
106:     <navigation-rule>
107:         <from-view-id>/member/bandEdit.jsp</from-view-id>
108:         <navigation-case>
109:             <from-outcome>list</from-outcome>
110:             <to-view-id>/member/bandList.jsp</to-view-id>
111:         </navigation-case>
112:     </navigation-rule>
113:     <navigation-rule>
114:         <from-view-id>/member/bandList.jsp</from-view-id>
115:         <navigation-case>
116:             <from-outcome>edit</from-outcome>
117:             <to-view-id>/member/bandEdit.jsp</to-view-id>
118:         </navigation-case>
119:         <navigation-case>
120:             <from-outcome>add</from-outcome>
121:             <to-view-id>/member/bandAdd.jsp</to-view-id>
122:         </navigation-case>
123:     </navigation-rule>
124:     <navigation-rule>
125:         <from-view-id>/member/eventEdit.jsp</from-view-id>
126:         <navigation-case>
127:             <from-outcome>list</from-outcome>
128:             <to-view-id>/member/eventList.jsp</to-view-id>
129:         </navigation-case>
130:     </navigation-rule>
131:     <navigation-rule>
132:         <from-view-id>/member/eventList.jsp</from-view-id>
133:         <navigation-case>
134:             <from-outcome>edit</from-outcome>
135:             <to-view-id>/member/eventEdit.jsp</to-view-id>
136:         </navigation-case>
137:         <navigation-case>
138:             <from-outcome>add</from-outcome>
139:             <to-view-id>/member/eventAdd.jsp</to-view-id>
140:         </navigation-case>
141:     </navigation-rule>
142:     <navigation-rule>
143:         <from-view-id>/member/eventAdd.jsp</from-view-id>
144:         <navigation-case>
145:             <from-outcome>list</from-outcome>
146:             <to-view-id>/member/eventList.jsp</to-view-id>
147:         </navigation-case>
148:     </navigation-rule>
149:     <navigation-rule>
150:         <from-view-id>/member/musicianAdd.jsp</from-view-id>
151:         <navigation-case>
152:             <from-outcome>list</from-outcome>
153:             <to-view-id>/member/musicianList.jsp</to-view-id>
154:         </navigation-case>
155:     </navigation-rule>
156:     <navigation-rule>
157:         <from-view-id>/member/musicianEdit.jsp</from-view-id>
158:         <navigation-case>
159:             <from-outcome>list</from-outcome>
160:             <to-view-id>/member/musicianList.jsp</to-view-id>
161:         </navigation-case>
162:     </navigation-rule>
163:     <navigation-rule>
164:         <from-view-id>/member/musicianList.jsp</from-view-id>
165:         <navigation-case>
166:             <from-outcome>edit</from-outcome>
167:             <to-view-id>/member/musicianEdit.jsp</to-view-id>
168:         </navigation-case>
169:         <navigation-case>
170:             <from-outcome>add</from-outcome>
171:             <to-view-id>/member/musicianAdd.jsp</to-view-id>
172:         </navigation-case>
173:     </navigation-rule>
174:     <navigation-rule>
175:         <from-view-id>/member/genreAdd.jsp</from-view-id>
176:         <navigation-case>
177:             <from-outcome>list</from-outcome>
178:             <to-view-id>/member/genreList.jsp</to-view-id>
179:         </navigation-case>
180:     </navigation-rule>
181:     <navigation-rule>
182:         <from-view-id>/member/genreEdit.jsp</from-view-id>
183:         <navigation-case>
184:             <from-outcome>list</from-outcome>
185:             <to-view-id>/member/genreList.jsp</to-view-id>
186:         </navigation-case>
187:     </navigation-rule>
188:     <navigation-rule>
189:         <from-view-id>/member/genreList.jsp</from-view-id>
190:         <navigation-case>
191:             <from-outcome>edit</from-outcome>
192:             <to-view-id>/member/genreEdit.jsp</to-view-id>
193:         </navigation-case>
194:         <navigation-case>
195:             <from-outcome>add</from-outcome>
196:             <to-view-id>/member/genreAdd.jsp</to-view-id>
197:         </navigation-case>
198:     </navigation-rule>
199:     <navigation-rule>
200:         <from-view-id>/common/headerCore.jsp</from-view-id>
201:         <navigation-case>
202:             <from-outcome>home</from-outcome>
203:             <to-view-id>/index.jsp</to-view-id>
204:         </navigation-case>
205:     </navigation-rule>
206: </faces-config>
207: 
208: 
209: 
210: 
211: 
212: 
213: 
214: 
215: