@@ -287,7 +287,7 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
287
287
288
288
QStringList wfsLayersId = mConfigParser ->wfsLayers ();
289
289
QMap< QString, QMap< int , QString > > aliasInfo = mConfigParser ->layerAliasInfo ();
290
- QMap< QString, QSet<QString> > hiddenAttributes = mConfigParser ->hiddenAttributes ();
290
+ QMap< QString, QSet<QString> > excludedAttributes = mConfigParser ->wfsExcludedAttributes ();
291
291
292
292
QList<QgsMapLayer*> layerList;
293
293
QgsMapLayer* currentLayer = 0 ;
@@ -306,12 +306,12 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
306
306
layerAliasInfo = aliasIt.value ();
307
307
}
308
308
309
- // hidden attributes for this layer
310
- QSet<QString> layerHiddenAttributes ;
311
- QMap< QString, QSet<QString> >::const_iterator hiddenIt = hiddenAttributes .find ( currentLayer->id () );
312
- if ( hiddenIt != hiddenAttributes .constEnd () )
309
+ // excluded attributes for this layer
310
+ QSet<QString> layerExcludedAttributes ;
311
+ QMap< QString, QSet<QString> >::const_iterator exclIt = excludedAttributes .find ( currentLayer->id () );
312
+ if ( exclIt != excludedAttributes .constEnd () )
313
313
{
314
- layerHiddenAttributes = hiddenIt .value ();
314
+ layerExcludedAttributes = exclIt .value ();
315
315
}
316
316
317
317
// do a select with searchRect and go through all the features
@@ -455,7 +455,7 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
455
455
if ( fidOk )
456
456
{
457
457
provider->featureAtId ( fid.toInt (), feature, mWithGeom , attrIndexes );
458
- sendGetFeature ( request, format, &feature, 0 , layerCrs, fields, layerHiddenAttributes );
458
+ sendGetFeature ( request, format, &feature, 0 , layerCrs, fields, layerExcludedAttributes );
459
459
}
460
460
else if ( filterOk )
461
461
{
@@ -469,13 +469,13 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
469
469
{
470
470
if ( mFilter ->evaluate ( feature ) )
471
471
{
472
- sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerHiddenAttributes );
472
+ sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerExcludedAttributes );
473
473
++featureCounter;
474
474
}
475
475
}
476
476
else
477
477
{
478
- sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerHiddenAttributes );
478
+ sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerExcludedAttributes );
479
479
++featureCounter;
480
480
}
481
481
}
@@ -487,7 +487,7 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
487
487
488
488
while ( provider->nextFeature ( feature ) && featureCounter < maxFeat )
489
489
{
490
- sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerHiddenAttributes );
490
+ sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerExcludedAttributes );
491
491
++featureCounter;
492
492
}
493
493
}
@@ -497,7 +497,7 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
497
497
provider->select ( attrIndexes, searchRect, mWithGeom , true );
498
498
while ( provider->nextFeature ( feature ) && featureCounter < maxFeat )
499
499
{
500
- sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerHiddenAttributes );
500
+ sendGetFeature ( request, format, &feature, featureCounter, layerCrs, fields, layerExcludedAttributes );
501
501
++featureCounter;
502
502
}
503
503
}
@@ -633,7 +633,7 @@ void QgsWFSServer::startGetFeature( QgsRequestHandler& request, const QString& f
633
633
fcString = " " ;
634
634
}
635
635
636
- void QgsWFSServer::sendGetFeature ( QgsRequestHandler& request, const QString& format, QgsFeature* feat, int featIdx, QgsCoordinateReferenceSystem& crs, QMap< int , QgsField > fields, QSet<QString> hiddenAttributes ) /* const*/
636
+ void QgsWFSServer::sendGetFeature ( QgsRequestHandler& request, const QString& format, QgsFeature* feat, int featIdx, QgsCoordinateReferenceSystem& crs, QMap< int , QgsField > fields, QSet<QString> excludedAttributes ) /* const*/
637
637
{
638
638
QByteArray result;
639
639
if ( format == " GeoJSON" )
@@ -643,7 +643,7 @@ void QgsWFSServer::sendGetFeature( QgsRequestHandler& request, const QString& fo
643
643
fcString += " " ;
644
644
else
645
645
fcString += " ," ;
646
- fcString += createFeatureGeoJSON ( feat, crs, fields, hiddenAttributes );
646
+ fcString += createFeatureGeoJSON ( feat, crs, fields, excludedAttributes );
647
647
fcString += " \n " ;
648
648
649
649
result = fcString.toUtf8 ();
@@ -653,7 +653,7 @@ void QgsWFSServer::sendGetFeature( QgsRequestHandler& request, const QString& fo
653
653
else
654
654
{
655
655
QDomDocument gmlDoc;
656
- QDomElement featureElement = createFeatureElem ( feat, gmlDoc, crs, fields, hiddenAttributes );
656
+ QDomElement featureElement = createFeatureElem ( feat, gmlDoc, crs, fields, excludedAttributes );
657
657
gmlDoc.appendChild ( featureElement );
658
658
659
659
result = gmlDoc.toByteArray ();
@@ -684,7 +684,7 @@ void QgsWFSServer::endGetFeature( QgsRequestHandler& request, const QString& for
684
684
}
685
685
}
686
686
687
- QString QgsWFSServer::createFeatureGeoJSON ( QgsFeature* feat, QgsCoordinateReferenceSystem &, QMap< int , QgsField > fields, QSet<QString> hiddenAttributes ) /* const*/
687
+ QString QgsWFSServer::createFeatureGeoJSON ( QgsFeature* feat, QgsCoordinateReferenceSystem &, QMap< int , QgsField > fields, QSet<QString> excludedAttributes ) /* const*/
688
688
{
689
689
QString fStr = " {\" type\" : \" Feature\" ,\n " ;
690
690
@@ -711,8 +711,8 @@ QString QgsWFSServer::createFeatureGeoJSON( QgsFeature* feat, QgsCoordinateRefer
711
711
for ( QgsAttributeMap::const_iterator it = featureAttributes.begin (); it != featureAttributes.end (); ++it )
712
712
{
713
713
QString attributeName = fields[it.key ()].name ();
714
- // skip attribute if it has edit type 'hidden'
715
- if ( hiddenAttributes .contains ( attributeName ) )
714
+ // skip attribute if it is excluded from WFS publication
715
+ if ( excludedAttributes .contains ( attributeName ) )
716
716
{
717
717
continue ;
718
718
}
@@ -744,7 +744,7 @@ QString QgsWFSServer::createFeatureGeoJSON( QgsFeature* feat, QgsCoordinateRefer
744
744
return fStr ;
745
745
}
746
746
747
- QDomElement QgsWFSServer::createFeatureElem ( QgsFeature* feat, QDomDocument& doc, QgsCoordinateReferenceSystem& crs, QMap< int , QgsField > fields, QSet<QString> hiddenAttributes ) /* const*/
747
+ QDomElement QgsWFSServer::createFeatureElem ( QgsFeature* feat, QDomDocument& doc, QgsCoordinateReferenceSystem& crs, QMap< int , QgsField > fields, QSet<QString> excludedAttributes ) /* const*/
748
748
{
749
749
// gml:FeatureMember
750
750
QDomElement featureElement = doc.createElement ( " gml:featureMember" /* wfs:FeatureMember*/ );
@@ -787,8 +787,8 @@ QDomElement QgsWFSServer::createFeatureElem( QgsFeature* feat, QDomDocument& doc
787
787
{
788
788
789
789
QString attributeName = fields[it.key ()].name ();
790
- // skip attribute if it has edit type 'hidden'
791
- if ( hiddenAttributes .contains ( attributeName ) )
790
+ // skip attribute if is explicitely excluded from WFS publication
791
+ if ( excludedAttributes .contains ( attributeName ) )
792
792
{
793
793
continue ;
794
794
}
0 commit comments