|
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++) {
|