Details

    • Type: Improvement Improvement
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 8.0-M3
    • Fix Version/s: 8.0-M2, 8.0-M3
    • Component/s: opengis
    • Labels:
      None

      Description

      The WFS 2.0 specification defines the concept of ResourceID:

      • ResouceId: Implements the ResourceId operator with the rid parameter to allow predicates to be written that allow a specific resource to be queried.
      • Version Navigation: Implements ResourceId operator with the parameters that allow versions of resources to be queried (version, startTime, endTime)

      The WFS 2.0 specification allows you to only "select" one of Filter, ResourceID or BBox at a time. This restriction is lifted for the GeoTools implementation of Filter.

      The addition of ResourceId is the subject of the following change proposal:

      http://docs.codehaus.org/display/GEOTOOLS/ResourceId

      1. resource_and_query.patch
        59 kB
        Jody Garnett
      2. resourceid_test.patch
        10 kB
        Mark Leslie
      3. resourceid.patch
        36 kB
        Jody Garnett

        Activity

        Hide
        Jody Garnett added a comment - - edited
        There has been a lively email discussion; with some good input from Gabriel to the effect of:
        interface FeatureId{
           String getD();
           String getVersion();
           /**
            * @return <ID>[@<version>]
            */
           String rid();
        }

        This would be used to identifie features returned (as is the case now). On the other side the Filter expression Id<ResourceId> would be used to stage Queries:

        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
          }
        }
        Show
        Jody Garnett added a comment - - edited There has been a lively email discussion; with some good input from Gabriel to the effect of: interface FeatureId{    String getD();    String getVersion();    /**     * @return <ID>[@<version>]     */    String rid(); } This would be used to identifie features returned (as is the case now). On the other side the Filter expression Id<ResourceId> would be used to stage Queries: 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   } }
        Hide
        Jody Garnett added a comment -
        Okay I implemented everything and update the proposal. Clear FeatureId and ResourceId split. This is based on Justin's earlier patch and includes the updated bindings.

        Some of the test cases for XML bindings hinged around the creation of invalid ResourceId information (ie containing both a relative version search and and a conflicting date range search). I have fixed these by making use of the implementation classed directly.
        Show
        Jody Garnett added a comment - Okay I implemented everything and update the proposal. Clear FeatureId and ResourceId split. This is based on Justin's earlier patch and includes the updated bindings. Some of the test cases for XML bindings hinged around the creation of invalid ResourceId information (ie containing both a relative version search and and a conflicting date range search). I have fixed these by making use of the implementation classed directly.
        Hide
        Mark Leslie added a comment -
        Attaching additional patch file (apply after resource_and_query.patch) to fix tests.
        Show
        Mark Leslie added a comment - Attaching additional patch file (apply after resource_and_query.patch) to fix tests.
        Hide
        Jody Garnett added a comment -
        Thanks mark; I will go through and apply that now.
        Show
        Jody Garnett added a comment - Thanks mark; I will go through and apply that now.
        Hide
        Jody Garnett added a comment -
        Thanks for the patch mark (check your whitespace settings though).
        Show
        Jody Garnett added a comment - Thanks for the patch mark (check your whitespace settings though).

          People

          • Assignee:
            Jody Garnett
            Reporter:
            Jody Garnett
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: