Monthly Archive for June, 2009

Eclipse Demo Camp w Krakowie

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.

Eclipse Galileo dostępny

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.

Wygodniejsze tworzenie aplikacji z JavaRebel

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_Project – początki Rapid

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).

Continue reading ‘Zend_Tool_Project – początki Rapid’

Spring framework – formularz i polskie litery (utf-8)

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

Springframework @ContextConfiguration – podpinamy kontekst do testów

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’

@GeneratedValue oraz @SequenceGenerator – czyli sekwencje w hibernate

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’