Úloha 6
Název: Finální verze aplikace
Počet bodů: 12
Způsob řešení: Úlohu řeší oba členové týmu dohromady.
Zadání
Doimplementujte aplikaci tak, aby splňovala specifikaci definovanou v rámci úlohy 1, měla plně funkční GUI a splňovala následující požadavky:
- Lokalizace alespoň do tří jazyků. (Překlady nemusí být dokonalé, stačí použít Google Translator.) Aktuální lokalizace bude zvolena podle nastavení operačního systému. V souladu s principem KISS se v žádném případě nesnažte přidat do konfigurace možnost uživatelského nastavení lokalizace; je to zbytečné a velmi by to zkomplikovalo kód aplikace.
- Logování základních operací v aplikační vrstvě a logování všech výjimek a chyb.
- Konfigurace připojení k databázi je uložena v property souboru, který je umístěn v classpath.
- Uživatelské rozhraní je uživatelsky přívětivé a intuitivní (viz úloha 1).
- vstupy s pevným formátem (enumy, datumy) uživatel nevypisuje ručně, ale vybírá si ze seznamu
- není akceptovatelné, aby uživatel vybíral entity zadáním jejich id ! Musí vybírat ze seznamu.
- Aplikace musí správně pracovat s vlákny. Tj. přístup ke GUI komponentám musí probíhat ve vlákně EDT (Event Dispatcher Thread), zatímco operace, které mohou způsobit latence (např. operace přistupující k databázi), musí probíhat mimo toto vlákno. K řešení tohoto problému využijte Swing Worker.
Tipy
- V lokalizaci používejte default Locale, nenastavujte jej v kódu, aplikace se tak automaticky přizpůsobí uživatelovu nastavení OS. Pro vyzkoušení jiných locale je nejjednodušší přenastavit systémové properties nastavením parametrů při spuštění VM, např. pro americkou angličtinu "
-Duser.language=en -Duser.country=US
". V NetBeans se toto nastavení zadává v properties projektu v položce Run - VM Options, v IntelliJ IDEA se zadává v Run - Edit configurations - Configuration - VM options.