Skip to Content »
online discount medstore
advair diskus for sale
buy advair diskus without prescription
allegra for sale
buy allegra without prescription
aristocort for sale
buy aristocort without prescription
astelin for sale
buy astelin without prescription
atarax for sale
buy atarax without prescription
benadryl for sale
buy benadryl without prescription
buy clarinex without prescription
clarinex for sale
buy claritin without prescription
claritin for sale
buy flonase without prescription
flonase for sale
buy ventolin without prescription
ventolin for sale
amoxil for sale
buy amoxil without prescription
augmentin for sale
buy augmentin without prescription
bactrim for sale
buy bactrim without prescription
biaxin for sale
buy biaxin without prescription
buy cipro without prescription
cipro for sale
buy cleocin without prescription
cleocin for sale
buy dexone without prescription
dexone for sale
buy flagyl without prescription
flagyl for sale
buy levaquin without prescription
levaquin for sale
buy omnicef without prescription
omnicef for sale
amaryl for sale
buy amaryl without prescription
buy cozaar without prescription
cozaar for sale
buy diabecon without prescription
diabecon for sale
buy glucophage without prescription
glucophage for sale
buy glucotrol without prescription
glucotrol for sale
buy glucovance without prescription
glucovance for sale
buy micronase without prescription
micronase for sale
buy prandin without prescription
prandin for sale
buy precose without prescription
precose for sale
buy cialis professional without prescription
cialis professional for sale
buy cialis soft without prescription
cialis soft for sale
buy cialis super active without prescription
cialis super active for sale
buy cialis without prescription
cialis for sale
buy levitra without prescription
levitra for sale
buy viagra professional without prescription
viagra professional for sale
buy viagra soft without prescription
viagra soft for sale
buy viagra super active without prescription
viagra super active for sale
buy viagra super force without prescription
viagra super force for sale
buy viagra without prescription
viagra for sale
buy celebrex without prescription
celebrex for sale
buy colcrys without prescription
colcrys for sale
buy feldene without prescription
feldene for sale
buy imitrex without prescription
imitrex for sale
buy inderal without prescription
inderal for sale
buy indocin without prescription
indocin for sale
buy naprosyn without prescription
naprosyn for sale
buy pletal without prescription
pletal for sale
buy robaxin without prescription
robaxin for sale
buy voltaren without prescription
voltaren for sale

Tech Life of Recht » archive for 'GWT'

 New GWT task for Ant

  • April 16th, 2009
  • 1:03 pm

GWT 1.6 was released recently, and because of some pretty major changes in the compiler, my old GWT task for Ant broke (with an InstantiationException when trying to run the task). For some reason, GWT is still not provided with a real Ant task for compiling GWT modules, so I decided to update my old task.

This means that a new version, 1.2, has been released. I’ve also moved the code to Google Code, so now issues can be filed there. I’ll try to move the instruction pages to the Google Code site also, but for now, only the issue tracker and Subversion repository is used.

The task works as always, but to use it with GWT 1.6, you have to add a version=”1.6″ attribute to the element in order to switch to 1.6. The version value can be 1.4, 1.5, or 1.6. 1.4 and 1.5 enables the old compiler, and is the default value.

Download the new version here and report issues here.

 Google I/O

  • April 6th, 2009
  • 1:25 pm

I’ve been working with GWT for a while now, and like just about everybody else, I’ve also been using some of Google’s other services like maps and calendar. There’s not been a release of the GWT Ant target, but that’s mostly because the current version just works (if it doesn’t work for you, please let me know).
Generally, most of the stuff coming from Google is great. You can always discuss whether they have some sort of evil master plan hidden somewhere, but so far, it seems to be going pretty well. So, I thought I’d ask the company if I could go to the Google I/O conference in San Francisco, and luckily for me, it got approved. It will be very interesting to see if it’s a complete fanboy conference, or if there’s actually some usable content. I’m hoping for the last, but everything fails, I can hopefully grab a bagful of Google merchandise. I’m the only one from Trifork going, but the wife is going with me, so we’ll spend some extra days in SF.

 GWT XDoclet replacement for GWT 1.5

  • November 5th, 2008
  • 1:47 pm

GWT 1.5 has been out for a while, but I haven’t had a chance to work with it until now. One of the first things I ran into was that my XDoclet module for GWT is broken – XDoclet simply cannot run with Java 5 annotations and generics.
GWT 1.5 hasn’t changed the way you do remote services, you still have to write an implementation and two interfaces, and you still have to maintain a module.gwt.xml. So, the code generation is still useful, and I decided to write an APT-based generator instead.

The generator is now finished (based on apt-jelly) and available for download. It works more or less like the old XDoclet module, only annotations are now real annotations, not JavaDoc annotations.

Download and usage can be found at the project site. The generator has not been used extensively yet, so there might be some bugs – please contact me if you have any problems with it, or if you have any suggestions for improvements.

 Way too much to do

  • June 4th, 2008
  • 6:27 pm

Usually, I’m not the kind of person who gets stressed about all kinds of stuff, but there is one place where it hurts a little: when I can see there’s something new which I ought to look at, but there is no time. Just about now, I would like very much to take a deeper look at GWT 1.5, but that won’t happen for a while because my backlog is stuffed with all sorts of projects which must be completed first.

Of course it doesn’t matter if only nothing else comes up – but what are the chances of that? More worryingly, this could also be the beginning of the end. Most junior developers are familiar with old dinosaur developers who for some reason don’t want to learn all the new and cool stuff, and often it’s somewhat hard to understand. After all, who would not want to learn new technologies, languages, features, and so on? Especially when it seems like so much fun.

When the backlog gets too large, it seems that there are a couple of ways out: a) devote more time to learning. Usually, this is not really an option because things like children, garden, and other responsibilities tend to pop up. Then you can go for b) where you just stop learning new stuff and settle with what you already know – what you already know will probably be improved as time goes by, but no new languages or technologies unless absolutely necessary. Or the last option, c) find a path and follow it, always learning something new, but also forgetting some of the old.

I would like to think that I’m going for c), as it seems like the best way forward (for me, personally). I might be missing some options here, but no matter what it’s probably a good idea to think about how your career is moving along. I’ve read quite a number of blog posts from bitter programmers who apparently hadn’t taken the time to reflect. In the meanwhile, GWT 1.5 will stay on my backlog for a while, so I’ll probably have to find something else to take off… Erlang, perhaps?

 GWT and ruling the world

  • December 15th, 2007
  • 2:24 am

I like Google Web Toolkit. Well, I could probably even say love, but I don’t want to go too far. However, one thing does irritate me: I usually build GWT projects using my Ant target, and I also use Ivy for dependency management. This means that I have no external dependencies, all jar files are downloaded automatically by Ivy and placed in lib/build. To make everything as easy as possible, the Ant classpath is just defined to be lib/build/*.jar, instead of singling out every one of the jar files.
This works pretty well, until you start using GWT, a recent version of Xerces, and want to do XML schema validation. Depending on the OS, different versions of Xerces are loaded, which results in spurious classpath errors – methods cannot be found, classes doesn’t exist, operations not supported, and so on.
This goes on until you realize that GWT (in the form of gwt-dev-*.jar) includes all dependencies in a single jar file. This includes Ant, Xerces, other XML apis, and quite a lot of other stuff. I realize that it’s easier to distribute, but why oh why can’t we just get a regular jar file with the GWT classes in it? Anyways, in case anybody should be interested, the gwt-dev-*.jar file can be unpacked, anything but com.google.gwt deleted, and then these Ivy dependencies can be used to enable compilation:

[code]



[/code]

This also removed the OS dependency from gwt-dev, so the same jar file can be used for all operating systems.

 GWT Xdoclet with typeArgs

  • December 4th, 2007
  • 11:14 pm

I’ve updated the GWT Xdoclet module to support typeArgs for collections. This is used when returning a collection from a service method:
[code]
/**
* @gwt.serviceMethod
* @gwt.typeArgs dk.contix.Test
*/
public List getObjects() {
return new ArrayList();
}
[/code]

Notice that the object type is not written in <> as you would do if using GWT directly.

The new module can be downloaded here: xdoclet-gwt-module-0.5.jar.

 GWT XDoclet module update

  • March 1st, 2007
  • 9:12 pm

A couple of people have complained about an error in the GWT XDoclet module’s ServiceFactory. At long last, I think I’ve figured out why some have problems with it.
The factory generates a prefix to use when calling the remote servlets. This is done by looking at GWT.getModuleBaseURL(), which returns the current dir for the module. Normally, modules are located in a dir with the same name as the module, but if this is not the case, and the module is moved to the parent dir, the prefix is not computed correctly anymore.
I can’t see any way of detecting this automatically, so I’ve made a new version of the module where you can set the prefix manually, like this:
[code]



[/code]
Prefix is then prepended to the url given in @gwt.interface.

Also new:
In EntryPoint-classes, it’s now possible to use @gwt.style and @gwt.script as class annotations:

[code]
/**
* @gwt.module package=”dk.contix.gwt” include=”shared,client”
* @gwt.style src=”style.css”
* @gwt.style src=”test.css”
* @gwt.script stc=”test.js” body=”return true;”
*/
[/code]

Download the new version here: xdoclet-gwt-module-0.4.jar.

 Ant task for GWT

  • January 31st, 2007
  • 5:40 pm

I’ve made a new version of the Ant task for GWT, version 1.1.2. The only change is that when a compile error occurs, a BuildException is thrown and the Ant task fails. Before, an error was just printed, but the build continued. Thanks to Britt Piehler for reporting the bug.

 GWT Ant example

  • January 10th, 2007
  • 11:49 pm

Due to popular demand, I’ve packed a small example distribution together for GWT Ant and XDoclet. Download it, unpack it, and run ant. It’s also an Eclipse project, so you can import it directly in Eclipse.

 GWT Open Source – For real

  • December 12th, 2006
  • 6:41 pm

Good news for GWT hackers: It seems that GWT is going to be open source – no just the user parts as earlier, now also the compiler and everything else will be freely available.
The license is an Apache 2.0, so there’s not really any restrictions. This means that I can finally move my GWT ant task a little away from being a large hack, to actually utilizing all the GWT features. And of course, everybody else can do their stuff.

+1 to GWT (and Google).