and { nullFilter or{ fidFilter nullFilter } }for strict it would throw an exception, for low it would be left alone, but for Medium it would end up as:
and{ nullFilter nullFilter }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
|
|