On 26/05/2014 18:07, Martin Dobias wrote:
Hi Vincent

On Mon, May 26, 2014 at 9:57 PM, Vincent Mora <[email protected]> wrote:
Hi,

The WFS data provider seems broken when not-cached. As far I can see
QgsWFSProvider::getFeatures( const QgsFeatureRequest& request ) is never
called, and it's where the special case of uri with BBOX (i.e. non-cached)
is dealt with.
True. I guess I must have broken that while implementing support for MTR :-/

The feature request from the vector layer goes through QgsWFSFeatureSource
where cached features are stored. I think that a big part of the code in
QgsWFSProvider should go in QgsWFSFeatureSource in order to cleanly fix the
problem.

Can I have a second opinion on that before working on in this direction ?
Not sure what do you mean by 'big part of the code' but I guess you
are referring to the routines that download WFS data and transform
them to a map of features.
Yes.
Currently the 'feature source' classes in
all providers are merely meant as a pure storage of information needed
for iterating, with no logic inside, and they are typically deleted
when iterators are closed. Because of that I would suggest moving any
logic regarding data retrieval to wfs feature iterator implementation.
Agreed, that precises what I had in mind. Thanks.

I'll work from that and propose a design.

Cheers,

V.
In any case that code should not be in provider class.

Regards
Martin

_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to