// END OF HACK
if (isJoining || mappedSource instanceof JDBCFeatureSource
|| mappedSource instanceof JDBCFeatureStore) {
// has database as data source, we can use the data source filter capabilities
FilterCapabilities capabilities = getFilterCapabilities(mappedSource);
ComplexFilterSplitter splitter = new ComplexFilterSplitter(capabilities, mapping);
Filter filter = query.getFilter();
filter.accept(splitter, null);
Filter preFilter = splitter.getFilterPre();
query.setFilter(preFilter);
filter = splitter.getFilterPost();
if (isJoining) {
((JoiningQuery)query).setDenormalised(mapping.isDenormalised());
}
if (isJoining && isListFilter != null) {