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

Reply via email to