Details
Description
If I try to sort a FeatureCollection, I get a null FeatureList. So I do:
final FeatureCollection fc = source.getFeatures(filter);
and this returns my feature collection (an instance of JDBCFeatureCollection to be precise). Good. But:
final SortBy rt = ff.sort(sortField, SortOrder.DESCENDING);
final FeatureList fl = fc.sort(sort);
this returns a null FeatureList (ff is the FilterFactory). Hmmm. To figure out why, I looked into these three classes (gt2-2.4-M4):
library/jdbc/src/main/java/org/geotools/data/jdbc/JDBCFeatureCollection.java
unsupported/h2/src/main/java/org/geotools/data/jdbc/collection/JDBCFeatureCollection.java
library/main/src/main/java/org/geotools/feature/DefaultFeatureCollection.java
Apparently, sorting is not properly implemented (yet).
As a work-around, sorting via the Query interface works:
final DefaultQuery query = new DefaultQuery( typeName, filter);
final SortBy rt = ff.sort(sortField, SortOrder.DESCENDING);
query.setSortBy(new SortBy[] { sort });
final FeatureCollection fc = source.getFeatures(query);