When I initially looked at this one (when we estimated out WFS 1.1 work 
for Rob) I did not find much different between this functionality and 
the use of a FidFilter at a high level. For those not lost in the depths 
of WFS 1.1 can you provide some idea of what this functionality is 
about? You will also find that the RandomAccess interface supports look 
up by Fid (and is used to mark when this operation is available with 
better than O(N) performance).

As I understand it the operation is used to make this more into a 
catalog (that can look up features and geometries and whatever...). Is 
it just limited to features and geometry? Or can any object be identified?

I would be most comfortable extending FeatureSource but I understand 
that the GmlObjectId can indicate anything managed by the datastore. The 
friction I see in this solution is that we have the same look up problem 
from Registry to DataStore as we do from DataStore to FeatureSource. ie 
we don't know which DataStore to send the getGMLObject message too. And 
without GmlObjectId having a bit more information we will never be able 
to figure it out....

So there are two approaches here ... a method to check:
interface GmlObjectStore {  
    boolean isIdentifiedApplicable( GmlObjectId id );
    Object getGmlObject( GmlObjectId id ) throws IOException;
}

Or we would need some way take apart the structure of the GmlObjectId a 
bit (figure out the datastore id or typeName). I prefer the first 
approach as it provides better information hiding (each data store 
implementation can have its own approach to recognizing and unpacking a 
GmlObjectId).

Note that previously I had placed object lookup along with other cross 
datastore concerns in the Registry interface.

I am not interested in using Hints for this functionality; it is a cute 
hack but we can do better.

Jody



> Hi all,
>
> As part of ows5 and a wfs 1.1 xlink reference implementation, we have
> been tasked with implementing the wfs GetGmlObject operation in
> GeoServer. I have created a proposal for the geotools component of the work:
>
> http://docs.codehaus.org/display/GEOTOOLS/Support+GetGMLObject
>
> The proposal is actually broken up into two alternatives (both explained
> in the proposal itself). So for voting there are two parts, the normal
> +1/-1 schema, plus voting for the preferred alternative.
>
> Let the comments and feedback begin.
>
> Thanks,
>
> -Justin
>
>   


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to