@@ -596,7 +596,19 @@ namespace QgsWms
596
596
}
597
597
else
598
598
{
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
+
600
612
layerSet << externalLayers ( cMapParams.mExternalLayers );
601
613
layerSet << highlightLayers ( cMapParams.mHighlightLayers );
602
614
std::reverse ( layerSet.begin (), layerSet.end () );
@@ -1208,7 +1220,7 @@ namespace QgsWms
1208
1220
bool queryableLayer = true ;
1209
1221
for ( QgsMapLayer *layer : layers )
1210
1222
{
1211
- if ( queryLayer == layerNickname ( *layer ) )
1223
+ if ( queryLayer == mContext . layerNickname ( *layer ) )
1212
1224
{
1213
1225
validLayer = true ;
1214
1226
queryableLayer = layer->flags ().testFlag ( QgsMapLayer::Identifiable );
@@ -1488,7 +1500,7 @@ namespace QgsWms
1488
1500
{
1489
1501
bool withGeom = layer->wkbType () != QgsWkbTypes::NoGeometry && addWktGeometry;
1490
1502
int gmlVersion = mWmsParameters .infoFormatVersion ();
1491
- QString typeName = layerNickname ( *layer );
1503
+ QString typeName = mContext . layerNickname ( *layer );
1492
1504
QDomElement elem = createFeatureGML (
1493
1505
&feature, layer, infoDocument, outputCrs, mapSettings, typeName, withGeom, gmlVersion
1494
1506
#ifdef HAVE_SERVER_PYTHON_PLUGINS
@@ -1657,7 +1669,7 @@ namespace QgsWms
1657
1669
1658
1670
QgsCoordinateReferenceSystem layerCrs = layer->crs ();
1659
1671
int gmlVersion = mWmsParameters .infoFormatVersion ();
1660
- QString typeName = layerNickname ( *layer );
1672
+ QString typeName = mContext . layerNickname ( *layer );
1661
1673
QDomElement elem = createFeatureGML (
1662
1674
&feature, nullptr , infoDocument, layerCrs, mapSettings, typeName, false , gmlVersion, nullptr );
1663
1675
layerElement.appendChild ( elem );
@@ -2101,7 +2113,7 @@ namespace QgsWms
2101
2113
QgsMapLayer *layer = nullptr ;
2102
2114
for ( QgsMapLayer *l : layers )
2103
2115
{
2104
- if ( layerNickname ( *l ).compare ( layerName ) == 0 )
2116
+ if ( mContext . layerNickname ( *l ).compare ( layerName ) == 0 )
2105
2117
{
2106
2118
layer = l;
2107
2119
}
@@ -2450,7 +2462,7 @@ namespace QgsWms
2450
2462
{
2451
2463
if ( restrictedLayersNames.contains ( layer->name () ) )
2452
2464
{
2453
- mRestrictedLayers .append ( layerNickname ( *layer->layer () ) );
2465
+ mRestrictedLayers .append ( mContext . layerNickname ( *layer->layer () ) );
2454
2466
}
2455
2467
}
2456
2468
}
@@ -2459,7 +2471,7 @@ namespace QgsWms
2459
2471
{
2460
2472
for ( QgsMapLayer *ml : mProject ->mapLayers () )
2461
2473
{
2462
- mNicknameLayers [ layerNickname ( *ml ) ] = ml;
2474
+ mNicknameLayers [ mContext . layerNickname ( *ml ) ] = ml;
2463
2475
}
2464
2476
2465
2477
// init groups
@@ -2494,7 +2506,7 @@ namespace QgsWms
2494
2506
}
2495
2507
}
2496
2508
2497
- QString QgsRenderer::layerNickname ( const QgsMapLayer &layer ) const
2509
+ /* QString QgsRenderer::layerNickname( const QgsMapLayer &layer ) const
2498
2510
{
2499
2511
QString name = layer.shortName();
2500
2512
if ( QgsServerProjectUtils::wmsUseLayerIds( *mProject ) )
@@ -2507,7 +2519,7 @@ namespace QgsWms
2507
2519
}
2508
2520
2509
2521
return name;
2510
- }
2522
+ }*/
2511
2523
2512
2524
QList<QgsMapLayer *> QgsRenderer::highlightLayers ( QList<QgsWmsParametersHighlightLayer> params )
2513
2525
{
@@ -2682,58 +2694,6 @@ namespace QgsWms
2682
2694
return layers;
2683
2695
}
2684
2696
2685
- QList<QgsMapLayer *> QgsRenderer::stylizedLayers ( const QList<QgsWmsParametersLayer> ¶ms )
2686
- {
2687
- QList<QgsMapLayer *> layers;
2688
-
2689
- for ( const QgsWmsParametersLayer ¶m : 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
-
2737
2697
void QgsRenderer::removeTemporaryLayers ()
2738
2698
{
2739
2699
qDeleteAll ( mTemporaryLayers );
@@ -2767,7 +2727,7 @@ namespace QgsWms
2767
2727
QgsMapLayer *errorLayer = mProject ->mapLayer ( firstErrorLayerId );
2768
2728
if ( errorLayer )
2769
2729
{
2770
- layerWMSName = layerNickname ( *errorLayer );
2730
+ layerWMSName = mContext . layerNickname ( *errorLayer );
2771
2731
}
2772
2732
2773
2733
// Log first error
0 commit comments