Skip to content

Commit 500c5c1

Browse files
ismailsunninyalldawson
authored andcommittedSep 12, 2017
Simplify getLayers method for geonode client.
1 parent bdc3d36 commit 500c5c1

File tree

5 files changed

+24
-30
lines changed

5 files changed

+24
-30
lines changed
 

‎python/core/geonode/qgsgeonoderequest.sip

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,7 @@ class QgsGeoNodeRequest : QObject
3939
:rtype: bool
4040
%End
4141

42-
bool getLayers();
43-
%Docstring
44-
:rtype: bool
45-
%End
46-
47-
QList<QgsServiceLayerDetail> parseLayers( QByteArray layerResponse );
42+
QList<QgsServiceLayerDetail> getLayers();
4843
%Docstring
4944
:rtype: list of QgsServiceLayerDetail
5045
%End

‎src/core/geonode/qgsgeonoderequest.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,15 @@ void QgsGeoNodeRequest::abort()
5959
}
6060
}
6161

62-
bool QgsGeoNodeRequest::getLayers()
62+
QList<QgsServiceLayerDetail> QgsGeoNodeRequest::getLayers()
6363
{
64-
return request( QStringLiteral( "/api/layers/" ) );
64+
QList<QgsServiceLayerDetail> layers;
65+
bool success = request( QStringLiteral( "/api/layers/" ) );
66+
if ( !success )
67+
{
68+
return layers;
69+
}
70+
return parseLayers( this->response() );
6571
}
6672

6773
void QgsGeoNodeRequest::replyProgress( qint64 bytesReceived, qint64 bytesTotal )
@@ -83,7 +89,6 @@ void QgsGeoNodeRequest::setProtocol( const QString &protocol )
8389
mProtocol = protocol;
8490
}
8591

86-
8792
void QgsGeoNodeRequest::replyFinished()
8893
{
8994
QgsMessageLog::logMessage( QStringLiteral( "Reply finished" ), tr( "GeoNode" ) );
@@ -293,19 +298,17 @@ QList<QgsServiceLayerDetail> QgsGeoNodeRequest::parseLayers( QByteArray layerRes
293298
return layers;
294299
}
295300

296-
297301
QStringList QgsGeoNodeRequest::serviceUrls( QString serviceType )
298302
{
299303
QStringList urls;
300-
bool success = getLayers();
301304

302-
if ( !success )
305+
QList<QgsServiceLayerDetail> layers = getLayers();
306+
307+
if ( layers.empty() )
303308
{
304309
return urls;
305310
}
306311

307-
QList<QgsServiceLayerDetail> layers = parseLayers( this->response() );
308-
309312
Q_FOREACH ( QgsServiceLayerDetail layer, layers )
310313
{
311314
QString url;
@@ -339,17 +342,16 @@ QStringList QgsGeoNodeRequest::serviceUrls( QString serviceType )
339342
return urls;
340343
}
341344

342-
343345
QgsStringMap QgsGeoNodeRequest::serviceUrlData( QString serviceType )
344346
{
345347
QgsStringMap urls;
346-
bool success = getLayers();
347348

348-
if ( !success )
349+
QList<QgsServiceLayerDetail> layers = getLayers();
350+
351+
if ( layers.empty() )
349352
{
350353
return urls;
351354
}
352-
QList<QgsServiceLayerDetail> layers = parseLayers( this->response() );
353355

354356
Q_FOREACH ( QgsServiceLayerDetail layer, layers )
355357
{
@@ -386,7 +388,6 @@ QgsStringMap QgsGeoNodeRequest::serviceUrlData( QString serviceType )
386388
return urls;
387389
}
388390

389-
390391
bool QgsGeoNodeRequest::request( QString endPoint )
391392
{
392393
abort();

‎src/core/geonode/qgsgeonoderequest.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ class CORE_EXPORT QgsGeoNodeRequest : public QObject
4949

5050
bool request( QString endPoint );
5151

52-
bool getLayers();
53-
54-
QList<QgsServiceLayerDetail> parseLayers( QByteArray layerResponse );
52+
QList<QgsServiceLayerDetail> getLayers();
5553

5654
// Obtain list of unique URL in the geonode
5755
QStringList serviceUrls( QString serviceType );
@@ -71,6 +69,9 @@ class CORE_EXPORT QgsGeoNodeRequest : public QObject
7169
QString getProtocol() const;
7270
void setProtocol( const QString &protocol );
7371

72+
private:
73+
QList<QgsServiceLayerDetail> parseLayers( QByteArray layerResponse );
74+
7475
signals:
7576
//! \brief emit a signal to be caught by qgisapp and display a statusQString on status bar
7677
void statusChanged( const QString &statusQString );

‎src/gui/geonode/qgsgeonodenewconnection.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,11 @@ void QgsGeoNodeNewConnection::testConnection()
248248
QApplication::setOverrideCursor( Qt::BusyCursor );
249249
QString url = txtUrl->text();
250250
QgsGeoNodeRequest geonodeRequest( url, true );
251-
bool success = geonodeRequest.getLayers();
251+
252+
QList<QgsServiceLayerDetail> layers = geonodeRequest.getLayers();
252253
QApplication::restoreOverrideCursor();
253254

254-
if ( success )
255+
if ( !layers.empty() )
255256
{
256257
QMessageBox::information( this,
257258
tr( "Test connection" ),

‎src/gui/geonode/qgsgeonodesourceselect.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,10 @@ void QgsGeoNodeSourceSelect::connectToGeonodeConnection()
194194
QgsGeoNodeRequest geonodeRequest( url, true );
195195

196196
QApplication::setOverrideCursor( Qt::WaitCursor );
197-
bool success = geonodeRequest.getLayers();
197+
QList<QgsServiceLayerDetail> layers = geonodeRequest.getLayers();
198198
QApplication::restoreOverrideCursor();
199199

200-
if ( success )
200+
if ( !layers.empty() )
201201
{
202202
QgsMessageLog::logMessage( QStringLiteral( "Success" ), tr( "GeoNode" ) );
203203
}
@@ -206,10 +206,6 @@ void QgsGeoNodeSourceSelect::connectToGeonodeConnection()
206206
QgsMessageLog::logMessage( QStringLiteral( "Failed" ), tr( "GeoNode" ) );
207207
}
208208

209-
QByteArray ba = geonodeRequest.response();
210-
211-
QList<QgsServiceLayerDetail> layers = geonodeRequest.parseLayers( ba );
212-
213209
if ( mModel )
214210
{
215211
mModel->removeRows( 0, mModel->rowCount() );

0 commit comments

Comments
 (0)