Skip to content

Commit 5abeac1

Browse files
committed
[QGIS Server] Use qobject_cast when it's usefull
1 parent d5328f6 commit 5abeac1

9 files changed

+23
-23
lines changed

src/server/qgshostedrdsbuilder.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ QgsMapLayer* QgsHostedRDSBuilder::createMapLayer( const QDomElement& elem,
6060
QgsRasterLayer* rl = nullptr;
6161
if ( allowCaching )
6262
{
63-
rl = dynamic_cast<QgsRasterLayer*>( QgsMSLayerCache::instance()->searchLayer( uri, layerName ) );
63+
rl = qobject_cast<QgsRasterLayer*>( QgsMSLayerCache::instance()->searchLayer( uri, layerName ) );
6464
}
6565
if ( !rl )
6666
{

src/server/qgsowsserver.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
/** Apply filter from AccessControl */
2626
void QgsOWSServer::applyAccessControlLayerFilters( QgsMapLayer* mapLayer, QHash<QgsMapLayer*, QString>& originalLayerFilters ) const
2727
{
28-
if ( QgsVectorLayer* layer = dynamic_cast<QgsVectorLayer*>( mapLayer ) )
28+
if ( QgsVectorLayer* layer = qobject_cast<QgsVectorLayer*>( mapLayer ) )
2929
{
3030
QString sql = mAccessControl->extraSubsetString( layer );
3131
if ( !sql.isEmpty() )
@@ -54,7 +54,7 @@ void QgsOWSServer::restoreLayerFilters( const QHash<QgsMapLayer*, QString>& filt
5454
QHash<QgsMapLayer*, QString>::const_iterator filterIt = filterMap.constBegin();
5555
for ( ; filterIt != filterMap.constEnd(); ++filterIt )
5656
{
57-
QgsVectorLayer* filteredLayer = dynamic_cast<QgsVectorLayer*>( filterIt.key() );
57+
QgsVectorLayer* filteredLayer = qobject_cast<QgsVectorLayer*>( filterIt.key() );
5858
if ( filteredLayer )
5959
{
6060
QgsVectorDataProvider* dp = filteredLayer->dataProvider();

src/server/qgsremoteowsbuilder.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ QgsRasterLayer* QgsRemoteOWSBuilder::wmsLayerFromUrl( const QString& url, const
162162

163163
if ( allowCaching )
164164
{
165-
result = dynamic_cast<QgsRasterLayer*>( QgsMSLayerCache::instance()->searchLayer( url, layerName ) );
165+
result = qobject_cast<QgsRasterLayer*>( QgsMSLayerCache::instance()->searchLayer( url, layerName ) );
166166
}
167167

168168
if ( result )
@@ -414,7 +414,7 @@ QgsVectorLayer* QgsRemoteOWSBuilder::sosLayer( const QDomElement& remoteOWSElem,
414414
QgsVectorLayer* sosLayer = nullptr;
415415
if ( allowCaching )
416416
{
417-
sosLayer = dynamic_cast<QgsVectorLayer*>( QgsMSLayerCache::instance()->searchLayer( providerUrl, layerName ) );
417+
sosLayer = qobject_cast<QgsVectorLayer*>( QgsMSLayerCache::instance()->searchLayer( providerUrl, layerName ) );
418418
if ( sosLayer )
419419
{
420420
return sosLayer;

src/server/qgswcsprojectparser.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ void QgsWCSProjectParser::describeCoverage( const QString& aCoveName, QDomElemen
221221
QString type = elem.attribute( "type" );
222222
if ( type == "raster" )
223223
{
224-
QgsRasterLayer *rLayer = dynamic_cast<QgsRasterLayer *>( mProjectParser->createLayerFromElement( elem ) );
224+
QgsRasterLayer *rLayer = qobject_cast<QgsRasterLayer *>( mProjectParser->createLayerFromElement( elem ) );
225225
if ( !rLayer )
226226
continue;
227227

@@ -436,7 +436,7 @@ QList<QgsMapLayer*> QgsWCSProjectParser::mapLayerFromCoverage( const QString& cN
436436
if ( type == "raster" )
437437
{
438438
QgsMapLayer *mLayer = mProjectParser->createLayerFromElement( elem, useCache );
439-
QgsRasterLayer* layer = dynamic_cast<QgsRasterLayer*>( mLayer );
439+
QgsRasterLayer* layer = qobject_cast<QgsRasterLayer*>( mLayer );
440440
if ( !layer || !wcsLayersId.contains( layer->id() ) )
441441
return layerList;
442442

src/server/qgswcsserver.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ QByteArray* QgsWCSServer::getCoverage()
377377
QgsRectangle rect( minx, miny, maxx, maxy );
378378

379379
QgsMapLayer* layer = layerList.at( 0 );
380-
QgsRasterLayer* rLayer = dynamic_cast<QgsRasterLayer*>( layer );
380+
QgsRasterLayer* rLayer = qobject_cast<QgsRasterLayer*>( layer );
381381
if ( rLayer && wcsLayersId.contains( rLayer->id() ) )
382382
{
383383
#ifdef HAVE_SERVER_PYTHON_PLUGINS

src/server/qgswfsprojectparser.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ void QgsWFSProjectParser::describeFeatureType( const QString& aTypeName, QDomEle
346346
if ( type == "vector" )
347347
{
348348
QgsMapLayer *mLayer = mProjectParser->createLayerFromElement( elem );
349-
QgsVectorLayer* layer = dynamic_cast<QgsVectorLayer*>( mLayer );
349+
QgsVectorLayer* layer = qobject_cast<QgsVectorLayer*>( mLayer );
350350
if ( !layer )
351351
continue;
352352

@@ -565,7 +565,7 @@ QList<QgsMapLayer*> QgsWFSProjectParser::mapLayerFromTypeName( const QString& aT
565565
if ( type == "vector" )
566566
{
567567
QgsMapLayer *mLayer = mProjectParser->createLayerFromElement( elem );
568-
QgsVectorLayer* layer = dynamic_cast<QgsVectorLayer*>( mLayer );
568+
QgsVectorLayer* layer = qobject_cast<QgsVectorLayer*>( mLayer );
569569
if ( !layer )
570570
continue;
571571

src/server/qgswfsserver.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
470470
}
471471

472472
currentLayer = layerList.at( 0 );
473-
QgsVectorLayer* layer = dynamic_cast<QgsVectorLayer*>( currentLayer );
473+
QgsVectorLayer* layer = qobject_cast<QgsVectorLayer*>( currentLayer );
474474
if ( layer && wfsLayersId.contains( layer->id() ) )
475475
{
476476
#ifdef HAVE_SERVER_PYTHON_PLUGINS
@@ -865,7 +865,7 @@ int QgsWFSServer::getFeature( QgsRequestHandler& request, const QString& format
865865

866866
currentLayer = layerList.at( 0 );
867867

868-
QgsVectorLayer* layer = dynamic_cast<QgsVectorLayer*>( currentLayer );
868+
QgsVectorLayer* layer = qobject_cast<QgsVectorLayer*>( currentLayer );
869869
if ( layer && wfsLayersId.contains( layer->id() ) )
870870
{
871871
expressionContext << QgsExpressionContextUtils::layerScope( layer );

src/server/qgswmsprojectparser.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -503,19 +503,19 @@ QgsComposition* QgsWMSProjectParser::initComposition( const QString& composerTem
503503
QList<QgsComposerItem *>::iterator itemIt = itemList.begin();
504504
for ( ; itemIt != itemList.end(); ++itemIt )
505505
{
506-
QgsComposerLabel* label = dynamic_cast< QgsComposerLabel *>( *itemIt );
506+
QgsComposerLabel* label = qobject_cast< QgsComposerLabel *>( *itemIt );
507507
if ( label )
508508
{
509509
labelList.push_back( label );
510510
continue;
511511
}
512-
QgsComposerMap* map = dynamic_cast< QgsComposerMap *>( *itemIt );
512+
QgsComposerMap* map = qobject_cast< QgsComposerMap *>( *itemIt );
513513
if ( map )
514514
{
515515
mapList.push_back( map );
516516
continue;
517517
}
518-
QgsComposerLegend* legend = dynamic_cast< QgsComposerLegend *>( *itemIt );
518+
QgsComposerLegend* legend = qobject_cast< QgsComposerLegend *>( *itemIt );
519519
if ( legend )
520520
{
521521
QgsLegendModelV2* model = legend->modelV2();
@@ -567,7 +567,7 @@ QgsComposition* QgsWMSProjectParser::initComposition( const QString& composerTem
567567
legendList.push_back( legend );
568568
continue;
569569
}
570-
QgsComposerPicture* pic = dynamic_cast< QgsComposerPicture *>( *itemIt );
570+
QgsComposerPicture* pic = qobject_cast< QgsComposerPicture *>( *itemIt );
571571
if ( pic )
572572
{
573573
pic->setPicturePath( mProjectParser->convertToAbsolutePath(( pic )->picturePath() ) );
@@ -576,11 +576,11 @@ QgsComposition* QgsWMSProjectParser::initComposition( const QString& composerTem
576576

577577
// an html item will be a composer frame and if it is we can try to get
578578
// its multiframe parent and then try to cast that to a composer html
579-
const QgsComposerFrame* frame = dynamic_cast<const QgsComposerFrame *>( *itemIt );
579+
const QgsComposerFrame* frame = qobject_cast<const QgsComposerFrame *>( *itemIt );
580580
if ( frame )
581581
{
582582
const QgsComposerMultiFrame * multiFrame = frame->multiFrame();
583-
const QgsComposerHtml* composerHtml = dynamic_cast<const QgsComposerHtml *>( multiFrame );
583+
const QgsComposerHtml* composerHtml = qobject_cast<const QgsComposerHtml *>( multiFrame );
584584
if ( composerHtml )
585585
{
586586
htmlList.push_back( composerHtml );
@@ -1332,7 +1332,7 @@ void QgsWMSProjectParser::addLayers( QDomDocument &doc,
13321332
bool geometryLayer = true;
13331333
if ( currentLayer->type() == QgsMapLayer::VectorLayer )
13341334
{
1335-
QgsVectorLayer* vLayer = dynamic_cast<QgsVectorLayer*>( currentLayer );
1335+
QgsVectorLayer* vLayer = qobject_cast<QgsVectorLayer*>( currentLayer );
13361336
if ( vLayer )
13371337
{
13381338
if ( vLayer->wkbType() == QGis::WKBNoGeometry )
@@ -1841,7 +1841,7 @@ QDomDocument QgsWMSProjectParser::getStyles( QStringList& layerList ) const
18411841
for ( int j = 0; j < currentLayerList.size(); j++ )
18421842
{
18431843
QgsMapLayer* currentLayer = currentLayerList.at( j );
1844-
QgsVectorLayer* layer = dynamic_cast<QgsVectorLayer*>( currentLayer );
1844+
QgsVectorLayer* layer = qobject_cast<QgsVectorLayer*>( currentLayer );
18451845
if ( !layer )
18461846
{
18471847
throw QgsMapServiceException( "Error", QString( "Could not get style because:\n%1" ).arg( "Non-vector layers not supported yet" ) );

src/server/qgswmsserver.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1738,7 +1738,7 @@ int QgsWMSServer::getFeatureInfo( QDomDocument& result, const QString& version )
17381738
}
17391739

17401740
//switch depending on vector or raster
1741-
QgsVectorLayer* vectorLayer = dynamic_cast<QgsVectorLayer*>( currentLayer );
1741+
QgsVectorLayer* vectorLayer = qobject_cast<QgsVectorLayer*>( currentLayer );
17421742

17431743
QDomElement layerElement;
17441744
if ( infoFormat.startsWith( "application/vnd.ogc.gml" ) )
@@ -1784,7 +1784,7 @@ int QgsWMSServer::getFeatureInfo( QDomDocument& result, const QString& version )
17841784
getFeatureInfoElement.appendChild( layerElement );
17851785
}
17861786

1787-
QgsRasterLayer* rasterLayer = dynamic_cast<QgsRasterLayer*>( currentLayer );
1787+
QgsRasterLayer* rasterLayer = qobject_cast<QgsRasterLayer*>( currentLayer );
17881788
if ( rasterLayer )
17891789
{
17901790
if ( !infoPoint.data() )
@@ -2578,7 +2578,7 @@ void QgsWMSServer::applyRequestedLayerFilters( const QStringList& layerList , QH
25782578

25792579
Q_FOREACH ( QgsMapLayer *filter, layersToFilter )
25802580
{
2581-
QgsVectorLayer* filteredLayer = dynamic_cast<QgsVectorLayer*>( filter );
2581+
QgsVectorLayer* filteredLayer = qobject_cast<QgsVectorLayer*>( filter );
25822582
if ( filteredLayer )
25832583
{
25842584
originalFilters.insert( filteredLayer, filteredLayer->subsetString() );

0 commit comments

Comments
 (0)