Mockito + PowerMock – mockowanie prywatnej metody singletonu
11Dziś krótko. Sytuacja jest prosta, mamy do zamockowania prywatną metodę w singletonie. W uproszczeniu może wyglądać to tak:
public class Singleton { private static final Singleton INSTANCE = new Singleton(); private Singleton() { } public static Singleton get() { return INSTANCE; } public String doPublic(String in) { return doPrivate(in); } private String doPrivate(String in) { return "fromPrivate" + in; } }Chcemy zamockować metodę doPrivate, aby Więcej...
JPA i audyt encji z wykorzystaniem @EntityListeners
2W ostatnim poście opisywałem jak poradzić sobie z zapisywaniem danych audytowych encji przy wykorzystaniu JPA. W komentarzu pod postem padło pytanie ze strony Piotrka:
Ciekaw jestem jednak jakiegoś sposobu w czystym JPA, który pozwoli na wydelegowanie zbierania audytowych informacji do osobnego „listenera”.
Otóż postanowiłem zgłębić temat 🙂 i faktycznie jest zgrabniejszy sposób w jaki można wykonać to zadanie. Należy wykorzystać adnotację @EntityListeners. Na początek stwórzmy klasę Więcej...
JPA i audyt encji
1Dość częstym zadaniem jakie musimy wykonać zapisując dane naszej aplikacji jest również dołączenie informacji o tym kto i kiedy stworzył, a później aktualizował dany rekord. Zazwyczaj informacje takie trafiają do czterech kolumn: data stworzenia, data aktualizacji, użytkownik, który stworzył oraz zaktualizował rekord. Są to tzw. kolumny audytowe. W momencie, gdy wykorzystujemy do zapisu naszych danych implementację JPA, mamy sprawę bardzo ułatwioną.
Stwórzmy interfejs Auditable, który powinna Więcej...
Liquibase – zarządzanie zmianami bazy danych
3Przeważająca większość aplikacji webowych wykorzystuje w większym lub mniejszym stopniu gdzieś „pod spodem” bazy danych. Przy rozwoju takich aplikacji, często spotykanym problemem jest zarządzanie zmianami w strukturze bazy danych (ciągle dochodzą nowe kolumny, zmieniane są typu kolumn itd.). Bardzo przydatne może okazać się wtedy narzędzie Liquibase, na które natrafiłem ostatnio przypadkiem. W bardzo prosty sposób można za jego pomocą zapanować nad wszelkimi zmianami, które zostaną dokonane po Więcej...
Confitury smak ’11
1Przeglądając dziś blogi społeczności javowej można zauważyć wspólny mianownik. Wiele osób dzieli się wrażeniami z sobotniej konferencji Confitura (dawniej Javarsovia). I ja tam byłem i swoje trzy grosze dorzuciłem ;). Tak jak pisałem tydzień temu – wspomagałem swoją osobą organizatorów. Udało mi się być na trzech czterech prezentacjach (choć o jednej prawie już nie pamiętam i nawet nie będę wspominał, ;)). Najbardziej podobała mi się prezentacja Patrycji Wegrzynowicz: Patterns and Anti-Patterns Więcej...
Confitura’11
0Już za tydzień Confitura 2011 (dawniej Javarsovia) czyli największa bezpłatna konferencja dla miłośników i pasjonatów języka Java i powiązanych technologii. Zgłosiłem się jako wolontariusz :), także będę starał się pomóc przy organizacji tak dużego przedsięwzięcia (zarejestrowało się chyba 900 osób). Jeśli nie zdążyłeś się zarejestrować to nie szkodzi, wejście jest darmowe, także bez przeszkód można przyjść i posłuchać (nie dostaniesz tylko kilku gadżetów od sponsorów ;)). Zapraszam i do Więcej...
Eclipse jako aplikacja WWW
1Jeszcze niedawno opisywałem rozwój narzędzi IDE w ramach realizacji własnej pracy dyplomowej („Projekt i implementacja zintegrowanego środowiska projektowo programistycznego dla obiektowej bazy danych”). Zastanawiałem się wówczas nad drogą ewolucji środowisko programistycznych, jak długo trzeba będzie czekać na tego typu aplikacje udostępniane w formie usługi dostępnej przez przeglądarkę. Fundacja Eclipse uruchomiła właśnie testowy serwer z usługą Orion (Eclipse jako aplikacja WWW). Każdy kto Więcej...
Komunikacja GWT oraz Java Applet
1Obecnie co raz rzadziej spotykane są w sieci aplety Java. Od powstania tej technologi upłynęło sporo czasu oraz pojawiło się dużo nowych technologii webowych, dzięki którym można osiągnąć podobne możliwości. Czasem jednak przydaje się wykorzystanie tych konstrukcji. Z niewielkim wysiłkiem można zintegrować je również z aplikacją GWT. Jakiś czas temu potrzebowałem funkcjonalności przechwytywania obrazów z urządzeń TWAIN(skanery, aparaty fotograficzne) bezpośrednio z aplikacji GWT. I tutaj z Więcej...
Hello world
1Naukę nowego języka programowania zwykle zaczyna się od napisania programu „Hello world”. Skoro ten blog będzie głównie o programowaniu to niech pierwszy wpis również będzie tak zatytułowany.
Ale może po kolei, od początku… Pomysł bloga technicznego podobał mi się już od dawna. Sam subskrybuję ładnych parę blogów poprzez Google Reader’a, aż czasem ciężko nadążyć z ich czytaniem. Nie ukrywam, iż do działania skłonił mnie mój kolega, który niedawno sam założył bloga, więc pomyślałem sobie: „może Więcej...