Hi Eric, Thanks for looking into this. The current filter support for nested attributes is fragile and was meant to be temporary. You're right on your observation on how it works. UnmappingFilterVisitor is meant to translate the complex attributes within the filter to the mapped database columns (extracted in visit(PropertyName expr, Object arg1)). E.g. "gsml:specification/gsml:GeologicUnit/gml:description" = "Olivine basalt" to DESCRIPTION = "Olivine basalt". This is so it can be passed on to the underlying simple feature data source. But, since a complex attribute can have multiple occurrences within a feature, and therefore have multiple mapped columns, I added the handling for this by wrapping them in MultiValuedOrImpl.
This Filters.findPropertyName(Filter f) method you're proposing sounds like a good alternative to using UnmappingFilterVisitor. I can imagine it being as complicated though, and seems like it's going to take substantial time to implement. Since Niels is already working on the filter support, perhaps you can work together with him. If you decide to go on with the work, you can use the test cases in GeoServer app-schema-test (FeatureChainingWfsTest, DataReferenceWfsPostgisTest and DataReferenceWfsOracleTest). If you require further help, let us know. Cheers Rini-- View this message in context: http://osgeo-org.1803224.n2.nabble.com/Speeding-up-feature-chaining-filters-in-app-schema-plugin-tp6311949p6315927.html Sent from the geotools-devel mailing list archive at Nabble.com. ------------------------------------------------------------------------------ WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
