Jody Garnett wrote:
I will:
1. write up the interfaces
The interfaces are:
/net.refractions.udig.catalog/schema/friendly.exsd
/net.refractions.udig.catalog/src/net/refractions/udig/catalog/util/IFriend.java
2. and some test cases
Just working on sample implementation currently:
/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/wms/GeoServerFriend.java
3. and ask for review.
So far my complaints have been about the evolution of the ICatalog
interface:
- findService( id ) was created as a non blocking lookup - used by DnD
code? Method can only be implemented for the local catalog!
- find( id, monitor ) is used to find a list of associated services or
GeoResources
In implementing IFriend (aka detection of peer resources based on prior
knowledge, application specific assumptions or external metadata) we
need the ability to look up an entry in the local catalog exactly by ID.
Options:
- just walk it the catalog structure (Navigate from ICatalog, through
IService, through IGeoResource (and children for WMS case)
- create a helper method similar to CSW2 getRecordById (or WFS 1.1
getObjectById)
If there are no complaints and myself or someone else has time we can
then
4. hook it into the code base.
I will try and get this to work first and then sort out naming and
consistency issues after. Any suggestions welcome (It could be that
ICatalog and ILocalCatalog need to be seperated so the two concerns stop
confusing each other).
Jody
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel