Hello everyone,
this is so cool, I thought I'd share it with you.
We've managed to set up an environment in which udig runs as a server.
Currently we're using it for map generation. That is, we take WMS
requests and forward it to udig, which renders and delivers the map.
In other words, we're written a uDig WMS without writing hardly any
code at all! (In practice, our project has other requirements on the
server - dynamic styles, dynamic layers - but that's already a good
start.)
The whole stuff is running in Eclipse's OSGi container. We also use
uDig as an authoring tool to "set up the WMS", that is, define the
layers and their styles. From that on, the osgi bundle takes control,
and delivers maps without you noticing it's not a "real" WMS. (Off
course, not all operations are implemented and thus, it's not an
OGC-conform WMS, at least not yet :-)
The only thing we changed in the code was a call in
ProjectRegistryImpl.getProject(URI):
PlatformGIS.syncInDisplayThread(new Runnable() { ...
was substituted by a
Runnable run = new Runnable() {
...
};
new Thread(run).start();
as there's no display and the method
PlatformGIS.syncInDisplayThread(new Runnable) never returns (I think).
So far only tested on Windows XP, Eclipse 3.4.1, and the JRE from the
udig site. Target platform will be Linux. If you want more details,
please let me know.
Anyway, my compliments for your guys. (Really, we only wrote a mini
servlet, all the code is yours!)
Cheers,
Ugo