Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Parsowanie XML w wzorcu obserwatora
filipsiu
post 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
Go to the top of the page
+Quote Post
adbacz
post 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 smile.gif

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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 13:57