Dear list!
There is another small problem in
org.geotools.filter.visitor.PostPreProcessFilterSplittingVisitor.java. This
time in the function Object visit(BBOX filter, Object notUsed).
Whenever I used a BBOX-filter with WFS-datastore, it got treated as a
postfilter, because the the data store always returned false for
supports(BBOX.class). Even though the cascaded WFS does support BBOX-filters.
However, when the capabilites of the cascaded WFS are parsed the ability to
support BBOX-filters is set as FilterCapabilities.SPATIAL_BBOX. And
supports(FilterCapabilities.SPATIAL_BBOX) returns true, even if
supports(BBOX.class) is false.
Here is the code snippet that causes the problem:
public Object visit(BBOX filter, Object notUsed) {
if (!fcs.supports(BBOX.class)) {
postStack.push(filter);
} else {
preStack.push(filter);
}
return null;
}
And my suggestion to solve this issue is:
public Object visit(BBOX filter, Object notUsed) {
if (fcs.supports(FilterCapabilities.SPATIAL_BBOX) ||
fcs.supports(BBOX.class)) {
preStack.push(filter);
} else {
postStack.push(filter);
}
return null;
}
Maybe fcs.supports(BBOX.class) could be removed, but maybe it is used by
another data store. So far it doesn't hurt...
cheers,
stefan
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel