List<Query> buildInfoQueries() {
List<Query> queries = new ArrayList<Query>();
if ( ftName == null ) {
queries.addAll( map( featureStore.getSchema().getFeatureTypes( null, false, false ),
new Mapper<Query, FeatureType>() {
@Override
public Query apply( FeatureType u ) {
Filter f;
if ( filter == null ) {
f = buildFilter( null, u, bbox );
} else {
f = buildFilter( ( (OperatorFilter) filter ).getOperator(), u, bbox );
}
return createQuery( u.getName(), f, -1, query.getFeatureCount(), -1, sortBy );
}
} ) );
clearNulls( queries );
} else {
Filter f;
if ( filter == null ) {
f = buildFilter( null, featureStore.getSchema().getFeatureType( ftName ), bbox );
} else {
f = buildFilter( ( (OperatorFilter) filter ).getOperator(),
featureStore.getSchema().getFeatureType( ftName ), bbox );
}
queries.add( createQuery( ftName, f, -1, query.getFeatureCount(), -1, sortBy ) );
}
return queries;
}