Niniejszy wpis dotyczyć będzie integracji aplikacji JSF (w moim przypadku to RichFaces) z technologią raportowania Eclipse Birt. Moja aplikacja ma podpiętą przeglądarkę Birt Viewer, która służy mi do pobrania raportów w formacie PDF czy Excel. To co mnie interesowało to przekazanie do raportu listy pracowników oraz nagłówka.
Poniżej kod mojego managed beana:
Poniżej kod mojego managed beana:
Kluczowy dla komunikacji pomiędzy moją aplikacją a silnikiem Birt'a jest poniższy fragment kodu:
Czas na handlery - czyli klasy odpowiadające za podstawienie przesłanych danych do szablonu raportu. Pierwszy odpowiada z przechwycenie parametrów:
Drugi odpowiada za przechwycenie listy wierszy tabeli:
W obu przypadkach widać, że do danych przesłanych do raportu uzyskujemy dostęp dzięki klasie IReportContext.
Teraz wystarczy już tylko utworzyć w raporcie źródło danych - w moim przypadku będzie to Scripted Data Source oraz korzystający z tego źródła Data Set.
Należy też dodać parametr - będący nagłówkiem raportu
Na koniec trzeba jeszcze podłączyć do raportu utworzone wcześniej handlery: