Mauro, That's actually a very interesting use-case, and not one that I'd though of before (although it makes a lot of sense!)
I'm not sure that PPPFSV prevents what you're describing from happening, however. I think it's more about how the DataStore handles what the PPPFSV returns. PPPFSV takes a FilterCapabilities (a description of what sorts of things a datastore can do DB-side) and a Filter. It will then split the filter into two parts: a 'supported' part and an 'unsupported' part. What you *do* with the supported and unsupported parts (well, by *you* I probably me *a datastore*) is up to you. You could do a cool optimization like you describe, or you could just do the more-standard (and less efficient) in-memory split. One thing that jumps to my mind is this: FilterCapabilities dbWithSpatialCaps = <filtercapabilities with db-based spatial operator> FilterCapabilities dbNoSpatialCaps = <filtercapabilities with NO db-based spatial operator> PPPFSV dbSideSplitter = new PPPFSV(dbWithSpatialCaps); PPPFSV clientSideSplitter = new PPPFSV(dbNoSpatialCaps); Filter myPartiallySupportedFilter = ... dbSideSplitter.accept(myPartiallySupportedFilter); Filter sendThisFilterToDB = dbSideSplitter.getSupported(); clientSideSplitter.accept(myPartiallySupportedFilter); Filter filterTheResultWithThisFilter = clientSideSplitter.getUnsupported(); But I'm pretty sure this is a DataStore optimization, and not something that would need to be changed in PPPFSV. Am I understanding your issue correctly Mauro? Does what I just wrote make any sense? --saul Mauro Bartolomeoli wrote: > > I recently had the necessity to write an hacked version of the class in > the subject. > My problem was to split a single filter (SpatialBBOX) in 2 parts, one > executed one the server (the database): this part returns an approximate > (by excess) result, which needs to be filtered again to give the final > result: this filter is accomplished by the second part. > This particular filter then has both a preProcessing and a > postProcessing part. > In the original visitor, a filter can be pre-processed or > post-processed, but not both. > Are there any official plans to support filters that need both pre and > post processing? > > Thanks, > Mauro Bartolomeoli > > > ------------------------------------------------------------------------- > 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 > > -- View this message in context: http://www.nabble.com/PostPreProcessFilterSplittingVisitor-and-mixed-situations-tf4315906.html#a12294735 Sent from the geotools-devel mailing list archive at Nabble.com. ------------------------------------------------------------------------- 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
