W celu uruchomienia klas klienckich należy w pliku suncode-plugin.xml wtyczki klienckiej dodać następujący wpis:
<pzmodule key="klucz" class="ścieżka_do_klasy"/>
gdzie:
- klucz - unikalny klucz dla modułu, definiowany przez twórcę wtyczki klienckiej
- ścieżka_do_klasy - pełna ścieżka do klasy klienckiej, która ma zostać zarejestrowana w module PZ
Należy także dodać zależność do określonej wersji modułu PZ w pliku pom.xml wtyczki klienckiej:
<dependency> <groupId>com.suncode.plugin</groupId> <artifactId>pzmodule</artifactId> <version>wersja</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>*</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency>
gdzie:
- wersja - numer wersji modułu PZ, z którego chcemy skorzyskać jako zależność
Możliwe jest rejestrowanie trzech typów klas klienckich:
- klasa wyszukująca rekordy - w klasie klienckiej należy zaimplementować interfejs RecordProvider. Posiada on dwie metody, jedna z nich zwraca obiekt RecordPage, a więc aktualną stronę z danymi do modułu oraz druga, służąca do podliczania poszczególnych grup rekordów (jest wywoływana, jeśli w module włączone jest grupowanie), zwraca listę obiektów GroupSumResult, reprezentujących zbiór sum poszczególnych grup. Wszytkie rezultaty wspomnianych metod należy uzupełnić na podstawie parametrów wejściowych do nich przekazanych.
- klasa przygotowująca fragment zapytania związany za filtrowanie rezultatów (tzw. where clause) - w klasie klienckiej należy zaimplementować interfejs CustomWhereClauseBuilder. Posiada on jedną metodę, która zwraca fragment zapytania po słowie kluczowym WHERE (nie jest wymagane dodawanie WHERE na jego początku) w postaci String. Fragment zapytania należy uzupełnić na podstawie parametrów wejściowych metody - konfiguracji modułu PZ, informacji, czy szukamy podłączonych czy niepodłączonych rekordów oraz aktualnych parametrów wyszukiwania.
- klasa wykonująca dodatkowe akcje podczas zapisu modułu PZ - w klasie klienckiej należy zaimplementować interfejs CustomRecordSaver. Klasa ta wykonuje się także z innymi akcjami zapisu i jest wykonywana jako pierwsza. Posiada ona jedną metodę, która zwraca rezultat zapisu w postaci obiektu CustomSaveResult. Jego właściwości są następujące:
- success - informuje, czy zapis zakończył się sukcesem, gdy wartość ustawiona jest na false, zapis całego modułu zostanie przerwany, w przypadku wystąpienia błędu wykonania kodu, cały zapis jest również przerywany, wartość domyślna: true
- errorMessage - wiadomość błędu, która zostanie wyświetlona użytkownikow, w przypadku, gdy success jest ustawiony na wartość false
- attachedRecordsChanged - informuje, czy lista podłączonych rekordów przekazana do metody została zmodyfikowana i ma zostać zastąpiona, wartość domyślna: false
- attachedRecords - zmodyfikowana lista podłączonych PZ
Add Comment