<?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>Programming Stuff</title>
	<atom:link href="http://vesprogstuff.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vesprogstuff.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Thu, 20 Oct 2011 06:49:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vesprogstuff.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Programming Stuff</title>
		<link>http://vesprogstuff.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vesprogstuff.wordpress.com/osd.xml" title="Programming Stuff" />
	<atom:link rel='hub' href='http://vesprogstuff.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Resolved: strange bash echo output</title>
		<link>http://vesprogstuff.wordpress.com/2010/04/09/resolved-strange-bash-echo-output/</link>
		<comments>http://vesprogstuff.wordpress.com/2010/04/09/resolved-strange-bash-echo-output/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 09:43:28 +0000</pubDate>
		<dc:creator>woodplaying</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[dos2unix]]></category>
		<category><![CDATA[echo]]></category>

		<guid isPermaLink="false">http://vesprogstuff.wordpress.com/?p=50</guid>
		<description><![CDATA[I struggled with the echo command overwriting itself for more than an hour today, so I thought I&#8217;d share this with you. In short: when you have troubles with echo or other bash commands overwriting a string instead of appending something, check whether all involved files are  in UNIX and NOT in  DOS format. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=50&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I struggled with the echo command overwriting itself for more than an hour today, so I thought I&#8217;d share this with you.</p>
<p>In short: when you have troubles with echo or other bash commands overwriting a string instead of appending something, check whether all involved files are  in UNIX and NOT in  DOS format. The easiset is to do a dos2unix for all involved files which hopefully solves your problem.</p>
<p>In the simplest setting that reproduces the issue, you have a file with several lines, that you want to processwith bash, and processing includes concatenating some other text to each line.</p>
<p>Let&#8217;s assume the file is test.txt and looks like this:</p>
<pre style="padding-left:30px;">aaaaaa
bbbbbb
cccccc</pre>
<p>bash command that iterates over each line, and prints it in the form  &#8220;line: ${line} end&#8221;:</p>
<pre style="padding-left:30px;">while read line; do echo "line: ${line} end"; done &lt; test.txt</pre>
<p>If the file is in DOS, each line ends with \r\n.  the while loop iterates over lines sepearted by \n, which leaves a trailing carriage return (\r) for each line. the carriage return eliminates everything before it. so the output of the above bash command in this case is</p>
<pre style="padding-left:30px;"> end: aaaaaa
 end: bbbbbb
 end: cccccc
</pre>
<p>instead of the expected output:</p>
<pre style="padding-left:30px;">line: aaaaaa end
line: bbbbbb end
line: cccccc end
</pre>
<p>A dos2unix test.txt solved the problem for me.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vesprogstuff.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vesprogstuff.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vesprogstuff.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vesprogstuff.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vesprogstuff.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vesprogstuff.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vesprogstuff.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vesprogstuff.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vesprogstuff.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vesprogstuff.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vesprogstuff.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vesprogstuff.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vesprogstuff.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vesprogstuff.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=50&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vesprogstuff.wordpress.com/2010/04/09/resolved-strange-bash-echo-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81e702d78f8f0d8f76aad712314afc8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">woodplaying</media:title>
		</media:content>
	</item>
		<item>
		<title>Ext-GWT MVC Pattern explained</title>
		<link>http://vesprogstuff.wordpress.com/2010/03/19/ext-gwt-mvc-pattern-explained/</link>
		<comments>http://vesprogstuff.wordpress.com/2010/03/19/ext-gwt-mvc-pattern-explained/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 12:29:10 +0000</pubDate>
		<dc:creator>woodplaying</dc:creator>
				<category><![CDATA[Ext GWT]]></category>
		<category><![CDATA[ext-gwt]]></category>
		<category><![CDATA[gxt]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[programming pattern]]></category>

		<guid isPermaLink="false">http://vesprogstuff.wordpress.com/?p=42</guid>
		<description><![CDATA[This post is intended as cheat-sheet to tell you which code to put where (or in MVC language which responsibility to attach to which MVC role) in a gxt-progam . First you should understand the MVC pattern and the way gxt implements it. A good way to do this is to carefully read Christian&#8217;s Software [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=42&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This post is intended as cheat-sheet to tell you which code to put where (or in MVC language which responsibility to attach to which MVC role) in a gxt-progam . First you should understand the MVC pattern and the way gxt implements it. A good way to do this is to carefully read<a href="http://www.christianposta.com/blog/?p=17"> Christian&#8217;s Software Blog</a>, in which he steps through teh gxt sample mail application and explains the MVC pattern on this application. To acces the mail application download gwt-ext and deploy the samples/examples.war to your application server. you can access the mail application at http://localhost:8080/examples/mail.html.</p>
<h3>AppEvents</h3>
<p>Though they are not part of the name &#8220;MVC&#8221; ( Model View Controller) they are really key to understand everything else. Everything really happens due to events. the only thing that doesn&#8217;t happen due to events is the creation of the controllers in the entrypoint, which do nothing else than registering to listen to events. The entrypoint fires the first event (typically init or login) and from than on the event loop starts and everything else is event-centric. Any gxt-application, even the simplest one, as long as it is interactive does event handling. On widget level this is done using addListener. AppEvents help you to abstract from simple widget events like onClick and to transform them to events that are meaningful for your application. You define your own Events, like &#8220;Login&#8221;, &#8220;ViewMailItem&#8221;, &#8220;CreateMailI&#8221; etc. You still add alistener to the button event, but instead of doing the business logic in the handler, the handler  does nothing else than firing the related appevent. In this way when you add new components they just have to register to the appevent to get informed about the button click, you don&#8217;t need to change the code of the widget, and if you change the widget. On the other hand you can change the widgets as you want without hurting the application logic, as long as you still fire the applicaton events.</p>
<p>To define the AppEvents create a class that contains a public static final EventType for each Application Event you need.</p>
<pre style="padding-left:30px;">public class AppEvents {

  public static final EventType Init = new EventType();
  public static final EventType Login = new EventType();
  public static final EventType ViewMailItem = new EventType();
  [...]
}</pre>
<h3>Dispatcher and EntryPoint</h3>
<p>The Dispatcher is responsible for dispatching events.<br />
In the EntryPoint you create the Controllers and add them to the dispatcher</p>
<pre style="padding-left:30px;"> public void onModuleLoad() {
    Dispatcher dispatcher = Dispatcher.get();
    <span style="color:#ff0000;">/* Create controllers and allow them to get notified of events by adding the to the dispatcher */</span>
    dispatcher.addController(new AppController());
    dispatcher.addController(new MailController());
    dispatcher.addController(new TaskController());
    dispatcher.addController(new ContactController());

    <span style="color:#ff0000;">/* Trigger the initial event that gets the machine running */</span>
    dispatcher.dispatch(AppEvents.Login);
  }</pre>
<h3>The controllers</h3>
<ul>
<li>Register to AppEvents</li>
<li>Initialize and know their Views</li>
<li>Do the client-server communication (e.g. to load data that it then passes to its views)</li>
<li>Forward Event to their Views</li>
</ul>
<p>In the controller constructor the controller registers to AppEvents. The initialization of its variables (views etc) is deferred to the initialize method, which is called automatically by the dispatcher before it dispatches the first event to a controller. This is called lazy initialization and helps to speed up initial display of the web application as objects are initialized not in the constuctor but later on. The controller must implement the method handleEvent(AppEvent) where all the remaining logic lies. Depending on the EventType the controller contacts the server to load or update data and contacts the views to inform them about data changes that should result in changes in the web interface. You can see that events are key to gxt-mvc. All logic, event the initialization of instance variables is triggered by some kind of event. When forwarding an event to a view, the controller will often need to provide additional ionformation with the event. this can be done using appEvent.setData() before forwanding the event with forwardToView(view, appEvent)</p>
<pre style="padding-left:30px;">public class MailController extends Controller {

    private MailServiceAsync service;
    private MailFolderView folderView;
    private MailView mailView;

    <span style="color:#ff0000;"> /* Registers to AppEvents */ </span>
    public MailController() {
        registerEventTypes(AppEvents.Init);
        registerEventTypes(AppEvents.NavMail);
        registerEventTypes(AppEvents.ViewMailItems);
        registerEventTypes(AppEvents.ViewMailItem);
    }

<span style="color:#ff0000;">/* Does the client-server communication, Forwards Event to its Views */</span>
    @Override
    public void handleEvent(AppEvent event) {
        EventType type = event.getType();
        if (type == AppEvents.Init) {
            forwardToView(folderView, event);
        } else if (type == AppEvents.NavMail) {
            forwardToView(folderView, event);
            forwardToView(mailView, event);
        } else if (type == AppEvents.ViewMailItems) {
            onViewMailItems(event);
        } else if (type == AppEvents.ViewMailItem) {
            forwardToView(mailView, event);
        }
    }
	private void onViewMailItems(final AppEvent event) {
		final Folder f = event.getData();
		if (f != null) {
                    <span style="color:#ff0000;">/* client-server communication */</span>
			service.getMailItems(f, new AsyncCallback&gt;() {
				public void onSuccess(List result) {
<span style="color:#ff0000;"> /* add aditional data to the event and forward if to the  view that is responsible for dislaying the data */</span>
					AppEvent ae = new AppEvent(event.getType(), result);
					ae.setData("folder", f);
					forwardToView(mailView, ae);
				}

				public void onFailure(Throwable caught) {
					Dispatcher.forwardEvent(AppEvents.Error, caught);
				}
			});
		}

	}
<span style="color:#ff0000;"> /* Initializes and know its Views, Deferred Initialization */</span>
    public void initialize() {
        service = (MailServiceAsync) Registry.get(Mail.SERVICE);

        folderView = new MailFolderView(this);
        mailView = new MailView(this);
    }

}</pre>
<h3>The Views</h3>
<ul>
<li>Create and add widgets to the layout container/ viewport</li>
<li>handle application events (forwarded to them by their controllers) which should result in UI changes</li>
<li>listen to widget events and dispatch them as particular application events</li>
</ul>
<p>Views don&#8217;t register themselves for application events as a controller does. But they can get application events that are forwareded to them by their controller. They are responsible to update the widgets with new data, change their visility etc. they act as interface between the widgets and the controllers. They listen to widget events (onclik, selectioChanged, &#8230;) and inform whoever is intrested in this user interaction by calling dispatcher.forwardEvent(). to dispatch an event using the dispatcher to any interested  controller).THe view can also forward an event only to its own contrllers and their parents using fireEvent(). (I&#8217;m not sure wether or when its a good idea to call fireEvent(). actually the view should not know anything about its controller, so alling dispatcher.forwardEvent() seems cleaner to me).</p>
<h3>Where to go from here</h3>
<ul>
<li>Theres antoher summarizing <a href="http://www.bristol-gtug.org/?p=45">intro</a> to the gxt-mvc with simple nice charts.</li>
<li>Some argue that the gxt-mvc pattern is quite flawed, not least because of the dependencies between the view and controller. I recommend you read this blog post <a href="http://blog.gerardin.info/archives/40">&#8220;Why Ext-GWT MVC is broken&#8221;</a> by Olivier Gérarding. Also have a look at this forum post <a href="http://www.extjs.com/forum/showthread.php?p=192504#post192504">&#8220;stop the insanity&#8221;</a>..</li>
<li>If you come to the conclusion that you don&#8217;t want to use ext-gwt mvc have a look at the alterniatives in <a href="http://supplychaintechnology.wordpress.com/2009/04/07/gwt_mvc_survey/">Survey of MVC Frameworks for GWT</a>:  from Jim Leskos Blog</li>
<li>or checkout this interesting <a href="http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html">video</a> session on GWT Best Practices from Google I/O 2008.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vesprogstuff.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vesprogstuff.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vesprogstuff.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vesprogstuff.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vesprogstuff.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vesprogstuff.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vesprogstuff.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vesprogstuff.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vesprogstuff.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vesprogstuff.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vesprogstuff.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vesprogstuff.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vesprogstuff.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vesprogstuff.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=42&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vesprogstuff.wordpress.com/2010/03/19/ext-gwt-mvc-pattern-explained/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81e702d78f8f0d8f76aad712314afc8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">woodplaying</media:title>
		</media:content>
	</item>
		<item>
		<title>GWT-Pitalls: GWT.getModuleBaseURL()</title>
		<link>http://vesprogstuff.wordpress.com/2010/03/16/gwt-pitalls-gwt-getmodulebaseurl/</link>
		<comments>http://vesprogstuff.wordpress.com/2010/03/16/gwt-pitalls-gwt-getmodulebaseurl/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 10:44:19 +0000</pubDate>
		<dc:creator>woodplaying</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[traps]]></category>

		<guid isPermaLink="false">http://vesprogstuff.wordpress.com/?p=33</guid>
		<description><![CDATA[GWT.getModuleBaseURL() must only be used from client side code. If used in the server it throws a java.lang.UnsatisfiedLinkError. On the server side you can access files in you webapp folder directly using getServletContext().getRealPath(); For example to access the file default.properties from a GWT RemoteServiceServlet in myApp just call public class MyServiceImpl extends RemoteServiceServlet implements ...{ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=33&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>GWT.getModuleBaseURL() must only be used from client side code. If used in the server it throws a java.lang.UnsatisfiedLinkError. On the server side you can access files in you webapp folder directly using getServletContext().getRealPath();</p>
<p>For example to access the file default.properties from a GWT RemoteServiceServlet in myApp just call</p>
<pre style="padding-left:30px;">public class MyServiceImpl extends RemoteServiceServlet implements ...{
[...]
   <span style="color:#ff0000;">// </span><span style="color:#ff0000;"><span style="color:#ff0000;">path of</span> default.properties in you webapp: </span>
   String filepath = this.getServletContext().getRealPath("default.properties"); <span style="color:#ff0000;"> </span>
   <span style="color:#ff0000;">// filepath will be /&lt;full-path-to&gt;/&lt;servlet-container&gt;/webapps/myApp/default.properties</span>
[....]</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vesprogstuff.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vesprogstuff.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vesprogstuff.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vesprogstuff.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vesprogstuff.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vesprogstuff.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vesprogstuff.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vesprogstuff.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vesprogstuff.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vesprogstuff.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vesprogstuff.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vesprogstuff.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vesprogstuff.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vesprogstuff.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=33&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vesprogstuff.wordpress.com/2010/03/16/gwt-pitalls-gwt-getmodulebaseurl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81e702d78f8f0d8f76aad712314afc8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">woodplaying</media:title>
		</media:content>
	</item>
		<item>
		<title>Ext GWT subversion policy</title>
		<link>http://vesprogstuff.wordpress.com/2010/03/15/ext-gwt-subversion-policy/</link>
		<comments>http://vesprogstuff.wordpress.com/2010/03/15/ext-gwt-subversion-policy/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 14:40:23 +0000</pubDate>
		<dc:creator>woodplaying</dc:creator>
				<category><![CDATA[Ext GWT]]></category>
		<category><![CDATA[ext-gwt]]></category>
		<category><![CDATA[gxt]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[policy]]></category>

		<guid isPermaLink="false">http://vesprogstuff.wordpress.com/?p=28</guid>
		<description><![CDATA[I just discovered that neither Ext-GWT svn nor a nightly head release are freely available. I realised this by discovering a bug in the grid GridDropTarget. After reporting this on a Friday in the gxt-bugs forum, I was pretty overwhelmed when I got a reply next Monday that the bug was fixed, together with the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=28&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just discovered that neither Ext-GWT svn nor a nightly head release are freely available.</p>
<p>I realised this by discovering a <a href="http://www.extjs.com/forum/showthread.php?p=446748">bug in the grid GridDropTarget</a>. After reporting this on a Friday in the <a href="http://www.extjs.com/forum/forumdisplay.php?f=46">gxt-bugs forum</a>, I was pretty overwhelmed when I got a reply next Monday that the bug was fixed, together with the revision number of the code fix. Whow! So I go, where can i checkout the code? Well, actually you can&#8217;t unless you have a support <a href="http://www.extjs.com/store/gxt/">subscription</a> (299$). So this leaves me waiting for the next (edit: major) release, or having to understand the bug and fix it myself, because no patch or code was added to the post.</p>
<p>The reaction time is fantastic, but what does it help? its just like it was not fixed until the next release.</p>
<p>See also</p>
<ul>
<li><a href="http://www.extjs.com/forum/showthread.php?t=46924">http://www.extjs.com/forum/showthread.php?t=46924</a></li>
<li><a href="http://code.google.com/p/extjs-public/">http://code.google.com/p/extjs-public/</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vesprogstuff.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vesprogstuff.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vesprogstuff.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vesprogstuff.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vesprogstuff.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vesprogstuff.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vesprogstuff.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vesprogstuff.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vesprogstuff.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vesprogstuff.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vesprogstuff.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vesprogstuff.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vesprogstuff.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vesprogstuff.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=28&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vesprogstuff.wordpress.com/2010/03/15/ext-gwt-subversion-policy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81e702d78f8f0d8f76aad712314afc8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">woodplaying</media:title>
		</media:content>
	</item>
		<item>
		<title>Ext-GWT: Adapting Style of Grid Rows</title>
		<link>http://vesprogstuff.wordpress.com/2010/03/15/ext-gwt-adapting-style-of-grid-rows/</link>
		<comments>http://vesprogstuff.wordpress.com/2010/03/15/ext-gwt-adapting-style-of-grid-rows/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 13:50:50 +0000</pubDate>
		<dc:creator>woodplaying</dc:creator>
				<category><![CDATA[Ext GWT]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ext-gwt]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[gxt]]></category>
		<category><![CDATA[rows]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://vesprogstuff.wordpress.com/?p=20</guid>
		<description><![CDATA[For the imeasure elearning application, I needed an abstract list of search results. Abstract in the way that the search results did not link to a specific item, they did not even have a title or any metadata assigned. the only relevant property was wether an item was considered relevant or not-relevant. As a first [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=20&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://vesprogstuff.files.wordpress.com/2010/03/resultgridfirebug.jpg"><br />
</a></p>
<p>For the imeasure elearning application, I needed an abstract list of search results. Abstract in the way that the search results did not link to a specific item, they did not even have a title or any metadata assigned. the only relevant property was wether an item was considered relevant or not-relevant. As a first version, I created a grid with only one column, with the text &#8220;relevant&#8221; or &#8220;not relevant&#8221;. To add some visual aid, relevant items had a green font-color, irrelevant items were red.</p>
<p><a href="http://vesprogstuff.files.wordpress.com/2010/03/resultgridv1.jpg"><img class="aligncenter size-medium wp-image-21" title="ResultGridv1" src="http://vesprogstuff.files.wordpress.com/2010/03/resultgridv1.jpg?w=300&#038;h=260" alt="" width="300" height="260" /></a></p>
<pre style="padding-left:30px;">GridCellRenderer&lt;SearchResult&gt; relevantRenderer = new GridCellRenderer&lt;SearchResult&gt;() {
 public String render(SearchResult model, String property, ColumnData config, int rowIndex,
 int colIndex, ListStore&lt;SearchResult&gt; store, Grid&lt;SearchResult&gt; grid) {
 boolean val = (Boolean) model.get("sr_relevant");
 String style = val ? "green" : "red";
return "&lt;span style='color:" + style + "'&gt;" + (val ? "relevant" : "not relevant") + "&lt;/span&gt;";
}
 };</pre>
<pre style="padding-left:30px;">List&lt;ColumnConfig&gt; configs = new ArrayList&lt;ColumnConfig&gt;();
ColumnConfig column = new ColumnConfig();
column.setId("sr_title");
column.setRenderer(relevantRenderer);
column.setAlignment(HorizontalAlignment.CENTER);
configs.add(column);
ListStore&lt;SearchResult&gt; store = new ListStore&lt;SearchResult&gt;();
 store.add(SearchResult.getSearchResults(DEFAULT_RET, DEFAULT_RELRET));

 ColumnModel cm = new ColumnModel(configs);

 Grid&lt;SearchResult&gt; grid = new Grid&lt;SearchResult&gt;(store, cm);
</pre>
<p>But what i really wanted, was the background to  change color, not the font.</p>
<p><a href="http://vesprogstuff.files.wordpress.com/2010/03/resultgridv3.jpg"><img class="aligncenter size-medium wp-image-22" title="ResultGridv3" src="http://vesprogstuff.files.wordpress.com/2010/03/resultgridv3.jpg?w=300&#038;h=241" alt="" width="300" height="241" /></a></p>
<p>Adapting the GridCellRenderer and replacing color with background-color only changes the background color around the letters, and not for the whole line. Also it doesn&#8217;t behave well with background changes of the row on selection or hower. The right appraoch is to set the style of the rows. To do this, first define your own css and add it to the html AFTER the Ext.css. Ext assignes certain classes to rows. the default class of a ext-grid row is &#8220;x-grid3-row&#8221;, in addition the class &#8220;x-grid3-row-selected&#8221; is assigned when a row is selected and &#8220;x-grid3-row-over&#8221; when the mouse is placed over it. there&#8217;s also &#8220;x-grid3-row-alt&#8221; which is set to every other row, if grid grid.setStripeRows(true). We define our own classes that work in conjunction with these ext classes. .class1.class2 means apply this rule if element has both class1 and class2. Attention: there&#8217;s now space between the two classes. if you add a space like in &#8220;.class1 .class2&#8243; the styling is applied to elements with .class2 that are nested below elements with .class1. To check out which css classes are used, i recommend using firebug HTML inspection. You can even edit the css inline and test the effects!</p>
<p><a href="http://vesprogstuff.files.wordpress.com/2010/03/resultgridfirebug.jpg"><img class="aligncenter size-medium wp-image-23" title="ResultGridFirebug" src="http://vesprogstuff.files.wordpress.com/2010/03/resultgridfirebug.jpg?w=300&#038;h=87" alt="" width="300" height="87" /></a></p>
<pre style="padding-left:30px;">/* Format for the abstract search result list */
.row-relevant.x-grid3-row {
 background-color:#83D683 !important;
}
.row-relevant.x-grid3-row-selected {
 background-color:#48BF47 !important;
}

.row-relevant.x-grid3-row-over{
 background-color:#48BF47 !important;
 background-image:none !important;
}

.row-notrelevant.x-grid3-row {
 background-color:#FF6666;
}
.row-notrelevant.x-grid3-row-selected {
 background-color:#EF3B3B !important;
}
.row-notrelevant.x-grid3-row-over {
 background-color:#EF3B3B !important;
 background-image:none !important;
}
</pre>
<p>Now we need to hook our grid to use these classes. To do this implement your own GridViewConfig and override getRowStyle.</p>
<pre style="padding-left:30px;">	public class GVC extends GridViewConfig
	{
		@Override
		public String getRowStyle(ModelData model, int rowIndex,
				ListStore&lt;ModelData&gt; ds) {
			if (model != null)
			{
				if (model.get("sr_relevant"))
					return "row-relevant";
				else
					return "row-notrelevant";
			}
			return "";
		}
	}
</pre>
<p>The following code sets up our grid to use our own GridViewConfig and changes the CellRenderer, to use  white font-color</p>
<pre>        GridCellRenderer&lt;SearchResult&gt; relevantRenderer = new GridCellRenderer&lt;SearchResult&gt;() {
            public String render(SearchResult model, String property, ColumnData config, int rowIndex,
                    int colIndex, ListStore&lt;SearchResult&gt; store, Grid&lt;SearchResult&gt; grid) {
                boolean val = (Boolean) model.get("sr_relevant");
                return "&lt;span style='color:white;'&gt;" + (val ? "relevant" : "not relevant") + "&lt;/span&gt;";
            }};
</pre>
<pre style="padding-left:30px;">[...]</pre>
<pre style="padding-left:30px;">grid.getView().setViewConfig(new GVC());
</pre>
<p>The following tools and resources will help you with similar use cases:</p>
<ul>
<li><a href="http://www.colorzilla.com/firefox/">ColorZilla</a> , a firefox plugin that helps you selecting nice colors</li>
<li>ExtJS Forum, especially the following threads:
<ul>
<li><a href="http://www.extjs.com/forum/showthread.php?p=371234"><strong> </strong></a><strong><a>Changing the background of a Grid</a> </strong></li>
<li><a href="http://www.extjs.com/forum/showthread.php?t=52598"><strong>How can I change the background color to a Grid row? </strong></a></li>
</ul>
</li>
<li>And for debugging Firebug and  Eclipse of course</li>
</ul>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:943px;width:1px;height:1px;">public class GVC extends GridViewConfig<br />
{<br />
@Override<br />
public String getRowStyle(ModelData model, int rowIndex,<br />
ListStore&lt;ModelData&gt; ds) {<br />
if (model != null)<br />
{<br />
if (model.get(&#8220;sr_relevant&#8221;))<br />
return &#8220;row-relevant&#8221;;<br />
else<br />
return &#8220;row-notrelevant&#8221;;<br />
}<br />
return &#8220;&#8221;;<br />
}<br />
}</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vesprogstuff.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vesprogstuff.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vesprogstuff.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vesprogstuff.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vesprogstuff.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vesprogstuff.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vesprogstuff.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vesprogstuff.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vesprogstuff.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vesprogstuff.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vesprogstuff.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vesprogstuff.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vesprogstuff.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vesprogstuff.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=20&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vesprogstuff.wordpress.com/2010/03/15/ext-gwt-adapting-style-of-grid-rows/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81e702d78f8f0d8f76aad712314afc8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">woodplaying</media:title>
		</media:content>

		<media:content url="http://vesprogstuff.files.wordpress.com/2010/03/resultgridv1.jpg?w=300" medium="image">
			<media:title type="html">ResultGridv1</media:title>
		</media:content>

		<media:content url="http://vesprogstuff.files.wordpress.com/2010/03/resultgridv3.jpg?w=300" medium="image">
			<media:title type="html">ResultGridv3</media:title>
		</media:content>

		<media:content url="http://vesprogstuff.files.wordpress.com/2010/03/resultgridfirebug.jpg?w=300" medium="image">
			<media:title type="html">ResultGridFirebug</media:title>
		</media:content>
	</item>
		<item>
		<title>Ext-GWT Pitfalls</title>
		<link>http://vesprogstuff.wordpress.com/2010/03/12/gwt-pitfalls/</link>
		<comments>http://vesprogstuff.wordpress.com/2010/03/12/gwt-pitfalls/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 09:30:26 +0000</pubDate>
		<dc:creator>woodplaying</dc:creator>
				<category><![CDATA[Ext GWT]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[ext-gwt]]></category>
		<category><![CDATA[gxt]]></category>
		<category><![CDATA[traps]]></category>

		<guid isPermaLink="false">http://vesprogstuff.wordpress.com/?p=11</guid>
		<description><![CDATA[This is a record of problems I encountered during developing an Ext-GWT application imeasures with instructions how to overcome them. FormPanel.setLabelWidth and FormPanel.setFieldWidth have no effect Check that you didn&#8217;t define a FormLayout for the form. If you define a FormLayout you have to use the methods of the layout, cause they override the settings [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=11&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is a record of problems I encountered during developing an Ext-GWT application imeasures with instructions how to overcome them.</p>
<p><strong>FormPanel.setLabelWidth and FormPanel.setFieldWidth have no effect</strong></p>
<p>Check that you didn&#8217;t define a FormLayout for the form. If you define a FormLayout you have to use the methods of the layout, cause they override the settings in the form itself.</p>
<pre style="padding-left:30px;">FormPanel form = new FormPanel();
form.setLayout(new FormLayout()) // <span style="color:#ff0000;">&lt;-- Remove this Line</span>
form.setLabelWidth(150);</pre>
<p><strong>panel.addText(&#8220;foo&#8221;) doesn&#8217;t work</strong></p>
<p>Problem: when adding text dynamically (after onRender) this call did not change the text of the panel.<br />
Solution: add a call to pane.layout() after panel.addText(). to replace the existing text with new text, call panel.removeAll() first.</p>
<pre style="padding-left:30px;">panel.addText("foo");
panel.layout(); // <span style="color:#ff0000;">&lt;-- Add this line</span></pre>
<p><strong>SerializationException<br />
</strong></p>
<p>Problem: My RPC call throws the following exception:</p>
<pre style="padding-left:30px;">[WARN] Exception while dispatching incoming RPC call
com.google.gwt.user.client.rpc.SerializationException:
java.lang.reflect.InvocationTargetException
....
Caused by: com.google.gwt.user.client.rpc.SerializationException:
 Type 'java.lang.Double' was not included
 in the set of types which can be serialized by this SerializationPolicy
 or its Class object could not be loaded.
 For security purposes, this type will not be serialized.: instance = 0.5</pre>
<p>FIrst you should understand the RPC Serialization mechanism, by reading this <a href="http://code.google.com/webtoolkit/doc/1.6/FAQ_Server.html#Does_the_GWT_RPC_system_support_the_use_of_java.io.Serializable">FAQ</a> entry. So when GWT complains it can&#8217;t serialize a standard type like java.lang. Boolean, Integer, Double etc, for which you know it could in principle serialize it, this error is due to the compiler not being able to detect that this class is needed in rpc. (e.g. because you declare List&lt;Object&gt; in your interface, and not the concrete List&lt;Double&gt;). I had this problem with the followig object variable in one of my classes that was used in an interface.</p>
<pre style="padding-left:30px;">FastMap&lt;Double&gt; measureMap</pre>
<p>This was the only occurence of Double in my RPC interfaces, and the compiler apparently didn&#8217;t detect it. It was not included in the whitelist files (war/&lt;project-name&gt;/&lt;HASH&gt;.gwt.rpc). I solved this by adding a dummy double variable</p>
<pre style="padding-left:30px;">FastMap&lt;Double&gt; measureMap
Double dummy; <span style="color:#ff0000;">/* &lt;-- add this dummy variable so the compiler detects that
                 Double serialization support is needed. */</span></pre>
<p>Alternatively define a separate dummy class, that defines variables of all the classes you need to be serialized to have these dummy variables in one place, separated from the real code.</p>
<p>Further reading: Stack Overflow entry &#8220;<a href="http://stackoverflow.com/questions/138099/how-do-i-add-a-type-to-gwts-serialization-policy-whitelist" target="_blank">How do I add a type to GWT&#8217;s Serialization Policy List?</a>&#8220;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vesprogstuff.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vesprogstuff.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vesprogstuff.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vesprogstuff.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vesprogstuff.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vesprogstuff.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vesprogstuff.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vesprogstuff.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vesprogstuff.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vesprogstuff.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vesprogstuff.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vesprogstuff.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vesprogstuff.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vesprogstuff.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=11&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vesprogstuff.wordpress.com/2010/03/12/gwt-pitfalls/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81e702d78f8f0d8f76aad712314afc8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">woodplaying</media:title>
		</media:content>
	</item>
		<item>
		<title>First GWT Application</title>
		<link>http://vesprogstuff.wordpress.com/2010/03/05/first-gwt-application/</link>
		<comments>http://vesprogstuff.wordpress.com/2010/03/05/first-gwt-application/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 14:59:56 +0000</pubDate>
		<dc:creator>woodplaying</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[first steps]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://vesprogstuff.wordpress.com/?p=4</guid>
		<description><![CDATA[This is a howto on setting up a GWT Project with eclipse: Install Eclipse Install the Google Plugin for Eclipse, follow the isntructions there, restart eclipse after installing the plugin Create a new GWT project: File &#62; New &#62; Web Application Prject Provide a project name (e.g. FirstGwtApp) and a package (e.g. org.mystuff.gwt) Uncheck the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=4&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is a howto on setting up a GWT Project with eclipse:</p>
<ol>
<li>Install Eclipse</li>
<li>Install the<a href="http://code.google.com/eclipse/docs/getting_started.html"> Google Plugin for Eclipse</a>, follow the isntructions there, restart eclipse after installing the plugin</li>
<li>Create a new GWT project:
<ol>
<li>File &gt; New &gt; Web Application Prject</li>
<li>Provide a project name (e.g. FirstGwtApp) and a package (e.g. org.mystuff.gwt)</li>
<li>Uncheck the checkbox &#8220;Use Google App Engine&#8221;</li>
</ol>
</li>
<li>To start Run As &gt; Webbapliation</li>
<li>A Tab  &#8220;Development mode&#8221; is displayed below the main elipse editing window.  Copy the url given there to your browser.</li>
</ol>
<p><a href="http://vesprogstuff.files.wordpress.com/2010/03/firstgwt.jpg"><img class="aligncenter size-medium wp-image-5" title="FirstGWT" src="http://vesprogstuff.files.wordpress.com/2010/03/firstgwt.jpg?w=300&#038;h=281" alt="" width="300" height="281" /></a></p>
<p>Step 3 will create a very simple  application, that demonstrates all the basic stuff:</p>
<ul>
<li>How the User Interface is set up &#8211; see client.&lt;pojectname&gt;</li>
<li>How to define Services -  see client.GreetingService, client.GreetingServiceAsync.java and server.GreetingServiceImpl</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vesprogstuff.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vesprogstuff.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vesprogstuff.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vesprogstuff.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vesprogstuff.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vesprogstuff.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vesprogstuff.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vesprogstuff.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vesprogstuff.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vesprogstuff.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vesprogstuff.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vesprogstuff.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vesprogstuff.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vesprogstuff.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vesprogstuff.wordpress.com&amp;blog=12400547&amp;post=4&amp;subd=vesprogstuff&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vesprogstuff.wordpress.com/2010/03/05/first-gwt-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81e702d78f8f0d8f76aad712314afc8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">woodplaying</media:title>
		</media:content>

		<media:content url="http://vesprogstuff.files.wordpress.com/2010/03/firstgwt.jpg?w=300" medium="image">
			<media:title type="html">FirstGWT</media:title>
		</media:content>
	</item>
	</channel>
</rss>
