1
|
# Java object universal deserializer - Horký
|
2
|
|
3
|
Během testování dat může nastat potřeba analyzovat objekt, který je k dispozici pouze v serializované formě. Může být velmi složité dohledávat, která třída má být použita pro deserializaci, nebo deserializaci dokonce nelze použít z důvodu změn v projektu. V takovém případě není možné, nějakým přehledným způsobem, dostat serializovaná data. V tomto projektu jsme vytvářeli nástroj, který vezme binární data serializovaného objektu a převede je do přehledného JSON formátu. Dále jsme vytvářeli editor pro zvýraznění syntaxe a JDBC pro stahování BLOBů z různých databází.
|
4
|
|
5
|
Vše podstatné se dočtete v dokumentech ve složce [doc](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/doc).
|
6
|
|
7
|
# Popis adresářové struktury
|
8
|
|
9
|
* **[demos](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/demos)**<br />
|
10
|
Složky s projekty ukazující možnosti výsledného řešení deserializátoru. Jedná se o projekty, které vznikaly v průběhu první iterace. Práce na nich byla po první iteraci přerušena - nedokončené kódy, bez dokumentačních komentářů.
|
11
|
* **[demo_jh](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/demos/demo_jh/Deserializer_tests)** - návrh s použitím knihovny jdeserialize.
|
12
|
* **[demo_mh](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/demos/demo_mh)** - tvorba vlastního univerzálního deserializéru - funkční pouze pro velmi jednoduché struktury serializovaných tříd.
|
13
|
* **[doc](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/doc)**<br />
|
14
|
Veškeré důležité dokumenty z průběhu celého projektu. *[Vize](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/doc/Vize.pdf)*, *[Architektura](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/doc/Architektura.pdf)*, *[DSP](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/doc/Specifikace%20po%C5%BEadavk%C5%AF.pdf)*, *[dokumentace](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/doc/dokumentace.pdf)* a **[JavaDoc](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/doc/javadoc)**. Navíc přidán soubor *[comparison_jackson.json](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/doc/comparison_jackson.json)*, ve kterém je srovnání výstupů z knihovny Jackson JSON a toho projektu.
|
15
|
* **[project/Deserializer](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/project/Deserializer)**<br />
|
16
|
Složka s výstupním projektem.
|
17
|
* **[libs](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/project/Deserializer/libs)** - knihovny, včetně [licencí](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/project/Deserializer/libs/__licenses__), použité v projektu (JDBC pro jednotlivé databáze, plugin.jar pro práci s JS objekty - normálně v JRE/lib, Jackson JSON pro testování výstupů), navíc přidána knihovna JavaFX 11 kvůli možnému přechodu na aktuálně (květen 2020) poslední LTS verzi. V případě ACE knihovny jde o JavaScript používaný ve WebView => v resources.
|
18
|
* **[resources](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/project/Deserializer/resources)** - ACE knihovna pro editor se zvýrazněnou syntaxí, dále obrázky a CSS použité v aplikaci.
|
19
|
* **[src](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/project/Deserializer/src)** - zdrojové soubory, viz **[JavaDoc](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/doc/javadoc)**.
|
20
|
* **[jar-in-jar-loader.zip](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/project/Deserializer/jar-in-jar-loader.zip)** - archiv vkládající se do výsledného JAR souboru při automatickém překladu.
|
21
|
* *[build.xml](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/project/Deserializer/build.xml)* - sestavovací soubor pro automatický překlad přes Ant.
|
22
|
* *[app.config](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/project/Deserializer/app.config)* - konfigurační soubor aplikace vznikající (či upravovaný) při spouštění a používání aplikace.
|
23
|
* *[jdeserialize_err.txt](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/project/Deserializer/jdeserialize_err.txt)* - chybové výstupy upravené knihovny jdeserialize.
|
24
|
* *[jdeserialize_out.txt](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/project/Deserializer/jdeserialize_out.txt)* - ostatní výstupy knihovny jdeserialize.
|
25
|
* *[uml.png](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/project/Deserializer/uml.png)* - UML diagram tříd, obrázek z uml.ucls.
|
26
|
* *[uml.ucls](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/blob/master/project/Deserializer/uml.ucls)* - automaticky generované UML díky [ObjectAid UML Explorer](https://www.objectaid.com/install-objectaid).
|
27
|
* **[releases](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/releases)**<br />
|
28
|
Výstupní spustitelné soubory z jednotlivých iterací (**[v0.1](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/releases/v0.1)** - první návrhy pro výsledné řešení, **[v0.2](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/releases/v0.2)**, **[v0.3](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/releases/v0.3)**, **[v0.4](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/releases/v0.4)**, **[v1.0](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/releases/v1.0)** - první oficiální release verze).
|
29
|
* **[test_data](https://gitlab.kiv.zcu.cz/aswi/aswi-2020/aswi2020horky/tree/master/test_data)**<br />
|
30
|
Testovací soubory poskytnuté zákazníkem.
|