Harjoitustyö, vaihe 3
Aikaisempien osien perusteella sinulla pitäisi olla sovelluksen runko valmiina. Tässä vaiheessa toteutetaan harjoitustyön toiminnallisuudet, eli kytketään tietomalli käyttöliittymään.
Tässä vaiheessa kunkin tehtävän kohdalle palautetaan kyseiseen tehtävään liittyvä URL-osoite, joka sisältää niin sanotun commit hashin. Tällä tavalla ohjaaja pääsee tarvittaessa tarkastelemaan juuri tiettyyn vaiheeseen liittyvää koodia.
Commit hash
Commit hash on Gitin muodostama yksilöllinen tunniste yksittäiselle commitille.
Se näyttää yleensä pitkältä merkkijonolta, kuten a1b2c3d4..., ja sen avulla
voidaan viitata täsmällisesti juuri tiettyyn projektin tilaan.
Commitin tarkoitus on tallentaa yksi versio projektista versionhallintaan. Commit hash taas kertoo, mikä näistä tallennetuista versioista on kyseessä. Kun tehtävän palautuksessa annetaan commit hash, ohjaaja voi avata juuri sen hetken koodin, jossa tehtävä on ollut valmiina.
Commit hash ei edusta vain yksittäistä tiedostoa tai muutosta, vaan commit-oliota, joka sisältää metatietoa yhdestä commitista: Näitä ovat esimerkiksi viesti ("message"), tekijä ("author"), viittaus projektin hakemistorakenteeseen ("tree") sekä viittaus edelliseen commitiin ("parent").
GitLab- ja GitHub-palveluissa on mahdollisuus tarkastella committeja siten, että hash-arvo on suoraan URL-osoitteessa.
Commit hash -osoitteen esimerkki GitLabissa
- Kirjaudu GitLabiin ja avaa projektisi.
- Klikkaa vasemmalta Code Commits.
- Näet listan commiteista. Valitse se commit, joka liittyy tehtävän palautukseen. Klikkaa sitä.
- Osoiterivillä näkyy URL-osoite, joka sisältää commit hash -arvon. Kopioi tämä URL-osoite ja liitä se tehtävän palautukseen.
Commit hash -osoitteen esimerkki GitHubissa
- Kirjaudu GitHubiin ja avaa projektisi.
- Klikkaa vihreän Code-kuvakkeen alta NNN Commits, jossa NNN on committien määrä.
- Näet listan commiteista. Valitse se commit, joka liittyy tehtävän palautukseen. Klikkaa sitä.
- Osoiterivillä näkyy URL-osoite, joka sisältää commit hash -arvon. Kopioi tämä URL-osoite ja liitä se tehtävän palautukseen.
Tehtävät
Kuhunkin tehtävään palautetaan URL-osoite, joka vie commitiin etävarastossasi. Jos olet tehnyt omaa työtäsi hieman eri rytmissä kuin tässä vaiheistuksessa on esitetty, palauta URL-osoite siihen commitiin joka parhaiten edustaa kyseisen tehtävän vaatimuksia.
Toteuta tiedon lisääminen. Lisäämisen jälkeen ohjelman tulee näyttää lisätty tieto sovelluksen käyttöliittymässä. Validointia ei tarvitse vielä tehdä. Tässä kohden riittää, että dataa syntyy sovellukseen.
Toteuta tiedon poistaminen. Poistamisessa tulee huomioida ja käsitellä myös muut mahdolliset oliot, jotka viittaavat poistettuun olioon. Esimerkiksi, jos poistat Kategoria-olion Kulujenseuranta-sovelluksessa, pitää poistaa (asettaa null-arvioon tai Optional.empty()-arvoon) kategoria kaikilta niiltä Tapahtuma-olioilta, jotka siihen viittaavat. Poistamisessa on myös hyvä olla varmistusdialogi esimerkiksi Alert-luokan avulla, jotta vahingossa tapahtuneet klikkaukset eivät tuhoa dataa.
Toteuta tiedon tallentaminen ja lukeminen tiedostosta.
Toteuta tiedon muokkaaminen. Muokkauksen tulee tallentua välittömästi sekä tietomalliin että tiedostoon. Kuten poistamisessa, myös muokkaamisessa tulee huomioida muokattuun olioon viittaavat oliot.
Toteuta tiedon validointi. Sovelluksessa ei saa olla mahdollista syöttää selkeästi virheellistä tietoa.
Toteuta tietomallille yksikkötestejä JUnitilla.
Täydennä README-tiedosto. Lisää siihen kuvaus toteuttamistasi toiminnallisuuksista sekä ohjeet sovelluksen käyttämiseen. Ota kuvakaappaukset eri näkymistä ja selitä, miten eri toiminnot toimivat.
Näytä vaihe ohjaajalle.