Główna » Archiwum

Wpisy oznaczone: Java

Java »

[28 May 2009 | Brak komentarzy | ]
InvalidQueryException: Parse error: data is not a RelationQueryNode

Ostatnio z potrzeb zawodowych zająłem się JCR – konkretnie Jackrabbitem. Próbując załadować obiekt z repozytorium otrzymywałem błąd: InvalidQueryException: Parse error: data is not a RelationQueryNode. Błąd spowodowany był tym, że nie kodowałem XPath’a którego używałem do załadowania obiektów.
Błąd był spowodowany niewłaściwym kodowaniem znaków, ID obiektu, który chciałem załadować składało się z liczb, przesłane bez zakodowania ISO-9075 powodowało błąd.
Wystarczyło dodać kodowanie za pomocą klasy org.apache.jackrabbit.util.ISO9075 (znajduje się ona w bibliotece jackrabbit-jcr-commons-1.5.5.jar).
Przykładowe rozwiązanie:
[java]return (Person) jcrMappingTemplate.getObject(“/person/” + ISO9075.encode(id));[/java]
by wszystko wróciło do normy.

Polecane »

[12 Apr 2009 | Brak komentarzy | ]
Optymalizacja przy pomocy algorytmu Symulowanego Wyżarzania

W kilku projektach, nad którymi pracowałem przyszło mi użyć już kilka razy algorytmu Symulowanego Wyżarzania (ang. Simulated Annealing). Symulowane wyżarzanie to rodzaj algorytmu heurystycznego, przeszukującego przestrzeń alternatywnych rozwiązań problemu w celu wyszukania rozwiązań najlepszych. Sposób działania symulowanego wyżarzania przypomina zjawisko wyżarzania w metalurgii.
Z racji dość uniwersalnego zastosowania, w nowym projekcie postanowiłem zdefiniować problem jako interfejs, i zaimplementować generalne rozwiązanie dla niego.

Java, Polecane, Spring Framework »

[6 Apr 2009 | Brak komentarzy | ]
Spring i RESTTemplate

Jak donosi blog twórców Spring framework, a konkretnie Arjen Poustma, Spring 3.0 zostanie wzbogacony o nowy Template – a mianowicie RestTemplate, który ma być podobny do już istniejących szablonów, takich jak JdbcTemplate czy JmsTemplate, co oznacza między innymi synchronizację (thread-safe) czy rozszerzanie operacji przez tzw. operacje callback.
RestTemplate pozwalać będzie na automatyczne konwertowanie odpowiedzi na obiekt Java. Kilka standardowych konwerterów będzie wbudowanych (domyślam się, że JSON i XML), łatwo będzie również rozszerzyć je o własne implementacje.
RestTemplate oferować będzie wszystkie podstawowe metody REST (GET, POST, PUT, DELETE, HEAD oraz OPTIONS). …

GWT, Java, Polecane »

[2 Apr 2009 | Brak komentarzy | ]
GWT 1.6 beta 2

Jak donosi blog twórców GWT udostępniona została dzisiaj druga wersja beta tej biblioteki. GWT używam z powodzeniem już od wersji 1.4, sprawdziło się zarówno jako dodatek do istniejących projektów, zapewniający większą dynamikę fragmentów interfejsu, aż po praktycznie całe UI wsparte tą biblioteką.
W wersji 1.6 wprowadzono szereg zmian, przede wszystkim:

nową strukturę projektu zbliżoną do standardowego archiwum aplikacji internetowej Java – czyli WAR’a,
zmieniono API obsługi zdarzeń – obecne do tej pory EventListener’y zastąpiono EventHandler’ami. Każdy nowy interfejs posiada jedynie jedną metodę, wobec tego nie jesteśmy zmuszeni do pustych implementacji lub używania adapterów. …

Narzędzia, Polecane »

[2 Apr 2009 | Brak komentarzy | ]
Testowanie zapytań REST

Jeżeli tworzysz serwis udostępniający interfejs w formie REST lub integrujesz projekt z API wy-eksponowanym jako zapytania REST z pewnością przyjdzie Ci z pomocą narzędzie RESTClient.
To z pozoru proste narzędzie pozwala szybko prototypować lub testować nowe funkcje API.
Dystrybuowane jest w postaci archiwum JAR.
Uwaga: Narzędzie wymaga JRE w wersji 1.6, jeżeli więc na konsoli pojawi się taki komunikat: “Exception in thread “AWT-EventQueue-0″ java.lang.NoSuchMethodError…” – prawdopodobnie używasz JRE 1.5.
RESTClient posiada całą gamę opcji, począwszy od wyboru metody HTTP, edycji nagłówków (Headers) skończywszy na obsłudze SSL i tworzeniu całych skryptów testujących.
Podświetlanie składni działa zarówno …

Java, Polecane »

[29 Mar 2009 | Brak komentarzy | ]
Cross-site request forgery

Cross-site request (Wikipedia: PL i EN) forgery jest to bardzo interesujący sposób ataku na aplikację internetową. Najciekawsze w nim jest, że sam atakowany użytkownik nie musi praktycznie wykonywać żadnej czynności. Pierwsze wzmianki o tej “metodzie” pochodzą z 1988 roku z artykułu Norm’a Hardy.  W 2008 roku ofiarami tego typu ataków padły serwisy takich gigantów jak Amazon czy eBay.
Atak polega na przesłaniu do użytkownika kodu, który wykonany po stronie ich klienta przesyła spreparowane żądania do innego serwera, wykorzystując istniejącą, uwierzytelnioną sesję. Przykładem może być przesłanie do osoby na czacie kodu HTML …

GWT, Java, Polecane, Spring Framework »

[27 Mar 2009 | Brak komentarzy | ]
GWT i kod generowany z XSD

Ostatnio zmierzyliśmy się z ciekawym zadaniem integracji pewnej aplikacji z innym systemem poprzez REST.
Aplikacja nad którą pracujemy to w pewnym sensie interfejs do większego systemu (frontend). Jest to system oparty o Springframework 2.5 a interfejs użytkownika zbudowany jest w większości w GWT. Po stronie serwerowej  nasza aplikacja komunikuje się z innym systemem poprzez REST, wymieniając informacje w XML’u.
Oczywiście przesyłane wiadomości opisane zostały w XSD.
Długo szukaliśmy odpowiedniego rozwiązania serializacji i deserializacji (lub marschalingu i demarschalingu – jak ktoś woli) przesyłanych komunikatów do obiektów w Javie. XSD we wczesnej fazie projektu dość …

Różności »

[31 Jan 2009 | Brak komentarzy | ]

Witam,
Właśnie wgrałem pierwszą aplikację dla platformy Android do Android Market.
Nie mogę się doczekać, by zobaczyć, jak zostanie odebrana.
Niebawem postaram się podzielić doświadczeniami.
Aplikacja nazywa się Tringles – to prosta gra logiczna.
Pozdrawiam.

GWT, Java »

[11 Nov 2008 | Brak komentarzy | ]

Najnowsza wersja IntelliJ IDEA 8.0, świetnego środowiska do tworzenia aplikacji w Javie, Ruby (i nie tylko) jest już dostępna od kilku dni. 30 dniową wersję próbną można pobrać ze stron producenta, firmy JetBrains.
Nowości jest dużo, już od kilku miesięcy korzystałem z EAP, więc większość z nich nie była zaskoczeniem. Z ważniejszych nowości można wymienić:

wsparcie dla SQL-99, MySQL i SQLLite, zarówno edycji kodu jaki dołączenie konsoli do uruchamiania skryptów wprost z IDE,
wsparcie dla FreeMarker i Velocity,
Spring2.5 wraz z technologiami pokrewnymi – takimi jak Spring Webflow, MVC i Dynamic Modules,
GWT 1.5 – …

GWT, Java, Mac OS X »

[25 Oct 2008 | Brak komentarzy | ]

Od pewnego czasu dręczył mnie problem z JVM przy kompilacji projektu (konkretnie jego części w GWT) nad którym obecnie pracuję. Kompilator GWT sygnalizował błąd: CFMessagePortCreateLocal oraz CFMessagePort (z informacją: CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 … java.ServiceProvider). Jak uważa Apple (link) – błąd błahy i niewarty uwagi – no i fakt, Ant sobie z nim radził, ale już nie IntelliJ IDEA – za nic nie dało się zmusić IDE do zignorowania błędu (co zresztą nie było by i tak najlepszym rozwiązaniem). W końcu z pomocą przyszedł ten link.
(Na obrazku zrzut …