From 6feca53278c8c0136df17428c42494dbaa387bd8 Mon Sep 17 00:00:00 2001 From: rldhont Date: Thu, 25 May 2017 15:35:42 +0200 Subject: [PATCH] [Server] Fix QgsServerProjectUtils readListEntry --- src/server/qgsserverprojectutils.cpp | 29 +++++++++++++++++-- .../qgis_server/wcs_getcapabilities.txt | 3 -- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/server/qgsserverprojectutils.cpp b/src/server/qgsserverprojectutils.cpp index 00e33f90395..c85fc75ec77 100644 --- a/src/server/qgsserverprojectutils.cpp +++ b/src/server/qgsserverprojectutils.cpp @@ -34,7 +34,20 @@ QString QgsServerProjectUtils::owsServiceAbstract( const QgsProject &project ) QStringList QgsServerProjectUtils::owsServiceKeywords( const QgsProject &project ) { - return project.readListEntry( QStringLiteral( "WMSKeywordList" ), QStringLiteral( "/" ) ); + QStringList keywordList; + QStringList list = project.readListEntry( QStringLiteral( "WMSKeywordList" ), QStringLiteral( "/" ), QStringList() ); + if ( !list.isEmpty() ) + { + for ( int i = 0; i < list.size(); ++i ) + { + QString keyword = list.at( i ); + if ( !keyword.isEmpty() ) + { + keywordList.append( keyword ); + } + } + } + return keywordList; } QString QgsServerProjectUtils::owsServiceOnlineResource( const QgsProject &project ) @@ -141,7 +154,19 @@ QStringList QgsServerProjectUtils::wmsRestrictedComposers( const QgsProject &pro QStringList QgsServerProjectUtils::wmsOutputCrsList( const QgsProject &project ) { - QStringList crsList = project.readListEntry( QStringLiteral( "WMSCrsList" ), QStringLiteral( "/" ), QStringList() ); + QStringList crsList; + QStringList wmsCrsList = project.readListEntry( QStringLiteral( "WMSCrsList" ), QStringLiteral( "/" ), QStringList() ); + if ( !wmsCrsList.isEmpty() ) + { + for ( int i = 0; i < wmsCrsList.size(); ++i ) + { + QString crs = wmsCrsList.at( i ); + if ( !crs.isEmpty() ) + { + crsList.append( crs ); + } + } + } if ( crsList.isEmpty() ) { QStringList valueList = project.readListEntry( QStringLiteral( "WMSEpsgList" ), QStringLiteral( "/" ), QStringList() ); diff --git a/tests/testdata/qgis_server/wcs_getcapabilities.txt b/tests/testdata/qgis_server/wcs_getcapabilities.txt index 90582f64e6a..c2ee3d0fb81 100644 --- a/tests/testdata/qgis_server/wcs_getcapabilities.txt +++ b/tests/testdata/qgis_server/wcs_getcapabilities.txt @@ -6,9 +6,6 @@ Content-Type: text/xml; charset=utf-8 WCS - - - Stéphane Brunner QGIS