<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vanje's Blog</title>
	<atom:link href="http://vanje.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vanje.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 26 Apr 2009 09:19:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vanje.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Vanje's Blog</title>
		<link>http://vanje.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vanje.wordpress.com/osd.xml" title="Vanje&#039;s Blog" />
	<atom:link rel='hub' href='http://vanje.wordpress.com/?pushpress=hub'/>
		<item>
		<title>GWT and SmartGWT Quickstart (Part 1)</title>
		<link>http://vanje.wordpress.com/2009/04/25/gwt-and-smartgwt-quickstart-part-1/</link>
		<comments>http://vanje.wordpress.com/2009/04/25/gwt-and-smartgwt-quickstart-part-1/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 16:16:41 +0000</pubDate>
		<dc:creator>vanje</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[SmartGWT]]></category>
		<category><![CDATA[Quickstart]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://vanje.wordpress.com/?p=65</guid>
		<description><![CDATA[This small tutorial tries to guide you through the different steps to enable your development environment for GWT and SmartGWT.I assume that your environment already consists of a JDK 1.6. or greater and Apache Ant. I use Eclipse 3.4 as an IDE but I try to be independend as much as possible from any IDE. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=65&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This small tutorial tries to guide you through the different steps to enable your development environment for GWT and SmartGWT.I assume that your environment already consists of a JDK 1.6. or greater and Apache Ant. I use Eclipse 3.4 as an IDE but I try to be independend as much as possible from any IDE.</p>
<p>So let&#8217;s start now.</p>
<h2>Download and install GWT and SmartGWT</h2>
<p>Download the GWT SDK version 1.6.4 or greater for your operating system from the <a href="http://code.google.com/webtoolkit/download.html">official GWT download site</a>. I unpacked it at /opt/gwt/gwt-linux-1.6.4 and made an additional symlink /opt/gwt/gwt-linux.</p>
<p>The official 1.0 Beta 2 release and latest nightly builds for SmartGWT are available at <a href="http://smartgwt.build.rorschach.de/" target="_blank">http://smartgwt.build.rorschach.de/</a>. I just downloaded the nightly build rev. 441 and installed it at /opt/gwt/smartgwt-1.0b3 with the symlink /opt/gwt/smartgwt.</p>
<h2>Create your project skeleton</h2>
<p>In your GWT directory you find the shell script webAppCreator (webAppCreator.cmd on Windows). Change to your working directory and execute the webAppCreator. I want my new project folder created in ~/dev/java/gwt. The project folder should be named smartgwttest, the main package is com.test and the GWT application is called SmartGwtTest.</p>
<pre>~/dev/java/GWT$ /opt/gwt/gwt-linux/webAppCreator -out smartgwttest com.test.SmartGwtTest
Created directory smartgwttest/src
Created directory smartgwttest/war
Created directory smartgwttest/war/WEB-INF
Created directory smartgwttest/war/WEB-INF/lib
Created directory smartgwttest/src/com/test
Created directory smartgwttest/src/com/test/client
Created directory smartgwttest/src/com/test/server
Created file smartgwttest/src/com/test/SmartGwtTest.gwt.xml
Created file smartgwttest/war/SmartGwtTest.html
Created file smartgwttest/war/SmartGwtTest.css
Created file smartgwttest/war/WEB-INF/web.xml
Created file smartgwttest/src/com/test/client/SmartGwtTest.java
Created file smartgwttest/src/com/test/client/GreetingService.java
Created file smartgwttest/src/com/test/client/GreetingServiceAsync.java
Created file smartgwttest/src/com/test/server/GreetingServiceImpl.java
Created file smartgwttest/build.xml
Created file smartgwttest/README.txt
Created file smartgwttest/.project
Created file smartgwttest/.classpath
Created file smartgwttest/SmartGwtTest.launch
Created file smartgwttest/war/WEB-INF/lib/gwt-servlet.jar
~/dev/java/GWT$</pre>
<h2>Examine the created project</h2>
<p>The webAppCreator script creates a complete Java web application with Ant build.xml, Eclipse project files and launch configuration. If you&#8217;re not using Eclipse you can safely delete the three files .classpath, .project and SmartGwtTest.launch.</p>
<p>The Java source code is located in the src directory. In package com.test you can find the GWT module file SmartGwtTest.gwt.xml. The sub packages com.test.client and com.test.server separates the client source code (which will be later compiled to JavaScript) from the optional server code.</p>
<p>As you can see in SmartGwtTest.gwt.xml your GWT entry point class is com.test.client.SmartGwtTest. The webAppCreator put two other files aside: GreetingServiceAsync.java and GreetingService.java. This is because webAppCreator created a complete test application which makes a server call to a RemoteServiceServlet and displays the result. The servlet implementation GreetingServiceImpl is the only class in package com.test.server.</p>
<p>Let&#8217;s have a look now at the war directory. This is the root of a standard Java web application. All contents except the WEB-INF directory are later served as static content. <em>(Of course, it can contain dynamic content too, like JSPs, but this is not the focus here.)</em></p>
<p>The special folder WEB-INF contains all necessary information for the dynamic server part of your application. The web.xml is the server side configuration file. If you take a look inside you will notice the definition of the so called greetServlet with two entries. One specifies the servlet class as com.test.server.GreetingServiceImpl and the other binds the servlet to the context specific URL path /smartgwttest/greet.</p>
<p>Keep in mind that the server part is completely optional. You can implement the client side with GWT and SmartGWT and develop the server part with any technology like ASP.NET, Ruby, Python or whatever fits to your needs. But if you choose Java you can benefit from a consistent development experience, not only because both GWT and &#8211; to a greater extent &#8211; SmartGWT offer additional server side functionality.</p>
<p>The WEB-INF/lib directory also contains all JARs which are needed to run the server part. The compiled server classes are placed in WEB-INF/classes.</p>
<p>The GWT host page is a static HTML file in the war&#8217;s root: SmartGwtTest.html with the related style sheet file SmartGwtTest.css.</p>
<h2>Execute your Application in Hosted Mode</h2>
<p>You can build and execute your project in hosted mode with the Ant target hosted:</p>
<pre>~/dev/java/GWT/smartgwttest$ ant hosted</pre>
<p>The Java compilation step places the *.class files at war/WEB-INF/classes. The GWT compiler/interpreter creates the directory war/smartgwttest for its output. (These directories are good candidates for your source control ignore list.)</p>
<p>After compilation two windows pop up. The first one is the GWT shell with the integrated Jetty web application server. The second one is a modified web browser (running IE on windows and Firefox on Linux respectively) that loads the static hosted page (the URL is http://localhost:8888/SmartGwtTest.html) which acts as a starting point for the GWT application.</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/gwtshell.png"><img class="alignnone size-thumbnail wp-image-83" title="The GWT shell" src="http://vanje.files.wordpress.com/2009/04/gwtshell.png?w=150&#038;h=112" alt="The GWT shell" width="150" height="112" /></a><a href="http://vanje.files.wordpress.com/2009/04/gwt_starterproject1.png"><img class="alignnone size-thumbnail wp-image-84" title="The starter application." src="http://vanje.files.wordpress.com/2009/04/gwt_starterproject1.png?w=150&#038;h=112" alt="The starter application." width="150" height="112" /></a><a href="http://vanje.files.wordpress.com/2009/04/gwt_starterproject2.png"><img class="alignnone size-thumbnail wp-image-85" title="Showing the server response" src="http://vanje.files.wordpress.com/2009/04/gwt_starterproject2.png?w=150&#038;h=112" alt="Showing the server response" width="150" height="112" /></a></p>
<p>The starter application contains a text field and a button. After pressing the button the text box contents are sent to the servlet and the response is showed in a pop up window.</p>
<p>The client&#8217;s GUI code is located in the SmartGwtTest class in method onModuleLoad(). The onModuleLoad() method is the GWT analogon to Java&#8217;s  main() method. We won&#8217;t stay long here with the standard GWT GUI code because we are interested in SmartGWT. But first we will &#8230;</p>
<h2>Import the project into Eclipse</h2>
<p>Start your Eclipse, right click in the package explorer and choose Import&#8230;</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/eclipseimportmenu.png"><img class="alignnone size-full wp-image-92" title="Eclipse import menu" src="http://vanje.files.wordpress.com/2009/04/eclipseimportmenu.png?w=252&#038;h=221" alt="Eclipse import menu" width="252" height="221" /></a></p>
<p>Then in the import dialog select <em>Existing Projects into Workspace</em> under the <em>General</em> node and click the <em>Next </em>button.</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/eclipseimportdialog1.png"><img class="alignnone size-medium wp-image-93" title="eclipseimportdialog1" src="http://vanje.files.wordpress.com/2009/04/eclipseimportdialog1.png?w=286&#038;h=300" alt="eclipseimportdialog1" width="286" height="300" /></a></p>
<p>Under <em>Select root directory</em> browse to your recently created project. Under <em>Projects</em> select SmartGwtTest and click <em>Finish</em>.</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/eclipseimportdialog2.png"><img class="alignnone size-medium wp-image-94" title="Eclipse import dialog 2" src="http://vanje.files.wordpress.com/2009/04/eclipseimportdialog2.png?w=286&#038;h=300" alt="Eclipse import dialog 2" width="286" height="300" /></a></p>
<p>Now your Package Explorer should look like:</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/packageexplorer.png"><img class="alignnone size-medium wp-image-96" title="Package Explorer" src="http://vanje.files.wordpress.com/2009/04/packageexplorer.png?w=342&#038;h=625" alt="Package Explorer" width="342" height="625" /></a></p>
<p>Right click SmartGwtTest.launch and choose Run as &#8230; / SmartGwtTest to launch your GWT application inside Eclipse.</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/launch.png"><img class="alignnone size-medium wp-image-99" title="Start the Launch Configuration" src="http://vanje.files.wordpress.com/2009/04/launch.png?w=440" alt="Start the Launch Configuration" width="440" /></a></p>
<p>Now you are able to debug the client GWT code as well as the server side code.</p>
<p>Place breakpoints at the click handler for the Send button and the greetServerMethod() of GreetingServiceImpl.</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/breakpoint1.png"><img class="alignnone size-thumbnail wp-image-105" title="breakpoint1" src="http://vanje.files.wordpress.com/2009/04/breakpoint1.png?w=150&#038;h=75" alt="breakpoint1" width="150" height="75" /></a><a href="http://vanje.files.wordpress.com/2009/04/breakpoint2.png"><img class="alignnone size-thumbnail wp-image-106" title="breakpoint2" src="http://vanje.files.wordpress.com/2009/04/breakpoint2.png?w=150&#038;h=81" alt="breakpoint2" width="150" height="81" /></a></p>
<p>Close the GWT shell window and restart the application in debug mode (Debug as &#8230;).</p>
<p>When you click the button you are able to step through the client code like any other Java program. I think, this is one of GWT&#8217;s most powerful features.</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/debug11.png"><img class="alignnone size-medium wp-image-111" title="Debugging the client" src="http://vanje.files.wordpress.com/2009/04/debug11.png?w=300&#038;h=201" alt="Debugging the client" width="300" height="201" /></a></p>
<p>And you can debug the server code in the same session.</p>
<p><a href="http://vanje.files.wordpress.com/2009/04/debug21.png"><img class="alignnone size-medium wp-image-112" title="Debugging server code" src="http://vanje.files.wordpress.com/2009/04/debug21.png?w=300&#038;h=205" alt="Debugging server code" width="300" height="205" /></a></p>
<p>In the second part we dive directly into the world of SmartGWT &#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vanje.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vanje.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vanje.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vanje.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vanje.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vanje.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vanje.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vanje.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vanje.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vanje.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vanje.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vanje.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vanje.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vanje.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=65&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vanje.wordpress.com/2009/04/25/gwt-and-smartgwt-quickstart-part-1/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/996c6e9e47482cc93b154cf40570f6a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vanje</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/gwtshell.png?w=150" medium="image">
			<media:title type="html">The GWT shell</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/gwt_starterproject1.png?w=150" medium="image">
			<media:title type="html">The starter application.</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/gwt_starterproject2.png?w=150" medium="image">
			<media:title type="html">Showing the server response</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/eclipseimportmenu.png" medium="image">
			<media:title type="html">Eclipse import menu</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/eclipseimportdialog1.png?w=286" medium="image">
			<media:title type="html">eclipseimportdialog1</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/eclipseimportdialog2.png?w=286" medium="image">
			<media:title type="html">Eclipse import dialog 2</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/packageexplorer.png?w=164" medium="image">
			<media:title type="html">Package Explorer</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/launch.png?w=300" medium="image">
			<media:title type="html">Start the Launch Configuration</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/breakpoint1.png?w=150" medium="image">
			<media:title type="html">breakpoint1</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/breakpoint2.png?w=150" medium="image">
			<media:title type="html">breakpoint2</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/debug11.png?w=300" medium="image">
			<media:title type="html">Debugging the client</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/debug21.png?w=300" medium="image">
			<media:title type="html">Debugging server code</media:title>
		</media:content>
	</item>
		<item>
		<title>SmartGWT and Delphi&#8217;s TWebBrowser</title>
		<link>http://vanje.wordpress.com/2009/04/22/smartgwt-and-delphis-twebbrowser/</link>
		<comments>http://vanje.wordpress.com/2009/04/22/smartgwt-and-delphis-twebbrowser/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 12:37:16 +0000</pubDate>
		<dc:creator>vanje</dc:creator>
				<category><![CDATA[SmartGWT]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[floating point exception]]></category>
		<category><![CDATA[TWebBrowser]]></category>

		<guid isPermaLink="false">http://vanje.wordpress.com/?p=58</guid>
		<description><![CDATA[Delphi&#8217;s TWebBrowser component is a convenient way to embed web contents into a Win32 executable. If the web content is a SmartGWT application there are some constellations where the TWebBrowser component crashes with a floating point exception. The solution is to configure the floating point processor in your DPR file: // ... begin Set8087CW($133F); // [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=58&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Delphi&#8217;s TWebBrowser component is a convenient way to embed web contents into a Win32 executable. If the web content is a SmartGWT application there are some constellations where the TWebBrowser component crashes with a floating point exception.</p>
<p>The <a href="http://www.delphipraxis.net/topic84733.html">solution</a> is to configure the floating point processor in your DPR file:</p>
<pre class="brush: delphi;">
// ...
begin
  Set8087CW($133F); // &lt;--

  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vanje.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vanje.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vanje.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vanje.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vanje.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vanje.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vanje.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vanje.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vanje.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vanje.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vanje.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vanje.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vanje.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vanje.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=58&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vanje.wordpress.com/2009/04/22/smartgwt-and-delphis-twebbrowser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/996c6e9e47482cc93b154cf40570f6a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vanje</media:title>
		</media:content>
	</item>
		<item>
		<title>SmartGWT Icon Names Convention</title>
		<link>http://vanje.wordpress.com/2009/04/19/smartgwt-icon-names-convention/</link>
		<comments>http://vanje.wordpress.com/2009/04/19/smartgwt-icon-names-convention/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 10:10:58 +0000</pubDate>
		<dc:creator>vanje</dc:creator>
				<category><![CDATA[SmartGWT]]></category>
		<category><![CDATA[icon name convention]]></category>

		<guid isPermaLink="false">http://vanje.wordpress.com/?p=48</guid>
		<description><![CDATA[The SmartGWT component ImgButton is ideal for icon-only buttons. With setSrc("Plus.png") you set the image file. SmartGWT then looks for the file "images/Plus.png" relative to the war root. The ImgButton component is also capable to display different icons based on the button state (like disabled, highlighted, &#8230;). But I found no method to set the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=48&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The SmartGWT component ImgButton is ideal for icon-only buttons. With <tt>setSrc("Plus.png")</tt> you set the image file. SmartGWT then looks for the file <code>"images/Plus.png"</code> relative to the war root. The ImgButton component is also capable to display different icons based on the button state (like disabled, highlighted, &#8230;).</p>
<p>But I found no method to set the other icon files. I searched the SmartGWT and SmartClient APIs and the Forum. I found <a href="http://forums.smartclient.com/showthread.php?t=1112&amp;highlight=button+icon">one post</a> which mentioned a file name convention for icon files.  Luckily the GWT console logs all HTTP requests, so with that help it is easy to figure out the convention.</p>
<p>If the base icon file name is Plus.png then SmartGWT looks for Plus<strong>_Disabled</strong>.png for the disabled state icon and Plus<strong>_Over</strong>.png for the mouse over state in the same directory.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vanje.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vanje.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vanje.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vanje.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vanje.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vanje.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vanje.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vanje.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vanje.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vanje.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vanje.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vanje.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vanje.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vanje.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=48&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vanje.wordpress.com/2009/04/19/smartgwt-icon-names-convention/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/996c6e9e47482cc93b154cf40570f6a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vanje</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Eclipse Plugin</title>
		<link>http://vanje.wordpress.com/2009/04/16/google-eclipse-plugin/</link>
		<comments>http://vanje.wordpress.com/2009/04/16/google-eclipse-plugin/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 16:52:12 +0000</pubDate>
		<dc:creator>vanje</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Google Eclipse Plugin]]></category>

		<guid isPermaLink="false">http://vanje.wordpress.com/?p=29</guid>
		<description><![CDATA[The easiest way to start with GWT is to install the Google plugin for Eclipse. During installation you can optionally  install the newest GWT version 1.6.4. If you omit this option, you have to manually configure the GWT-SDK after installation. The Google plugin adds a new &#8220;Web Application Project&#8221; wizard. This wizard creates nearly the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=29&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The easiest way to start with GWT is to install the <a href="http://code.google.com/eclipse/">Google plugin for Eclipse</a>. During installation you can optionally  install the newest GWT version 1.6.4. If you omit this option, you have to manually configure the GWT-SDK after installation.</p>
<p>The Google plugin adds a new &#8220;Web Application Project&#8221; wizard. This wizard creates nearly the same procject structure and hello world application than the new webAppCreator script. The only difference I&#8217;ve seen so far is the absence of the Ant build file that is included in the script result. But it is possible to run the script over the wizard created project with the -ignore option so that existing files remain untouched.</p>
<p>The webAppCreator script creates also a launch configuration. But this is only usefull running in  an Eclipse without the Google plugin. With the plugin installed there is a &#8220;Run as Web application&#8221; entry in the context menu. In the extended run configuration dialog there are options for changing the Jetty port, output style and log level.</p>
<div id="attachment_34" class="wp-caption alignnone" style="width: 480px"><a href="http://vanje.files.wordpress.com/2009/04/gwtrunconfigurationmain.png"><img class="size-full wp-image-34" title="GWT run configuration (main)" src="http://vanje.files.wordpress.com/2009/04/gwtrunconfigurationmain.png?w=470&#038;h=169" alt="GWT run configuration (main)" width="470" height="169" /></a><p class="wp-caption-text">GWT run configuration (main)</p></div>
<div id="attachment_35" class="wp-caption alignnone" style="width: 480px"><a href="http://vanje.files.wordpress.com/2009/04/gwtrunconfigurationgwt.png"><img class="size-full wp-image-35" title="GWT run configuration (GWT)" src="http://vanje.files.wordpress.com/2009/04/gwtrunconfigurationgwt.png?w=470&#038;h=308" alt="GWT run configuration (GWT)" width="470" height="308" /></a><p class="wp-caption-text">GWT run configuration (GWT)</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vanje.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vanje.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vanje.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vanje.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vanje.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vanje.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vanje.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vanje.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vanje.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vanje.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vanje.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vanje.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vanje.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vanje.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=29&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vanje.wordpress.com/2009/04/16/google-eclipse-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/996c6e9e47482cc93b154cf40570f6a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vanje</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/gwtrunconfigurationmain.png" medium="image">
			<media:title type="html">GWT run configuration (main)</media:title>
		</media:content>

		<media:content url="http://vanje.files.wordpress.com/2009/04/gwtrunconfigurationgwt.png" medium="image">
			<media:title type="html">GWT run configuration (GWT)</media:title>
		</media:content>
	</item>
		<item>
		<title>Passing Parameters to GWT</title>
		<link>http://vanje.wordpress.com/2009/04/16/passing-parameters-to-gwt/</link>
		<comments>http://vanje.wordpress.com/2009/04/16/passing-parameters-to-gwt/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 12:48:53 +0000</pubDate>
		<dc:creator>vanje</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[parameterize]]></category>

		<guid isPermaLink="false">http://vanje.wordpress.com/?p=24</guid>
		<description><![CDATA[Embedding parameters in the host page One way to pass parameters to a GWT application is to embed a JavaScript hash map directly in the host page and define each parameter as a key-value-pair in that map. Then from Java you can easily access this map with the com.google.gwt.i18n.client.Dictionary class. Accessing GET parameters Another alternative [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=24&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Embedding parameters in the host page</h2>
<p>One way to pass parameters to a GWT application is to embed a JavaScript hash map directly in the host page and define each parameter as a key-value-pair in that map. Then from Java you can easily access this map with the</p>
<pre><a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/i18n/client/Dictionary.html">com.google.gwt.i18n.client.Dictionary</a></pre>
<p>class.</p>
<h2>Accessing GET parameters</h2>
<p>Another alternative is to pass GET parameters in the url&#8217;s  query string. Here is a <a href="http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/8900fa188ed0274b/4d1712aaac700bcd">description how to access the GET parameters from Java code</a> with an example implementation included.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vanje.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vanje.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vanje.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vanje.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vanje.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vanje.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vanje.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vanje.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vanje.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vanje.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vanje.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vanje.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vanje.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vanje.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=24&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vanje.wordpress.com/2009/04/16/passing-parameters-to-gwt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/996c6e9e47482cc93b154cf40570f6a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vanje</media:title>
		</media:content>
	</item>
		<item>
		<title>GWT and umlauts</title>
		<link>http://vanje.wordpress.com/2009/04/15/gwt-and-umlauts/</link>
		<comments>http://vanje.wordpress.com/2009/04/15/gwt-and-umlauts/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 08:46:30 +0000</pubDate>
		<dc:creator>vanje</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[umlaut]]></category>

		<guid isPermaLink="false">http://vanje.wordpress.com/?p=20</guid>
		<description><![CDATA[If you are working with umlauts or other special characters, you should be aware that the GWT compiler considers the Java source code encoding as UTF-8.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=20&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you are working with umlauts or other special characters, you should be aware that the GWT compiler considers the Java source code encoding as UTF-8.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vanje.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vanje.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vanje.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vanje.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vanje.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vanje.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vanje.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vanje.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vanje.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vanje.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vanje.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vanje.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vanje.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vanje.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=20&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vanje.wordpress.com/2009/04/15/gwt-and-umlauts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/996c6e9e47482cc93b154cf40570f6a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vanje</media:title>
		</media:content>
	</item>
		<item>
		<title>From Wicket to RIA</title>
		<link>http://vanje.wordpress.com/2009/04/13/from-wicket-to-ria/</link>
		<comments>http://vanje.wordpress.com/2009/04/13/from-wicket-to-ria/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 09:18:36 +0000</pubDate>
		<dc:creator>vanje</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[SmartGWT]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://vanje.wordpress.com/?p=5</guid>
		<description><![CDATA[I&#8217;ve done traditional Java web development with Servlet-API, Velocity, Spring, JSF and Wicket. For the next generation projects my co-workers and me searched for a forward-looking alternative. Both fast prototyping, in-house development and smooth transition from prototype to production quality are required. Coming from terrible JSF 1.0 implementation Wicket was a facilitation. But there are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=5&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve done traditional Java web development with Servlet-API, <a href="http://velocity.apache.org/">Velocity</a>, <a href="http://www.springsource.org/">Spring</a>, <a href="http://java.sun.com/javaee/javaserverfaces/">JSF</a> and <a href="http://wicket.apache.org/">Wicket</a>. For the next generation projects my co-workers and me searched for a forward-looking alternative. Both fast prototyping, in-house development and smooth transition from prototype to production quality are required.</p>
<p>Coming from terrible JSF 1.0 implementation Wicket was  a facilitation. But there are still some drawbacks:</p>
<ul>
<li>Wicket lacks of a set of production ready, good looking widget-set. In my company there is no separate web designer. So a good default design would be a great help.</li>
<li>Unlike JSF creating new component or adjusting existing ones is easy and in an object-oriented way. But often it seems a little bit too overcomplicated.</li>
<li>Doing Ajax with Wicket is easy. You add an AjaxEventBehavior to a component (e.g. onblur to a text field) and you only have to implement the onEvent() callback method. When the browser fires the registered event the onEvent() method on the server is called and the response can update some components on the page. You don&#8217;t have to write a single line of JavaScript code. But at the downside for every little user interface action like highlighting the row after a click there is a unnessacary server roundtrip. Just because you have to implement all event handlers on the server side.</li>
<li>All Ajax events for one client are processed sequentially. E.g. we had a page with a panel that required a long intialisation phase on the server. But the page&#8217;s main functionality should be present immediatly. So we used a LazyLoadPanel. At first view all worked fine. The main components appeared and the LazyLoadPanel was in a deferred state until finishing the initialisation. But then we added some other Ajax functionality to the main components and soon we realized that they don&#8217;t work after the LazyLoadPanel had finished its Ajax call. So the whole LazyLoadPanel approach seems to be unusable for our purposes.</li>
<li>By the time we supplement the Wicket application with some JavaScript parts. For the Wicket integration we used the HeaderContributor class. With the TextTemplateHeaderContributor you even can generate the JavaScript code from a template. But the application as a whole became more and more cluttered and diffucult to understand.</li>
</ul>
<p>As we looked for an alternative we encounterd a lot of frameworks like <a href="http://www.zkoss.org/">ZK</a>, <a href="http://www.adobe.com/de/products/flex/">Flex</a>, <a href="http://silverlight.net/">Silverlight</a>, <a href="http://extjs.com/">ExtJS</a>, <a href="http://qooxdoo.org/">qooxdoo</a>, <a href="http://code.google.com/webtoolkit/">GWT</a>, <a href="http://www.tibco.com/devnet/gi/default.jsp">Tibco General Interface</a>, <a href="http://www.itmill.com/">IT Mill</a>. We all thought that the RIA approach is the future in web development and that the most UI specific code should be performed on the client side. So the server side RIA solution like ZK and IT Mill were dropped.</p>
<p>Our main target is the customers intranet and our most customers have a conservative IT infrastructure and we cannot demand to install any browser plugin. So the plugin based solutions like Silverlight and Flex were also dropped.</p>
<p>Most of my co-workers are high skilled in Java technology but have few experience with web development and JavaScript. So most of us thought that GWT with its Java-to-JavaScript-compiler fits naturally in our development process. But a large set of good looking GUI widgets is not GWT&#8217;s primary goal. We looked at ExtJS. <strong>These</strong> UI components are great. We saw, that there is a GWT version of ExtJS called ExtGWT. Was that the solution? A Java programming model with our well known Java tools and IDE and the browser as the target platform. And with ExtGWT a set of out of the box good looking widgets.</p>
<p>After some additional research we found another GWT widget library: <a href="http://code.google.com/p/smartgwt/">SmartGWT</a>. Its widget set is comparable to that one from ExtGWT. But SmartGWT has the optional Enterprise Edition containing some interesting server side components (with integration points to Hibernate and Spring) and a visual GUI builder. We don&#8217;t know so far, if we need these additional functionality but it is good to know we have this option. So we give it a try and  I have the pleasure to develop the first little project with GWT and SmartGWT.</p>
<p>In the next articles I will describe my experiences while I am discovering these new technologies.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vanje.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vanje.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vanje.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vanje.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vanje.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vanje.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vanje.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vanje.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vanje.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vanje.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vanje.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vanje.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vanje.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vanje.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vanje.wordpress.com&amp;blog=7331966&amp;post=5&amp;subd=vanje&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vanje.wordpress.com/2009/04/13/from-wicket-to-ria/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/996c6e9e47482cc93b154cf40570f6a8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vanje</media:title>
		</media:content>
	</item>
	</channel>
</rss>
