Class FilterCompliancePreProcessor

  • All Implemented Interfaces:

    public class FilterCompliancePreProcessor
    extends Object
    implements FilterVisitor
    Prepares a filter for xml encoded for interoperability with another system. It will behave differently depeding on the compliance level chosen. A new request will have to be made and the features will have to be tested again on the client side if there are any FidFilters in the filter. Consider the following to understand why:
     and {
    for strict it would throw an exception, for low it would be left alone, but for Medium it would end up as:
    and getFids() would return the fids in the fidFilter.

    So the final filter would (this is not standard but a common implementation) return the results of the and filter as well as all the features that match the fids. Which is more than the original filter would accept.

    The XML Document writer can operate at different levels of compliance. The geotools level is extremely flexible and forgiving.

    All NOT(FidFilter) are changed to Filter.INCLUDE. So make sure that the filter is processed again on the client with the original filter For a description of the difference Compliance levels that can be used see