Gdy już udało mi się wysłać wiadomość email z poziomu aplikacji Seam, postanowiłem przenieść konfigurację serwera poczty wychodzącej do bazy danych – tak aby użytkownik (administrator) systemu mógł ją zmieniać w dowolnym momencie.
Realizacja tego zadania wymagała rozszerzenia funkcjonalności komponentu org.jboss.seam.mail.mailSession. Na początek ...
Więcej…
Gdy pierwszy raz pisałem o walidatorze Hibernate dla NIP, utworzyłem jedynie testy jednostkowe, pozwalające sprawdzić poprawność działania samego algorytmu. Dla przypomnienia, poniżej przedstawiam użytą wówczas metodę testową:
@Test(dataProvider="nipValidator.isValid")
public void testIsValid(
NIP annotation, Object value, boolean ...
Więcej…
W związku z sugestiami czytelników, postanowiłem utworzyć i opublikować kilka przydatnych walidatorów Hibernate. Na początek przygotowałem adnotacje dla czterech numerów identyfikacyjnych: NIP, PESEL, REGON oraz seria i numer dowodu osobistego (@IdentityCard).
Najlepiej będzie, jeżeli wyjaśnię działanie walidatorów na przykładach:
import javax.persistence.*;
import pl.info.czerwinski.validators.IdentityCard;
import pl.info.czerwinski.validators.NIP;
import pl.info.czerwinski.validators.PESEL;
import static pl.info.czerwinski.validators.NIP.PersonType.*;
@Entity
@Table(name="persons")
public ...
Więcej…
Uwaga: Walidator uzupełniony o format bez łączników oraz weryfikację cyfry kontrolnej znajduje się w projekcie opisanym w artykule Dodatkowe walidatory Hibernate. Niniejszy wpis dotyczy głównie użycia parametrów adnotacji walidatora.
Opisując tworzenie nowego walidatora Hibernate wspomniałem o parametrach adnotacji. Postanowiłem utworzyć przykład takiej walidacji dla Numerów ...
Więcej…
Testy jednostkowe w Seam Framework nie różnią się od innych testów jednostkowych. Jednak to od nich powinienem zacząć.
Do tego celu postanowiłem wykorzystać nowy walidator Hibernate, sprawdzający poprawność nazwy użytkownika (loginu).
Adnotacja
Najpierw utworzę nową adnotację @ValidLogin, która na równi z @NotNull czy @Email będzie ...
Więcej…