Hi Jody,

sorry for the late reply.

comments inline.

On Tue, Oct 18, 2011 at 10:36 AM, Jody Garnett <jody.garn...@gmail.com> wrote:
> Okay Gabriel / Justin:
> Can I ask you to look over the following:
> - http://docs.codehaus.org/display/GEOTOOLS/ResouceId
sure.

> I have outlined two options:
> * ResourceId (as your described in your patch)
> * FeatureId (adding the additional data to FeatureId and removing our unused
> Identifier classes ObjectId and RecordId)
> It also contains the new idea of:
> * FeatureId.equalsExact( FeatureId )
> * FeatureId.equalsFID( FeatureId )
> Q: I was not able to find any evidence in the specification for a
> getPreviousVersionFID() method; did I just miss it in the WFS 2 and Filter 2
> specification or is this something that came out of the GeoGit work?
no it doesn't come out of anything GeoGit specific.
It matches FES 2.0 previousRid element of ResourceId
<http://schemas.opengis.net/filter/2.0/filter.xsd>
And the spec says about it: "The previousRid attribute may be used, in
implementations that support versioning, to report the previous
identifier of a resource" (section 7.11.2).

> An outline of the second option is attached for your reference; please see
> the proposal for diagrams showing the current situation and the two options.

I like the second option better than the first one, but don't like
neither enough.
Rationale is I think it's weird to mix up query predicate and
reporting properties on the same interface, so at this point I would
like for our object/query model not to follow the schema definition of
ResourceId to the letter.

I think we can have ResourceId as a filter predicate, and a minimal
extension of FeatureId to support reporting of versioning information.
Something on the lines of:
interface FeatureId{
 String getD();
 String getVersion();
 /**
  * @return <ID>[@<version>]
  */
 String rid();
}

And that is what Feature.getIdentifier() returns to report its feature
identifier with optional version information?

And by the other hand we'd have ResourceId as a query predicate
interface FeatureId extends Identifier {
    String getID();
    boolean matches(Object feature);
    Version getVersion();
    Date getStartTime();
    Date getEndTime();
    public interface Version {
        VersionAction getVersionAction();
        Long getIndex();
        Date getTimeStamp();
    }
    public enum VersionAction {
        FIRST,
        LAST,
        ALL,
        NEXT,
        PREVIOUS
    }
}

Does that make sense?

Cheers,
Gabriel

> Jody
>



-- 
Gabriel Roldan
OpenGeo - http://opengeo.org
Expert service straight from the developers.

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to