[
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