Okay I am getting really keen to have a geotools code sprint - on the topic of 
a "lookup" class for GeoTools similar in spirit to the netbeans one.

This would enable:
- Justin to hook in some Python datastores for GeoServer
- Jody to start assembling GeoTools OSGi manifests

The plan would be to:
1) "register" the lookup system with the GeoTools class
- Andrea will need to be on hand to shoot us if we fall into some singleton 
trap he cannot clean up after.
- Need to consider unload from the start

2) have our factory finders use the lookup system
- have (justin?) charge on ahead with a Spring based lookup system
- create a default FactorySPI based lookup

We already have a factory iterator that can be added to a FactoryRegistery; 
there were some limitations around this (mostly with respect to unloading) that 
need to be dealt with.

Rough idea of the netbeans lookup is to be one step higher than a factory 
iterator; and then unload/load the entire lookup interface (rather than ask an 
iterator to spit out individual objects which we than cache).

We should be able to offload the idea of "caching" instances either by:
- asking implementations to perform that role; or
- using our own wrapper that caches

I expect this approach will work for most of the library; the exception will be 
the referencing library where there is a complicated cache (storing instances 
based on how they were configured). Already that code is complicated with a 
"three pass" system: a no argument constructor that verifies the implementation 
is available; and then a second call through to a constructor taking hints; the 
resulting instances reports back which hints were actually used (and then the 
instance is cached according to those hints!).  Simplifying this for the 
purpose of lookup would be taking care of that "first" pass indicating an 
implementation is available.

Jody
 
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to