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

Reply via email to