Jody Garnett ha scritto:
> I am going through the code in streaming renderer; trying to see why 
> uDig is having trouble rendering features.
> 
> Streaming renderer traditionally delegates the task of combining two 
> queries to DataUtilities.mixQueries method; when I review the code today 
> I find that startIndex is only handled  as part of streaming renderer. I 
> am going to assume  that it is okay to move the following into 
> DataUtilities:
>> if(definitionQuery.getStartIndex() != null){
>>     query.setStartIndex(definitionQuery.getStartIndex());
>> }

Hum,
first off, I don't see why rendering should be dealing with paging.
In any case, say Q1 has (startIndex=10,maxFeatures=10) and 
Q2(startIndex=20,maxFeatures=10), what would the merging be?
Traditionally we do merge the filters with an AND, meaning that
the above case should be treated as page intersection, resulting
in an empty page, that we cannot express, thus we'd have to
change the filter part to Filter.EXCLUDE.
In the case the pages do intersect, then we use only the intersection.
But wait, there's more. The above make sense only if they two
queries share the same sorting, if they are not, merge does not
make any sense, because there is no way to relate the contents
of the two pages without actually looking at the returned
features. I would throw an exception in that case.

Cheers
Andrea

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to