2. 1. Beadandó feladat
Határidő: 2016. 10. 12.
Egyszerű listakezelő létrehozása egyetlen terem foglalásának
kezelésére
A lista kezdési idő szerint legyen rendezve
Allocation Entity class létrehozása a következő mezőkkel
String subject - a teremfoglalás tárgya
String email - annak a címe, aki lefoglalta
Date start - foglalás kezdete
Date end - foglalás vége
Mindegyik mező kötelező
Github-on kell beadni a beadandó feladatokat
2
3. github.com
Sign up gomb jobb felül
https://github.com/jseteny/tigra-jee-kurzus, Fork gomb
IntelliJ-ben Close Project és Check out from Version Control, Github
Az új, fork-olás utáni címet adjuk meg neki és egy helyi mappát
Would you like to create … -re No-val válaszoljunk
Terminálban gittel nevezzük át a most keletkezett 1608 mappát:
git mv 1608 resource_allocator
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
IntelliJ-ben nyissuk meg a resource_allocator mappát
Bal oldalt lent: Frameworks detected: Configure, OK
Unregistered VCS root detected, klikk a pici ablak jobb alsó sarkába és Add root
Fontos: Ctrl + K, Reformat code és Optimize imports majd Commit Message utána
Commit gomb. Code Analisys ablakon Commit
Fontos: Ctrl + Shift + K, Push - evvel kerül föl a változtatás a github-ra és így folytatható
a munka egy másik számítógépen illetve egy másik programozó által
3
4. Segítség a feladathoz
Az előző lapon leírt módon a 1608-as projektből kell kiindulni
Átalakítani a szükséges részeket
Majd törölni a szükségtelenné váltakat
Amikor a megfelelő mezőket a megfelelő annotációkkal
létrehoztad a get/set metódusokat az alábbi módon készítsd
Ctrl + Shift + A, Generate …
Getter and Setter, Ctrl + A, Enter
Ctrl + Shift + A, Refactor This …, Rename
Ctrl + Shift + A, Find in Path és Replace in Path
4
5. Mit tanultál otthon?
Teszt először üres formra
Utána minden mezőbe csak 1 betű
Végül helyes adatokkal
DateConverter:
<f:convertDateTime pattern="k:m"/>
Regexp-el is lehet valamennyire dátum validációt
csinálni
Felhasználónak egyértelműsíthető az input, pl a
Label-be beírhatunk mintát
5
6. Mik voltak a problémák?
Dátum kezelés. Példák kellettek volna
a feladatkitűzésben
Átnevezni sok helyen kellett
Commit, Ctrl+K volt hogy törlést
eredményezett?
Push, Ctrl+Shift+K -nál derült ki?
6
7. Hol kerested a megoldást?
stackoverflow.com: válaszok kommentezve,
elfogadott válasz, súlyozzák a válaszokat
Elméleti kérdésekre: hivatolos dokumentáció
Ha más pl. csak kapcsolódó elméleti kérdés, akkor
jó lehet a Wikipedia
netstat.exe Windows és Linux. Akkor segít, ha
portok akadnak össze: Exception: cannot bind
port 8080 (9990)
VirtualBox, új virtuális gép, amin még nincs
semmilyen server belül, ha netstat-al sem sikerül
7
8. Milyen eszköz kellett volna?
Ctrl+Shift+A Refactor this…, Rename
Mivel nem marad member név, a fölajánlott
parameter, local, getter, test átnevezéseket is fogadd
el
Alt+9, menj az 1. java fájlra, Ctrl+D és F7 többször.
Jó-e minden átnevezés?
XHTML-ben Ctrl+B-vel beleugrik-e még a java fájlba,
ahol definiálva van?
Minden nagyobb változtatás után restart (újrafuttatás)
és tesz. Lásd a Mit tanultál otthon? című lapot
Érdemes automatizálni is az Arquillian-nal
8
9. Továbbfejlesztési ötletek?
Dátum template: aaa-bb-cc, kötőjelek
az inputbox-ban előre, szürkével,
placeholder-szerűen
Esetleg csak a HTML-ben eleve létező
placeholder
Rendszeridőből induljon, foglalás csak
jövőben: new Date() és DateFormatter
kell hozzá
9
10. Továbbfejlesztési ötletek?
Több terem
Foglalás törlése, módosítása
Email küldés - batch processing
Keresés: szabad időközök, vagy mikor szeretnénk -> szabad termek
Hasonló formokból ötletek: Tesco kiszállítási időpontok
Ne lehessen ütközéseket csinálni. Termet foglalunk!
Nyitvatartás
Előreregisztrált user-ek
Minimum időköz
Tesztelhetőséget javítani: azok az ötletek maradjanak, amik nem túl
sok lépésből tesztelhetők
10