Skip to content

Commit c1c92a6

Browse files
committed
Returns only defined parameters in toMap()
1 parent bbf7a78 commit c1c92a6

2 files changed

Lines changed: 18 additions & 9 deletions

File tree

src/server/qgsserverparameters.cpp

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,40 @@ QgsServerParameters::QgsServerParameters()
2323
const Parameter pService = { ParameterName::SERVICE,
2424
QVariant::String,
2525
QVariant( "" ),
26-
QVariant()
26+
QVariant(),
27+
false
2728
};
2829
save( pService );
2930

3031
const Parameter pRequest = { ParameterName::REQUEST,
3132
QVariant::String,
3233
QVariant( "" ),
33-
QVariant()
34+
QVariant(),
35+
false
3436
};
3537
save( pRequest );
3638

3739
const Parameter pVersion = { ParameterName::VERSION_SERVICE,
3840
QVariant::String,
3941
QVariant( "" ),
40-
QVariant()
42+
QVariant(),
43+
false
4144
};
42-
save( pService );
45+
save( pVersion );
4346

4447
const Parameter pMap = { ParameterName::MAP,
4548
QVariant::String,
4649
QVariant( "" ),
47-
QVariant()
50+
QVariant(),
51+
false
4852
};
4953
save( pMap );
5054

5155
const Parameter pFile = { ParameterName::FILE_NAME,
5256
QVariant::String,
5357
QVariant( "" ),
54-
QVariant()
58+
QVariant(),
59+
false
5560
};
5661
save( pFile );
5762
}
@@ -142,8 +147,11 @@ QMap<QString, QString> QgsServerParameters::toMap() const
142147

143148
for ( auto parameter : mParameters.toStdMap() )
144149
{
145-
const QString name = metaEnum.valueToKey( parameter.first );
146-
params[name] = parameter.second.mValue.toString();
150+
if ( ! parameter.second.mDefined )
151+
continue;
152+
153+
const QString paramName = name( parameter.first );
154+
params[paramName] = parameter.second.mValue.toString();
147155
}
148156

149157
return params;
@@ -180,7 +188,7 @@ void QgsServerParameters::load( const QUrlQuery &query )
180188
{
181189
const QVariant value( item.second );
182190
mParameters[paramName].mValue = value;
183-
191+
mParameters[paramName].mDefined = true;
184192
if ( !value.canConvert( mParameters[paramName].mType ) )
185193
{
186194
raiseError( paramName );

src/server/qgsserverparameters.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class SERVER_EXPORT QgsServerParameters
5050
QVariant::Type mType;
5151
QVariant mDefaultValue;
5252
QVariant mValue;
53+
bool mDefined;
5354
};
5455

5556
/**

0 commit comments

Comments
 (0)