Skip to content

Commit 5c874ca

Browse files
committed
Remove some unnecessary methods from renderer
1 parent 59eadbb commit 5c874ca

File tree

3 files changed

+28
-71
lines changed

3 files changed

+28
-71
lines changed

src/server/services/wms/qgswmsrendercontext.h

+6-2
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ namespace QgsWms
152152
*/
153153
int precision() const;
154154

155+
/**
156+
* Returns the nickname (short name, id or name) of the layer according
157+
* to the current configuration.
158+
*/
159+
QString layerNickname( const QgsMapLayer &layer ) const;
160+
155161
#ifdef HAVE_SERVER_PYTHON_PLUGINS
156162

157163
/**
@@ -161,8 +167,6 @@ namespace QgsWms
161167
#endif
162168

163169
private:
164-
QString layerNickname( const QgsMapLayer &layer ) const;
165-
166170
void initNicknameLayers();
167171
void initRestrictedLayers();
168172
void initLayerGroupsRecursive( const QgsLayerTreeGroup *group, const QString &groupName );

src/server/services/wms/qgswmsrenderer.cpp

+22-62
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,19 @@ namespace QgsWms
596596
}
597597
else
598598
{
599-
QList<QgsMapLayer *> layerSet = stylizedLayers( cMapParams.mLayers );
599+
QList<QgsMapLayer *> layerSet;
600+
for ( auto layer : cMapParams.mLayers )
601+
{
602+
if ( ! mNicknameLayers.contains( layer.mNickname ) )
603+
{
604+
continue;
605+
}
606+
607+
QgsMapLayer *mlayer = mNicknameLayers[ layer.mNickname ];
608+
setLayerStyle( mlayer, layer.mStyle );
609+
layerSet << mlayer;
610+
}
611+
600612
layerSet << externalLayers( cMapParams.mExternalLayers );
601613
layerSet << highlightLayers( cMapParams.mHighlightLayers );
602614
std::reverse( layerSet.begin(), layerSet.end() );
@@ -1208,7 +1220,7 @@ namespace QgsWms
12081220
bool queryableLayer = true;
12091221
for ( QgsMapLayer *layer : layers )
12101222
{
1211-
if ( queryLayer == layerNickname( *layer ) )
1223+
if ( queryLayer == mContext.layerNickname( *layer ) )
12121224
{
12131225
validLayer = true;
12141226
queryableLayer = layer->flags().testFlag( QgsMapLayer::Identifiable );
@@ -1488,7 +1500,7 @@ namespace QgsWms
14881500
{
14891501
bool withGeom = layer->wkbType() != QgsWkbTypes::NoGeometry && addWktGeometry;
14901502
int gmlVersion = mWmsParameters.infoFormatVersion();
1491-
QString typeName = layerNickname( *layer );
1503+
QString typeName = mContext.layerNickname( *layer );
14921504
QDomElement elem = createFeatureGML(
14931505
&feature, layer, infoDocument, outputCrs, mapSettings, typeName, withGeom, gmlVersion
14941506
#ifdef HAVE_SERVER_PYTHON_PLUGINS
@@ -1657,7 +1669,7 @@ namespace QgsWms
16571669

16581670
QgsCoordinateReferenceSystem layerCrs = layer->crs();
16591671
int gmlVersion = mWmsParameters.infoFormatVersion();
1660-
QString typeName = layerNickname( *layer );
1672+
QString typeName = mContext.layerNickname( *layer );
16611673
QDomElement elem = createFeatureGML(
16621674
&feature, nullptr, infoDocument, layerCrs, mapSettings, typeName, false, gmlVersion, nullptr );
16631675
layerElement.appendChild( elem );
@@ -2101,7 +2113,7 @@ namespace QgsWms
21012113
QgsMapLayer *layer = nullptr;
21022114
for ( QgsMapLayer *l : layers )
21032115
{
2104-
if ( layerNickname( *l ).compare( layerName ) == 0 )
2116+
if ( mContext.layerNickname( *l ).compare( layerName ) == 0 )
21052117
{
21062118
layer = l;
21072119
}
@@ -2450,7 +2462,7 @@ namespace QgsWms
24502462
{
24512463
if ( restrictedLayersNames.contains( layer->name() ) )
24522464
{
2453-
mRestrictedLayers.append( layerNickname( *layer->layer() ) );
2465+
mRestrictedLayers.append( mContext.layerNickname( *layer->layer() ) );
24542466
}
24552467
}
24562468
}
@@ -2459,7 +2471,7 @@ namespace QgsWms
24592471
{
24602472
for ( QgsMapLayer *ml : mProject->mapLayers() )
24612473
{
2462-
mNicknameLayers[ layerNickname( *ml ) ] = ml;
2474+
mNicknameLayers[ mContext.layerNickname( *ml ) ] = ml;
24632475
}
24642476

24652477
// init groups
@@ -2494,7 +2506,7 @@ namespace QgsWms
24942506
}
24952507
}
24962508

2497-
QString QgsRenderer::layerNickname( const QgsMapLayer &layer ) const
2509+
/*QString QgsRenderer::layerNickname( const QgsMapLayer &layer ) const
24982510
{
24992511
QString name = layer.shortName();
25002512
if ( QgsServerProjectUtils::wmsUseLayerIds( *mProject ) )
@@ -2507,7 +2519,7 @@ namespace QgsWms
25072519
}
25082520
25092521
return name;
2510-
}
2522+
}*/
25112523

25122524
QList<QgsMapLayer *> QgsRenderer::highlightLayers( QList<QgsWmsParametersHighlightLayer> params )
25132525
{
@@ -2682,58 +2694,6 @@ namespace QgsWms
26822694
return layers;
26832695
}
26842696

2685-
QList<QgsMapLayer *> QgsRenderer::stylizedLayers( const QList<QgsWmsParametersLayer> &params )
2686-
{
2687-
QList<QgsMapLayer *> layers;
2688-
2689-
for ( const QgsWmsParametersLayer &param : params )
2690-
{
2691-
QString nickname = param.mNickname;
2692-
QString style = param.mStyle;
2693-
if ( mNicknameLayers.contains( nickname ) && !mRestrictedLayers.contains( nickname ) )
2694-
{
2695-
if ( !style.isEmpty() )
2696-
{
2697-
bool rc = mNicknameLayers[nickname]->styleManager()->setCurrentStyle( style );
2698-
if ( ! rc )
2699-
{
2700-
throw QgsMapServiceException( QStringLiteral( "StyleNotDefined" ), QStringLiteral( "Style \"%1\" does not exist for layer \"%2\"" ).arg( style, nickname ) );
2701-
}
2702-
}
2703-
2704-
layers.append( mNicknameLayers[nickname] );
2705-
}
2706-
else if ( mLayerGroups.contains( nickname ) )
2707-
{
2708-
// Reverse order of layers from a group
2709-
QList<QgsMapLayer *> layersFromGroup;
2710-
for ( QgsMapLayer *layer : mLayerGroups[nickname] )
2711-
{
2712-
if ( !mRestrictedLayers.contains( layerNickname( *layer ) ) )
2713-
{
2714-
if ( !style.isEmpty() )
2715-
{
2716-
bool rc = layer->styleManager()->setCurrentStyle( style );
2717-
if ( ! rc )
2718-
{
2719-
throw QgsMapServiceException( QStringLiteral( "StyleNotDefined" ), QStringLiteral( "Style \"%1\" does not exist for layer \"%2\"" ).arg( style, layerNickname( *layer ) ) );
2720-
}
2721-
}
2722-
layersFromGroup.push_front( layer );
2723-
}
2724-
}
2725-
layers.append( layersFromGroup );
2726-
}
2727-
else
2728-
{
2729-
throw QgsBadRequestException( QStringLiteral( "LayerNotDefined" ),
2730-
QStringLiteral( "Layer \"%1\" does not exist" ).arg( nickname ) );
2731-
}
2732-
}
2733-
2734-
return layers;
2735-
}
2736-
27372697
void QgsRenderer::removeTemporaryLayers()
27382698
{
27392699
qDeleteAll( mTemporaryLayers );
@@ -2767,7 +2727,7 @@ namespace QgsWms
27672727
QgsMapLayer *errorLayer = mProject->mapLayer( firstErrorLayerId );
27682728
if ( errorLayer )
27692729
{
2770-
layerWMSName = layerNickname( *errorLayer );
2730+
layerWMSName = mContext.layerNickname( *errorLayer );
27712731
}
27722732

27732733
//Log first error

src/server/services/wms/qgswmsrenderer.h

-7
Original file line numberDiff line numberDiff line change
@@ -128,19 +128,12 @@ namespace QgsWms
128128

129129
void initLayerGroupsRecursive( const QgsLayerTreeGroup *group, const QString &groupName );
130130

131-
// Return the nickname of the layer (short name, id or name according to
132-
// the project configuration)
133-
QString layerNickname( const QgsMapLayer &layer ) const;
134-
135131
// Rendering step for layers
136132
QPainter *layersRendering( const QgsMapSettings &mapSettings, QImage &image, HitTest *hitTest = nullptr ) const;
137133

138134
// Rendering step for annotations
139135
void annotationsRendering( QPainter *painter ) const;
140136

141-
// Return a list of layers stylized with LAYERS/STYLES parameters
142-
QList<QgsMapLayer *> stylizedLayers( const QList<QgsWmsParametersLayer> &params );
143-
144137
// Set layer opacity
145138
void setLayerOpacity( QgsMapLayer *layer, int opacity ) const;
146139

0 commit comments

Comments
 (0)