Friday, March 13, 2015

Migration to GitHub

Since Google is going to close the Google Project Hosting, and the blog posts here are still quite popular, I decide to move the GWT code examples to GitHub. I will let you know once the migration ready.

Tuesday, April 8, 2014

The Future of Interactions Blog

First thanks to all my readers and more then 90000 visitors so far!

I started this blog as I work on project where we had to develop portlets based on GWT technology. I realize soon how powerful the framework was and how much you can do out of box or by simple writing few wrappers on the top of the existing functionality. I dedicate more then year to prepare examples showing how to do staff in GWT way without 3rd party frameworks and publish them on GWT2GO. I was really cool time!

As you possibly already realize, unfortunately I haven't been able to post new articles here for a while. The reason is that as member of Oracle A-Team I was not able to find enough time to spend on the GWT technology anymore. It was great time working with GWT and really enjoy it, but it's time for me to move to something else and extend my view by learning new frameworks and technologies.

Currently I work in my spare time on two new private projects.
The first project calls Votloo. It is simple system for event decisions, brainstorming and idea generator tool. You can find more information here:

The second project has currently no name but basically it is simple JAVA based flat file web content management system. As you probably realize most similar systems are written in PHP and there is maybe not too far if I say, there is no equivalent popular system in Java. The system basically uses Spring+Thymeleaf. It is really very very easy to use and I am almost ready to publish it soon. Let me know if you have interest, just drop me comment bellow.


Thursday, December 6, 2012

The Future of GWT–Report

I just read the report about the future of GWT, really good job done by the GWT Steering Committee. You can get your free copy from the report here:

I was actually surprised that there are not a lot of organizations using GWT for building portlets. I personally know several and I was involved to develop GWT Portlets few times as well. I suppose that most of this organizations did not post to the survey or they just select business applications instead of portlets, which I can understand. The portlets are mostly applications for the business side in the organizations. Your usually never sell internally in the organization portlets but business application and the business does not really care what it calls, they want to have the functionality they require and pay.

Later the Committee will post the wish list here:

but I think I can guess that the compiler optimization will be on the first place.


Thursday, November 1, 2012

Create GWT Project with Spring Roo and Mongo DB using STS – Part 2

Now I will go through the next step and show you how to create the Mongo DB entities. To read the FIRST PART click HERE, to see how to create the project using Spring Roo and STS.

After you create the project you should see something like this:


Using the keyword “hint” in the Roo Shell allows you to see what is the next step. This is really very easy step by step wizard way to work. In my case I will go for the following Roo Command:

mongo setup

which setups the project to use Mongo DB. Inside your Roo Shell you should see something like this:


After you create the project you may get some errors like this one:

Description    Resource    Path    Location    Type
Referenced file contains errors ( For more information, right click on the message in the Problems View and select "Show Details..." applicationContext-mongo.xml /ofers/src/main/resources/META-INF/spring line 1 XML Problem

To fix this click on the project with right mouse button and then from Maven select Update Project, like this:


This now should update your project and download the needed libraries. After that the error message will disappear.

Next major step is to create the entities. For that reason I create very simple tables, which I will use as domains entities into my project. This is the example.


Just for info, the ID in my table is not something you have to create, the Mongo DB database creates this automatically for every entry in the table. Also what is important to know is the “Reference” means you have Many to One relationship and “Set” means One to Many.

To create the entities using Roo you have to type following lines using the Roo Shell:

For PersonType table:

entity mongo --class ~.domain.PersonType --testAutomatically
field string --fieldName type --sizeMin 128 --notNull

For Person table:

entity mongo --class ~.domain.Person --testAutomatically
field string --fieldName title --sizeMin 16 --notNull
field string --fieldName firstname --sizeMin 128 --notNull
field string --fieldName lastname --sizeMin 128 --notNull
field string --fieldName street --sizeMin 256 --notNull
field number --fieldName plz --type java.lang.Integer
field string --fieldName city --sizeMin 128 --notNull
field string --fieldName email --sizeMin 256 --notNull
field number --fieldName dataofbirth --type java.lang.Integer
field string --fieldName pwd --sizeMin 128 --notNull
field reference --fieldName type --type ~.domain.PersonType

For the layer support:


repository mongo --interface ~.repository.PersonTypeRepository --entity ~.domain.PersonType
repository mongo --interface ~.repository.PersonRepository --entity ~.domain.Person

service --interface ~.service.PersonTypeService --entity ~.domain.PersonType
service --interface ~.service.PersonService --entity ~.domain.Person


Now you have the Mongo DB entities and you can proceed with the next step (Part 3) of this tutorial, which I will post very soon and which will show how to setup the GWT project.