wtorek, 28 września 2010

Integracja aplikacji JSF z Eclipse Birt z wykorzystaniem Scripting API

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:

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: