Some of posts from this blog has been moved to dywicki.pl. You will be automatically redirected to new blog if you would submit comment.
New posts are published on dywicki.pl, this blog contains old content and it is not continued.

Niektóre posty z tego bloga zostały przeniesione do dywicki.pl. Zostaniesz automatycznie przekierowany jeśli bedzięsz chciał dodać komentarz.
Nowe posty sa publikowane na dywicki.pl, ten blog zawiera stare treści i nie jest kontynuowany.

Adnotacje w Javie i w PHP

Filed under Java,PHP by

Parę dni wstecz trafiłem na ciekawe rozszerzenie Reflection API do PHP. Umożliwia ono używanie tagów phpdoc w charakterze adnotacji. Rozwiązanie te jest zbliżone do znanego mi z Javy xdocleta. Drobną, aczkolwiek zauważalną, różnicą jest fakt, że xdoclet był odpalany przed kompilacją kodu ponieważ bytecode nie zawierał adnotacji. Oczywiście po wejściu Javy 5 xdoclet podupadł, jako coś co wyparły właśnie adnotacje. Może dla tych, którzy nie mieli okazji spotkania sie z takim rozwiązaniem drobny przykład kodu w Javie: Continue Reading »

10 responses so far

Przeboje z J2EE

Filed under Java by

Nigdy bym nie pomyślał, że stworzenie nowej aplikacji w oparciu o J2EE będzie tak trudne. A jednak, mimo wszystko, jest!

Zachwycony prostotą rozwiązania wbudowanego w standard, mianowicie roli i mapowania adresów, postanowiłem je wykorzystać. JSF mimo całej swej wspaniałości, mechanizmu autoryzacji nie dostarcza.
Continue Reading »

3 responses so far

Agavi IDE, prace trwają

Filed under Agavi,Eclipse,Wiadomości by

Stored agavi project :) Cały dzisiejszy dzień poświęciłem na zbudowanie szkieletu modelu pod Agavi IDE. W trakcie dnia zaszło kilka nagłych zwrotów akcji na miarę dobrego filmu sensacyjnego ;). Początkowo pragnąłem wykorzystać Eclipse Modeling Framework do zarządzania obiektami. Wszystko szło gładko, dopóki nie spróbowałem wygenerować kodu wolnego od zależności EMF. Koniec końców dowiedziałem się, że z EMF nie da się wygenerować zwykłych Java Beanów. Niestety, ale zarządzanie wszystkim poprzez otoczkę EMF niezbyt mi się uśmiechało. Model trzymany w pamięci nie potrzebuje wodotrysków, mogą to być zwykle POJO.
Przepisałem więc cały kod sam, na nowo. Diagram, który początkowo ilustrował całą strukturę, troszkę się zmienił, nie mniej wersję bazową załączam na obrazku.

Continue Reading »

2 responses so far

Agavi IDE, db4o 7.0, ObjectNotStorableException i Ant :)

Filed under Agavi,DB,Inne,Java,Wiadomości,XML by

Dnia dzisiejszego zmobilizowałem się by nieco popracować nad modelem dla Agavi IDE. Jest to podstawa bez której ciężko budować kolejne edytory. Trzeba w końcu wiedzieć jakie akcje, widoki etc są w projekcie by sugerować użytkownikowi poprawne wartości.
Jak donosi Michał Mech na swoim blogu, konkurencja nie śpi i wszczęła prace nad integracją Eclipse i Symfony – tak też narodziło się Symfoclipse. Stąd straciłem już palmę pierwszeństwa i pozostaje mi walczyć na polu jakości i funkcjonalności. Zend również serwuje wsparcie dla Zend Framework, aczkolwiek po prezentacji miałem mieszane uczucia. Przede wszystkim lektor mówiący z paskudnym angielskim akcentem. Nie wiem, może jestem wyczulony, ale gdy słyszę te fonetyczne wygibasy to mnie to mierzi, może dla jednych to plus, ale dla mnie lepszym sprzedawcą produktu jest ktoś kto mówi o swoim projekcie chociażby z francuskim akcentem niż wynajęty lektor, który ma pomnożyć wrażenie “powagi” przedsięwzięcia. Na drugim miejscu jakość “wsparcia”, bo inaczej jak w cudzysłowach tego nie mogę określić, jest po prostu żenująca. Czy mi się wydaje czy oni każą sobie płacić za dodanie kreatora (wizzarda)? ;) Coś mi się wydaje, że załoga PHP Eclipse dobrze robi ponownie zwierając szyki!

Oczywiście przy pisaniu napotkałem problemy. Pierwszym z nich było zniknięcie klasy buildera, drugim wywalanie się db4o (dev 7.0). O ile pierwszy uraczył mnie gromadą logów o tyle drugi poza pokaźnym stosem nie dał mi nic. Typ wyjątku com.db4o.ext.ObjectNotStorableException – nazwa w miarę jasna, problem w tym, że za tym żadnego uzasadnienia, powodu dla którego wyjątek by leciał. Zero, dosłownie zero informacji.
Na forum db4o znalazłem parę postów – z nich wyciągnąłem wniosek – konieczne jest użycie taska ant, który zmodyfikuje bytecode klasy, ponieważ w przeciwnym wypadku db4o próbuje serializować obiekt, a gdy mu się nie uda rzuca w/w wyjątek.

Skrypt ant – który załatwia problem, dla potomnych (przeróbka z forum):

<project name="db4o enhance project" default="enhance" basedir=".">

	<!-- inny projekt z workspace'a -->
	<property name="model.classes.location" location="E:/agavi-ide/org.codehouse.model" />
	<!--
	położenie eclipse, db4o szpera w poszukiwaniu zależności klas, tak się składa,
	że mój kod korzysta z paru rzeczy z org.eclipse.core.resources, normalnie ta
	wstawka się nie pojawia
	-->
	<property name="eclipse.location" location="E:/eclipse-3.3/eclipse" />

	<target name="pack-model">
		<echo message="Tworzę archiwum z modelem" />
	    <jar destfile="lib/model.jar">
	        <fileset dir="${model.classes.location}/bin/">
	        	<!-- włączamy wszystkie skomilowane klasy -->
	            <include name="**/*.class" />
	        </fileset>
	    </jar>
	</target>

	<!-- classpath dla projektu -->
	<path id="project.classpath">
		<pathelement path="${basedir}/bin" />
		<fileset dir="lib">
			<include name="**/*.jar" />
		</fileset>
		<fileset dir="${eclipse.location}/plugins/">
			<include name="**/*.jar" />
		</fileset>
	</path>

    <!-- odwołanie do taska z db4o-tools.jar -->
    <taskdef name="db4o-enhance" classname="com.db4o.enhance.Db4oEnhancerAntTask" classpathref="project.classpath" />

	<target name="enhance" depends="pack-model">
		<!-- przeoranie źródeł i zależności -->
		<db4o -enhance classtargetdir="${basedir}/bin" jartargetdir="${basedir}/lib">
			<classpath refid="project.classpath" />
			<sources dir="${basedir}/bin" /> <!-- w tym katalogu db4o zajmie się plikami .class -->
			<jars dir="${basedir}/lib">
				<include name="*.jar" />
				<exclude name="db4o-*.jar" />
				<exclude name="ant.jar" />
				<exclude name="bloat-1.0.jar" />

			</jars>
		</db4o -enhance>
	</target>

</project>

No responses yet

Rozszerzanie JAXB

Filed under Java,JAXB,XML by

Z ostatnich not zebrało mi się kilka obietnic. Jedną z nich było omówienie pluginów w wydaniu JAXB. Jako, że dzisiaj urządziłem sobie wolny dzień postanowiłem wywiązać się przynajmniej z części obowiązków z tym i z tych blogowych.
Continue Reading »

4 responses so far

WarsJava

Filed under Java,JAXB,Wiadomości by

W sobotę 17 listopada odbyła się WarsJava. Seria warsztatów realizowana przez Warszawski JUG, a dokładniej przez dwie osoby (kolejność losowa) Jacka Laskowskiego i Łukasza Świerczyńskiego.
Continue Reading »

No responses yet

Nowa wersje db4o

Filed under DB,Java,Wiadomości by

Wczoraj do mojej skrzynki trafił newsletter z db4o, w którym trafiłem na dwie informacje. Pierwsza głosi, że db4o w wersji 6.4 jest gotowe do zastosowań produkcyjnych. Druga, że dostępna jest beta wersji 7.0 z nowym mechanizmem o nazwie ‘transparent activation’. Postanowiłem zajrzeć do szczegółów, które tyczą się najnowszej wersji. Wynikiem czego jest to dosyć luźne tłumaczenie.
Continue Reading »

No responses yet

Weź do Javy to co chcesz z PHP!

Filed under Java,JAXB,PHP,XML by

Integracja między językami czy też platformami to kwestia poruszana nie od dzisiaj. Na poziomie platform funkcjonuje od dłuższego czasu CORBA i Web Services z trio SOAP + WSDL + XML Schema na czele. Integracja systemów napisanych w tym samym języku sprowadza się zwykle do wykorzystania serializacji, która jest najszybsza i najwygodniejsza. Gorzej jeśli idzie o połączenie dwóch języków – w moim przypadku PHP i Javy.
Zend ma swój mostek, który umożliwia na zintegrowanie Javy i PHP, jest też dodatkowe rozszerzenie do PHP, które pozwala na wykorzystanie Javy w PHP, jednakże moje oczekiwania nie był aż tak wielkie. Potrzebowałem po prostu odczytać dane specyficzne dla PHP – powiedzmy informacje o jakiejś klasie. Standardowo taka operacja wymagała stworzenia parsera, co jest zadaniem powiedzmy, nie na moje siły i umiejętności.. stąd też postanowiłem sobie nieco uprościć pracę. :)
Continue Reading »

2 responses so far

Mój pierwszy edytor…

Filed under Agavi,Eclipse,Java,JAXB,PHP,SWT,Wiadomości,XML by

Agavi module configuration editor

Czas jakiś temu udało mi się stworzyć pierwszy działający edytor w oparciu o Eclipse.
Kilka informacji co pod spodem:

  • SharedHeaderFormEditor – ładny tekstowy nagłówek oraz możliwość dodawania zakładek
  • FormPage i FormToolkit – użyte do stworzenia układu, który widać na załączonym obrazku
  • JFace Databinding – zapewnia propagowanie zmian z formularza do obiektów
  • JAXB 2 – mapowanie plików XML do odpowiednich klas
  • JFace – table viewer i parę innych dodatków

Całość ogólnie jest prosta niczym konstrukcja cepa, w działaniu sprawia się dobrze. Jak tylko ogarnę kod postaram się opisać krok po kroku jak można coś podobnego stworzyć na własny użytek.

Splatch wraca do gry i będzie grać wysoko! ;-)

3 responses so far

Czy ktoś mówił, że istnieją środowiska idealne?

Filed under Eclipse,Śmieci by

Internal error^2

2 responses so far

« Newer Entries - Older Entries »