Skip to content

Commit ed31a32

Browse files
committed
Add utils method for external layers
1 parent ec3e15f commit ed31a32

File tree

2 files changed

+26
-15
lines changed

2 files changed

+26
-15
lines changed

src/server/services/wms/qgswmsparameters.cpp

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include "qgsdatasourceuri.h"
2020
#include "qgsmessagelog.h"
2121

22+
const QString EXTERNAL_LAYER_PREFIX = QStringLiteral( "EXTERNAL_WMS:" );
23+
2224
namespace QgsWms
2325
{
2426
//
@@ -1409,7 +1411,7 @@ namespace QgsWms
14091411
{
14101412
QString layer = layers[i];
14111413

1412-
if ( layer.startsWith( QStringLiteral( "EXTERNAL_WMS:" ) ) )
1414+
if ( isExternalLayer( layer ) )
14131415
continue;
14141416

14151417
QgsWmsParametersLayer param;
@@ -1503,15 +1505,10 @@ namespace QgsWms
15031505
const QStringList layers = allLayersNickname();
15041506
for ( const QString &layer : allLayersNickname() )
15051507
{
1506-
if ( ! layer.startsWith( QStringLiteral( "EXTERNAL_WMS:" ) ) )
1508+
if ( ! isExternalLayer( layer ) )
15071509
continue;
15081510

1509-
QgsWmsParametersExternalLayer externalLayer;
1510-
externalLayer.mName = layer;
1511-
externalLayer.mName.remove( 0, 13 );
1512-
externalLayer.mUri = externalWMSUri( externalLayer.mName );
1513-
1514-
externalLayers << externalLayer;
1511+
externalLayers << externalLayerParameter( layer );
15151512
}
15161513

15171514
return externalLayers;
@@ -1615,14 +1612,9 @@ namespace QgsWms
16151612

16161613
for ( const auto &layer : allLayers )
16171614
{
1618-
if ( layer.startsWith( QStringLiteral( "EXTERNAL_WMS:" ) ) )
1615+
if ( isExternalLayer( layer ) )
16191616
{
1620-
QgsWmsParametersExternalLayer externalParam;
1621-
externalParam.mName = layer;
1622-
externalParam.mName.remove( 0, 13 );
1623-
externalParam.mUri = externalWMSUri( externalParam.mName );
1624-
1625-
eParams << externalParam;
1617+
eParams << externalLayerParameter( layer );
16261618
}
16271619
else
16281620
{
@@ -1810,4 +1802,20 @@ namespace QgsWms
18101802

18111803
return p;
18121804
}
1805+
1806+
QgsWmsParametersExternalLayer QgsWmsParameters::externalLayerParameter( const QString &name ) const
1807+
{
1808+
QgsWmsParametersExternalLayer param;
1809+
1810+
param.mName = name;
1811+
param.mName.remove( 0, EXTERNAL_LAYER_PREFIX.size() );
1812+
param.mUri = externalWMSUri( param.mName );
1813+
1814+
return param;
1815+
}
1816+
1817+
bool QgsWmsParameters::isExternalLayer( const QString &name ) const
1818+
{
1819+
return name.startsWith( EXTERNAL_LAYER_PREFIX );
1820+
}
18131821
}

src/server/services/wms/qgswmsparameters.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1187,6 +1187,9 @@ namespace QgsWms
11871187
void raiseError( const QString &msg ) const;
11881188
void log( const QString &msg ) const;
11891189

1190+
bool isExternalLayer( const QString &name ) const;
1191+
QgsWmsParametersExternalLayer externalLayerParameter( const QString &name ) const;
1192+
11901193
QMultiMap<QString, QgsWmsParametersFilter> layerFilters( const QStringList &layers ) const;
11911194

11921195
QMap<QgsWmsParameter::Name, QgsWmsParameter> mWmsParameters;

0 commit comments

Comments
 (0)