Skip to content

Commit

Permalink
Use double instead of float
Browse files Browse the repository at this point in the history
  • Loading branch information
pblottiere committed Jul 23, 2018
1 parent fe366d2 commit 93ee304
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 98 deletions.
12 changes: 6 additions & 6 deletions src/server/qgsserverparameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,24 +139,24 @@ QList<int> QgsServerParameterDefinition::toIntList( bool &ok, const char delimit
return ints;
}

QList<float> QgsServerParameterDefinition::toFloatList( bool &ok, const char delimiter ) const
QList<double> QgsServerParameterDefinition::toDoubleList( bool &ok, const char delimiter ) const
{
ok = true;
QList<float> floats;
QList<double> vals;

for ( const auto &part : toStringList( delimiter ) )
{
const float val = part.toFloat( &ok );
const double val = part.toDouble( &ok );

if ( !ok )
{
return QList<float>();
return QList<double>();
}

floats.append( val );
vals.append( val );
}

return floats;
return vals;
}

QgsRectangle QgsServerParameterDefinition::toRectangle( bool &ok ) const
Expand Down
2 changes: 1 addition & 1 deletion src/server/qgsserverparameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class SERVER_EXPORT QgsServerParameterDefinition
QString toString() const;
QStringList toStringList( char delimiter = ',' ) const;
QList<int> toIntList( bool &ok, char delimiter = ',' ) const;
QList<float> toFloatList( bool &ok, char delimiter = ',' ) const;
QList<double> toDoubleList( bool &ok, char delimiter = ',' ) const;
QList<QColor> toColorList( bool &ok, char delimiter = ',' ) const;
QList<QgsGeometry> toGeomList( bool &ok, char delimiter = ',' ) const;
QgsRectangle toRectangle( bool &ok ) const;
Expand Down
135 changes: 47 additions & 88 deletions src/server/services/wms/qgswmsparameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,10 @@ namespace QgsWms
return vals;
}

QList<float> QgsWmsParameter::toFloatList( const char delimiter ) const
QList<double> QgsWmsParameter::toDoubleList( const char delimiter ) const
{
bool ok = false;
const QList<float> vals = QgsServerParameterDefinition::toFloatList( ok, delimiter );
const QList<double> vals = QgsServerParameterDefinition::toDoubleList( ok, delimiter );

if ( !ok )
{
Expand Down Expand Up @@ -216,9 +216,7 @@ namespace QgsWms
QVariant( 2.0 ) );
save( pIcLabelSpace );

const QgsWmsParameter pItFontFamily( QgsWmsParameter::ITEMFONTFAMILY,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pItFontFamily( QgsWmsParameter::ITEMFONTFAMILY );
save( pItFontFamily );

const QgsWmsParameter pItFontBold( QgsWmsParameter::ITEMFONTBOLD,
Expand All @@ -241,74 +239,52 @@ namespace QgsWms
QVariant( "black" ) );
save( pItFontColor );

const QgsWmsParameter pHighlightGeom( QgsWmsParameter::HIGHLIGHT_GEOM,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pHighlightGeom( QgsWmsParameter::HIGHLIGHT_GEOM );
save( pHighlightGeom );

const QgsWmsParameter pShowFeatureCount( QgsWmsParameter::SHOWFEATURECOUNT,
QVariant::Bool,
QVariant( false ) );
save( pShowFeatureCount );

const QgsWmsParameter pHighlightSymbol( QgsWmsParameter::HIGHLIGHT_SYMBOL,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pHighlightSymbol( QgsWmsParameter::HIGHLIGHT_SYMBOL );
save( pHighlightSymbol );

const QgsWmsParameter pHighlightLabel( QgsWmsParameter::HIGHLIGHT_LABELSTRING,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pHighlightLabel( QgsWmsParameter::HIGHLIGHT_LABELSTRING );
save( pHighlightLabel );

const QgsWmsParameter pHighlightColor( QgsWmsParameter::HIGHLIGHT_LABELCOLOR,
QVariant::String,
QVariant( "black" ) );
save( pHighlightColor );

const QgsWmsParameter pHighlightFontSize( QgsWmsParameter::HIGHLIGHT_LABELSIZE,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pHighlightFontSize( QgsWmsParameter::HIGHLIGHT_LABELSIZE );
save( pHighlightFontSize );

const QgsWmsParameter pHighlightFontWeight( QgsWmsParameter::HIGHLIGHT_LABELWEIGHT,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pHighlightFontWeight( QgsWmsParameter::HIGHLIGHT_LABELWEIGHT );
save( pHighlightFontWeight );

const QgsWmsParameter pHighlightFont( QgsWmsParameter::HIGHLIGHT_LABELFONT,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pHighlightFont( QgsWmsParameter::HIGHLIGHT_LABELFONT );
save( pHighlightFont );

const QgsWmsParameter pHighlightBufferColor( QgsWmsParameter::HIGHLIGHT_LABELBUFFERCOLOR,
QVariant::String,
QVariant( "black" ) );
save( pHighlightBufferColor );

const QgsWmsParameter pHighlightBufferSize( QgsWmsParameter::HIGHLIGHT_LABELBUFFERSIZE,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pHighlightBufferSize( QgsWmsParameter::HIGHLIGHT_LABELBUFFERSIZE );
save( pHighlightBufferSize );

const QgsWmsParameter pCRS( QgsWmsParameter::CRS,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pCRS( QgsWmsParameter::CRS );
save( pCRS );

const QgsWmsParameter pSRS( QgsWmsParameter::SRS,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pSRS( QgsWmsParameter::SRS );
save( pSRS );

const QgsWmsParameter pFormat( QgsWmsParameter::FORMAT,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pFormat( QgsWmsParameter::FORMAT );
save( pFormat );

const QgsWmsParameter pInfoFormat( QgsWmsParameter::INFO_FORMAT,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pInfoFormat( QgsWmsParameter::INFO_FORMAT );
save( pInfoFormat );

const QgsWmsParameter pI( QgsWmsParameter::I,
Expand All @@ -331,9 +307,7 @@ namespace QgsWms
QVariant( -1 ) );
save( pY );

const QgsWmsParameter pRule( QgsWmsParameter::RULE,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pRule( QgsWmsParameter::RULE );
save( pRule );

const QgsWmsParameter pRuleLabel( QgsWmsParameter::RULELABEL,
Expand All @@ -356,29 +330,19 @@ namespace QgsWms
QVariant( 0 ) );
save( pWidth );

const QgsWmsParameter pBbox( QgsWmsParameter::BBOX,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pBbox( QgsWmsParameter::BBOX );
save( pBbox );

const QgsWmsParameter pSld( QgsWmsParameter::SLD,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pSld( QgsWmsParameter::SLD );
save( pSld );

const QgsWmsParameter pLayer( QgsWmsParameter::LAYER,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pLayer( QgsWmsParameter::LAYER );
save( pLayer );

const QgsWmsParameter pLayers( QgsWmsParameter::LAYERS,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pLayers( QgsWmsParameter::LAYERS );
save( pLayers );

const QgsWmsParameter pQueryLayers( QgsWmsParameter::QUERY_LAYERS,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pQueryLayers( QgsWmsParameter::QUERY_LAYERS );
save( pQueryLayers );

const QgsWmsParameter pFeatureCount( QgsWmsParameter::FEATURE_COUNT,
Expand All @@ -391,9 +355,7 @@ namespace QgsWms
QVariant( true ) );
save( pLayerTitle );

const QgsWmsParameter pLayerFtFamily( QgsWmsParameter::LAYERFONTFAMILY,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pLayerFtFamily( QgsWmsParameter::LAYERFONTFAMILY );
save( pLayerFtFamily );

const QgsWmsParameter pLayerFtBold( QgsWmsParameter::LAYERFONTBOLD,
Expand All @@ -416,34 +378,22 @@ namespace QgsWms
QVariant( "black" ) );
save( pLayerFtColor );

const QgsWmsParameter pStyle( QgsWmsParameter::STYLE,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pStyle( QgsWmsParameter::STYLE );
save( pStyle );

const QgsWmsParameter pStyles( QgsWmsParameter::STYLES,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pStyles( QgsWmsParameter::STYLES );
save( pStyles );

const QgsWmsParameter pOpacities( QgsWmsParameter::OPACITIES,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pOpacities( QgsWmsParameter::OPACITIES );
save( pOpacities );

const QgsWmsParameter pFilter( QgsWmsParameter::FILTER,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pFilter( QgsWmsParameter::FILTER );
save( pFilter );

const QgsWmsParameter pFilterGeom( QgsWmsParameter::FILTER_GEOM,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pFilterGeom( QgsWmsParameter::FILTER_GEOM );
save( pFilterGeom );

const QgsWmsParameter pSelection( QgsWmsParameter::SELECTION,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pSelection( QgsWmsParameter::SELECTION );
save( pSelection );

const QgsWmsParameter pWmsPrecision( QgsWmsParameter::WMS_PRECISION,
Expand All @@ -466,14 +416,10 @@ namespace QgsWms
QVariant( -1 ) );
save( pDpi );

const QgsWmsParameter pTemplate( QgsWmsParameter::TEMPLATE,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pTemplate( QgsWmsParameter::TEMPLATE );
save( pTemplate );

const QgsWmsParameter pExtent( QgsWmsParameter::EXTENT,
QVariant::String,
QVariant( "" ) );
const QgsWmsParameter pExtent( QgsWmsParameter::EXTENT );
save( pExtent );

const QgsWmsParameter pRotation( QgsWmsParameter::ROTATION,
Expand All @@ -500,6 +446,9 @@ namespace QgsWms
QVariant::Bool,
QVariant( false ) );
save( pWithMapTip );

const QgsWmsParameter pWmtver( QgsWmsParameter::WMTVER );
save( pWmtver );
}

QgsWmsParameters::QgsWmsParameters( const QgsServerParameters &parameters )
Expand Down Expand Up @@ -697,6 +646,11 @@ namespace QgsWms
return version;
}

bool QgsWmsParameters::versionIsValid( const QString version ) const
{
return mVersions.contains( QgsProjectVersion( version ) );
}

QString QgsWmsParameters::formatAsString() const
{
return mWmsParameters[ QgsWmsParameter::FORMAT ].toString();
Expand Down Expand Up @@ -1132,9 +1086,9 @@ namespace QgsWms
return mWmsParameters[ QgsWmsParameter::HIGHLIGHT_LABELBUFFERSIZE ].toStringList( ';' );
}

QList<float> QgsWmsParameters::highlightLabelBufferSizeAsFloat() const
QList<double> QgsWmsParameters::highlightLabelBufferSizeAsFloat() const
{
return mWmsParameters[ QgsWmsParameter::HIGHLIGHT_LABELBUFFERSIZE ].toFloatList( ';' );
return mWmsParameters[ QgsWmsParameter::HIGHLIGHT_LABELBUFFERSIZE ].toDoubleList( ';' );
}

QString QgsWmsParameters::wmsPrecision() const
Expand Down Expand Up @@ -1326,7 +1280,7 @@ namespace QgsWms
QList<int> weights = highlightLabelWeightAsInt();
QStringList fonts = highlightLabelFont();
QList<QColor> bufferColors = highlightLabelBufferColorAsColor();
QList<float> bufferSizes = highlightLabelBufferSizeAsFloat();
QList<double> bufferSizes = highlightLabelBufferSizeAsFloat();

int nLayers = std::min( geoms.size(), slds.size() );
for ( int i = 0; i < nLayers; i++ )
Expand Down Expand Up @@ -1535,11 +1489,11 @@ namespace QgsWms
bufferColors = wmsParam.toColorList( ';' );
}

QList<float> bufferSizes;
QList<double> bufferSizes;
wmsParam = idParameter( QgsWmsParameter::HIGHLIGHT_LABELBUFFERSIZE, mapId );
if ( wmsParam.isValid() )
{
bufferSizes = wmsParam.toFloatList( ';' );
bufferSizes = wmsParam.toDoubleList( ';' );
}

int nHLayers = std::min( geoms.size(), slds.size() );
Expand Down Expand Up @@ -1605,6 +1559,11 @@ namespace QgsWms
return mWmsParameters[ QgsWmsParameter::WITH_MAPTIP ].toBool();
}

QString QgsWmsParameters::wmtver() const
{
return mWmsParameters[ QgsWmsParameter::WMTVER ].toString();
}

void QgsWmsParameters::log( const QString &msg ) const
{
QgsMessageLog::logMessage( msg, QStringLiteral( "Server" ), Qgis::Info );
Expand Down
11 changes: 8 additions & 3 deletions src/server/services/wms/qgswmsparameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,8 @@ namespace QgsWms
GRID_INTERVAL_X,
GRID_INTERVAL_Y,
WITH_GEOMETRY,
WITH_MAPTIP
WITH_MAPTIP,
WMTVER
};
Q_ENUM( Name )

Expand All @@ -159,7 +160,7 @@ namespace QgsWms

QList<QgsGeometry> toGeomList( const char delimiter = ',' ) const;
QList<int> toIntList( const char delimiter = ',' ) const;
QList<float> toFloatList( const char delimiter = ',' ) const;
QList<double> toDoubleList( const char delimiter = ',' ) const;
QList<QColor> toColorList( const char delimiter = ',' ) const;
QgsRectangle toRectangle() const;
int toInt() const;
Expand Down Expand Up @@ -266,6 +267,8 @@ namespace QgsWms
*/
QgsProjectVersion versionAsNumber() const;

bool versionIsValid( const QString version ) const;

/**
* Returns BBOX if defined or an empty string.
* \returns bbox parameter
Expand Down Expand Up @@ -856,7 +859,7 @@ namespace QgsWms
* \returns highlight label buffer size
* \throws QgsBadRequestException
*/
QList<float> highlightLabelBufferSizeAsFloat() const;
QList<double> highlightLabelBufferSizeAsFloat() const;

/**
* Returns HIGHLIGHT_LABELBUFFERCOLOR as a list of string.
Expand Down Expand Up @@ -968,6 +971,8 @@ namespace QgsWms
*/
bool withMapTip() const;

QString wmtver() const;

private:
bool loadParameter( const QPair<QString, QString> &parameter ) override;

Expand Down

0 comments on commit 93ee304

Please sign in to comment.