Skip to content

ProcessingAndStorage

Richard Kalinec edited this page Jun 26, 2015 · 10 revisions

Spracovanie dát zo zdrojových súborov a ich uloženie do databázy

Spracované dáta sú v databáze Salaries v súbore salaries.xml usporiadané nasledovným spôsobom:
\<salaries\>
\<salary zdroj="eurostat/cso" atribút1="hodnota1" atribút2="hodnota2" ... čas="rok/štvrťrok/..."\>mzda\</salary\>
...
\</salaries\>
Spravidla platí, že ak sa záznam pre daný súbor atribútov v databáze už nachádza, nie je do databázy vkladaný nový záznam, ale iba je aktualizovaná hodnota existujúceho.

Metódy:
public static void main(String[] args) throws BaseXException
Metóda, ktorá sa volá pri spustení programu - jej parametrami sú spracúvané zdrojové súbory vo formáte TSV usporiadané od najstaršieho po najnovší (inak dostanú predosť staršie dáta pre novšími!). Ako zdroj dát je rozpoznaný buď Eurostat, alebo ČSÚ, inak metóda ohlási chybu a pokračuje spracúvaním nasledujúceho súboru. Zdroj musí byť na začiatku mena každého súboru - buď "eurostat", alebo "cso".

private static void processAndStoreEurostatSalaries(String file, Context context) throws IOException, QueryException
Privátna metóda, ktorú metóda main() volá na spracovanie súborov z Eurostatu. Súbory spravidla musia mať štandardné rozloženie dát v súbore, podporované sú ľubovoľné atribúty špecifikujúce, na akú skupinu ľudí sa údaje vzťahujú.

private static void processAndStoreCSOSalaries(String file, Context context) throws IOException, QueryException
Privátna metóda, ktorú metóda main() volá na spracovanie súborov z ČSÚ. Rozpoznáva 4 špecifické kategórie súborov opäť podľa jej názvu v názve súboru - je od názvu zdroja pred ním (cso) aj od samotného názvu súboru za ním oddelený ľubovoľným oddeľovačom. Ak metóda nerozpozná známu ketegóriu súboru, ohlási chybu a pokračuje spracúvaním nasledujúceho súboru.

private static void processAndStoreCSUquartoen(String file, Context context) throws IOException, QueryException Privátna metóda, ktorú metóda processAndStoreCSOSalaries() volá pri spracovaní súborov kategórie "quartoen", ktorá obsahuje štvrťročné dáta o mzdách v ČR - celkové, v podnikateľskej sfére a v nepodnikateľskej sfére - všetko v známom špecifickom rozložení

private static void processAndStoreCSUcznace(String file, Context context) throws IOException, QueryException
Privátna metóda, ktorú metóda processAndStoreCSOSalaries() volá pri spracovaní súborov kategórie "cznace", ktorá obsahuje ročné dáta o mzdách v ČR pre jeden rok pre rôzne povolania klasifikované podľa systému CZ-NACE - všetko v známom špecifickom rozložení

private static void processAndStoreCSUreggend(String file, Context context) throws IOException, QueryException
Privátna metóda, ktorú metóda processAndStoreCSOSalaries() volá pri spracovaní súborov kategórie "reggend", ktorá obsahuje ročné dáta o mzdách vo všetkých krajoch ČR podľa pohlavia - všetko v známom špecifickom rozložení

private static void processAndStoreCSUregkzam(String file, Context context) throws IOException, QueryException
Privátna metóda, ktorú metóda processAndStoreCSOSalaries() volá pri spracovaní súborov kategórie "regkzam", ktorá obsahuje ročné dáta o mzdách vo všetkých krajoch ČR pre rôzne povolania klasifikované podľa hlavných tried KZAM - všetko v známom špecifickom rozložení

private static String filterStringForDigitsAndDots(String input)
Privátna pomocná metóda, ktorá prefiltruje reťazec zadaný parametrom tak, že v ňom nechá iba čislice a bodky - ak sa v ňom žiadne číslice ani bodky nenachádzali, vráti prázdny reťazec.

private static String filterStringForDigitsAndCommas(String input)
Privátna pomocná metóda, ktorá prefiltruje reťazec zadaný parametrom tak, že v ňom nechá iba čislice a čiarky - ak sa v ňom žiadne číslice ani čiarky nenachádzali, vráti prázdny reťazec.