Parsowanie XML w wzorcu obserwatora |
Parsowanie XML w wzorcu obserwatora |
9.06.2016, 22:21:53
Post
#1
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 2.07.2012 Skąd: localhost Ostrzeżenie: (0%) |
Robię parser logów xml w wzorcu obserwatora(pierwszy raz, nie wiem czy dobrze to kminie).
Kod: http://pastebin.com/qyJPsxxA Jak teraz dalej to pociągnąć? Informuję obserwatorów o kolejnym pojedynczym logu xmla, rozumiem, że obserwatorzy mają je przetworzyć tak? Chciałbym, żeby na końcu programu wypisało mi z tych 3 obserwatorów coś takiego: - Listener, który na zakończenie programu wyświetli zestawienie liczby błedów o danym poziomie, np. ERROR - 120 WARNING - 763 INFO - 1567 DEBUG - 2300 TRACE - 19923 - Listener, który na zakończenie wyświetli TOP 5 najczęściej występujących kodów błędów, np. kod 187 - 67 kod 111 - 51 kod 123 - 7 kod 149 - 5 kod 160 - 5 - Listener, który na zakończenie wyświetli TOP 5 najczęściej występujących plików, np. plik pl/wp/entity/User.java - 67 plik pl/wp/entity/CV.java - 51 plik pl/wp/dao/Department.java - 7 plik pl/wp/service/CV.java - 5 plik pl/wp/queue/CV.java - 5 |
|
|
12.06.2016, 22:11:44
Post
#2
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Ogólnie jest ok, naprowadzenie na ścieżkę dla Ciebie poniżej
1. Zrób obiekt Storage, który będzie przechowywał kod z pliku XML, jedną linijkę kodu XML czy cokolwiek tam potrzebujesz. 2. W każdej iteracji, wstrzyknij ten Storage do listenera jako argument. 3. Zrób obiekt Output, który będzie przechowywał dane, które będą miały być wyświetlone na wyjściu programu. 4. I teraz dwie opcje do wyboru: albo wstrzyknij ten obiekt Output do konstruktora Listenera, albo wstrzykuj do metody update() każdego listenera. Jak Ci będzie wygodniej. 5. Na samym końcu wyświetl resultat z Output. Listener powinien tylko wstawić treść do Output'a, a nie formatować go. Do formatowania resultatu zrób sobie inną klasę. Resztę już zostaw dla Listenerów. To one powinny wiedzieć na których danych chcą operować, i w jaki sposób. |
|
|
Wersja Lo-Fi | Aktualny czas: 26.09.2024 - 10:28 |