Skip to main content

[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


Back to the top