[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [udig-devel] Udig-Integration and automation | 
Helmut Seidel wrote:
My first Idea was to port my whole App-Framework to java and integrate
it into Udig. After a little thought I found this impossible for mainly
three reasons:
- I would have to maintain two branches of code, for several users will
continue to use the existing Framework and pay for the maintainence.
- Second, this is the main reason, this porting would mean to port
several hundredthousand code-lines, a work I simply cannot afford. I
certainly will port some smaller parts but not the entire thing.
- Third I love my perl ;-)
Yeah Perl :-) I would much rather have fun with you figuring out a nice 
way to bridge functionality. I have had a few people use embeded Ruby or 
Scala - I do not know if that is an option for Perl at this time? I have 
also seen projects make use of the plain old command line in order to 
invoke scripts; - usually gdal scripts :-)
The idea I'm favouring now is to write or use some kind of glue-class,
possibly written in C++ (via JNI) or java which allows function-calls
from or to Udig. There are only three functions which have to be called
from my application:
- zoom to a certain point (or better window) of the drawing.
- switch a layer on or off
- draw some kind of mark (i.e. a circle) to a certain point.
Jesse has also set up a service that you can send requests to in order 
to "script" udig (control zoom / pan  / add layers etc...) from an 
external applicaiton. This is an experiment near as I can tell - but 
perhaps you could volunteer your time with testing / documentation / and 
the shaping of this idea?
And at the moment only one function to be called from Udig in my  
application (i.e. sent an identity-string of some item to a function 
in  my application, to display the corresponding data).
You can always make a map graphic to draw something on the screen that 
is specific to your application. You can also use a draw command if the 
feedback is temporary - you will notice whenever you select a feature in 
uDig (in any view) the map will respond by "flashing" the feature on the 
screen - regardless of if layer the the feature is from is included with 
the map.
The procedure could be as follows: on starting my app or on the first  
call an Application-Object of Udig is created and stored. The 
Function-calls would be via this object. Reversly on the first call 
from  Udig to my app a similar Object would be created and stored.
Often when working with a client / server application we will store the 
client API on the map blackbaord; then any udig commands / operations / 
etc ... can look on the map blackboard; find the client api - and invoke 
the functionality.
This sounds quite easy so far except that I have no experience in  
writing such interfaces. So my questions are: Do you think this would be
possible (I think this could be of interest to many others)? And has  
anybody already done somthing similar who could give me some hints where
and how to start?
See above notes; this sounds like a fun time to me.
Thanks for reading my long post and I hope you could understand all 
of  my clumpsy English. I'm looking forward to your replys.
Do not worry about the lanaguage it is more important to say anything at 
all,
Jody