From: <svn...@os...> - 2012-05-24 02:55:31
|
Author: bencaradocdavies Date: 2012-05-23 19:55:23 -0700 (Wed, 23 May 2012) New Revision: 38747 Modified: branches/2.7.x/modules/library/data/src/main/java/org/geotools/data/store/ContentFeatureSource.java Log: GEOS-5085: WFS 2.0 paging returns wrong features for startindex=0 Modified: branches/2.7.x/modules/library/data/src/main/java/org/geotools/data/store/ContentFeatureSource.java =================================================================== --- branches/2.7.x/modules/library/data/src/main/java/org/geotools/data/store/ContentFeatureSource.java 2012-05-24 02:39:06 UTC (rev 38746) +++ branches/2.7.x/modules/library/data/src/main/java/org/geotools/data/store/ContentFeatureSource.java 2012-05-24 02:55:23 UTC (rev 38747) @@ -470,8 +470,8 @@ query = resolvePropertyNames(query); // see if we need to enable native sorting in order to support stable paging - final int offset = query.getStartIndex() != null ? query.getStartIndex() : 0; - if(offset > 0 & query.getSortBy() == null) { + if (query.getStartIndex() != null + && (query.getSortBy() == null || query.getSortBy().length == 0)) { if(!getQueryCapabilities().supportsSorting(query.getSortBy())) throw new IOException("Feature source does not support this sorting " + "so there is no way a stable paging (offset/limit) can be performed"); @@ -508,6 +508,7 @@ } // offset + int offset = query.getStartIndex() != null ? query.getStartIndex() : 0; if( !canOffset() && offset > 0 ) { // skip the first n records for(int i = 0; i < offset && reader.hasNext(); i++) { |