Już jutro w godzinach 11-15 odbędzie się w Krakowie Eclipse Demo Camp na którym prezentowana będzie najnowsza wersja o kodowej nazwie Galileo. Spotkanie odbędzie się w klubie Baraka znajdującym się na skrzyżowaniu ulicy Warszauera i ulicy Estery. Więcej informacji na stronie spotkania.
Monthly Archive for June, 2009
Dzisiejszego dnia udostępniony został Eclipse Galileo. W chwili obecnej jest to tzw. EarlyAccess więc dostęp ograniczony jest do pobrania przez sieć bittorrent (zarejestrowani użytkownicy mają dostęp do bezpośredniej metody pobierania).
Zapraszam do ściągania i opisywania zmian względem poprzedniej wersji Ganymede.
Jedną z bardziej denerwujacych rzeczy w pisaniu aplikacji Javovych (aplikacji webowych) jest ciągłe redeployowanie aplikacji celem sprawdzenia czy naniesione poprawki lub nowe funkcje działają poprawnie.
W językach skryptowych takich jak PHP, Ruby czy też świeży Grails dzieje się to w pełni automatycznie, zmienię część kodu, przechodzę do przeglądarki odświeżam i cieszę się, że działa (bądź nie). Continue reading ‘Wygodniejsze tworzenie aplikacji z JavaRebel’
Zend_Tool to narzędzie które wspomóc ma tworzenie szkieletu aplikacji a w zamyśle programistów tego komponentu być może wspomoże tworzenie całej aplikacji. Jest to odpowiednik aplikacji Bakery znanej z CakePHP, Railsów czy też javovych Grailsów.
Brzmi genialnie, w rzeczywistości jeszcze wiele temu projektowi potrzeba żeby stać się prawdziwym konkurentem dla choćby Bakery. W tej chwili możliwe jest jedynie stworzenie szkieletu projektu, dodanie kontrolerów, akcji i widoków, całą resztę przejmuje programista.
Warto jednak dodać, że jest to świetny start do zbudowania własnej aplikacji, gdyż szkielet wygenerowany przez Zend_Tool oparty jest o nowość w bibliotece czyli Zend_Application (o którym napiszę w przyszłości)
Aplikacja jest prosta w użyciu, wystarczy wpisać zf.sh (zf.bat dla windows-a) by naszym oczom ukazała się mała pomoc ze spisem komend jakie aplikacja może wykonać (nie jest ich wiele).
Przed chwilą zdarzył mi się dziwny przypadek, wykorzystując zbudowany formularz dodawałem dane do bazy, jednak dane nie zawierały polskich znaków, zamiast nich były łagodnie mówiąc “krzaczki”, poprawiłem szybko krzaczki w bazie i zaczęły się poprawnie wyświetlać na stronie, problem więc nie był w samej bazie a w formularzu. Nastała chwila konsternacji gdyż sam spring został skonfigurowany pod utf-8 (ustawione kodowanie znaków) a dane przesyłane do bazy były w kodowaniu ANSI.
Po przeszukaniu internetu okazało się, że nie jestem sam, i aby wszystko zaczęło działać wystarczy ustawić filtr w pliku web.xml.
<filter> </filter><filter -name>charsetFilter</filter> <filter -class>org.springframework.web.filter.CharacterEncodingFi lter</filter> <init -param> <param -name>encoding</param> <param -value>UTF-8</param> </init> <filter -mapping> </filter><filter -name>charsetFilter</filter> <url -pattern>/*</url>
I wszystko działa poprawnie.
Rozwiązanie znalezione na: http://forum.springsource.org
Jak ważne jest testowanie wie każdy programista, testy jednostkowe można pisać po stworzeniu aplikacji, lub co zalecane w trakcie jej tworzenia. Samo pisanie testów nie jest męczącym zajęciem o ile tworzymy niewielki projekt z odseparowanymi od siebie klasami. Problem zaczyna wzrastać do rangi misji niemożliwej gdy jedna klasa połączona jest z innymi klasami nie zawsze jawnie zadeklarowanymi jak to ma miejsce w aplikacjach opartych o Springframework.
W takim momencie z pomocą przychodzi nam adnotacja @ContextConfiguration zawarta w pakiecie org.springframework.test. Dzięki niej możemy bezpośrednio do naszej klasy testu jednostkowego podpiąć skonfigurowany wcześniej kontekst aplikacji zawierający zadeklarowany beany.
Continue reading ‘Springframework @ContextConfiguration – podpinamy kontekst do testów’
Tworzenie mojego projektu* rozpocząłem od zdefiniowania bazy danych, tabel w bazie oraz odpowiednich relacji między tabelami, na koniec dodałem sekwencje. Wszystko wygląda pięknie, i tak w teorii działa.
Jak każdy programista jestem leniwy, zamiast tworzyć mapowania w moim IDE o wiele lepiej wygenerować je wprost z bazy. W IntelliJ robi się łatwo o ile znajdziemy odpowiednią opcję o czym pisałem jakiś czas temu. Niestety szybko przekonałem się, że nie jest to idealne odwzorowanie moich tabel. Nie wiedzieć czemu IntelliJ zapomniał zaimportować sekwencje zadeklarowane w bazie, co skutkowało wystąpieniem szeregu błędów podczas prób zapisania danych w bazie, w szczególności wyróżnia się jeden:
org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.springframework.orm.hibernate3.HibernateSystemException:
ids for this class must be manually assigned before calling save():
com.darekzon.coffeine.domain.Category;
nested exception is org.hibernate.id.IdentifierGenerationException:
ids for this class must be manually assigned before calling save():
com.darekzon.coffeine.domain.Category
Continue reading ‘@GeneratedValue oraz @SequenceGenerator – czyli sekwencje w hibernate’
Ostatnie komentarze