Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
remove dead code, fix comment, fixes from review
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
  • Loading branch information
benoitdm-oslandia and nyalldawson committed Dec 2, 2021
1 parent c4eb0f1 commit 61519ec
Show file tree
Hide file tree
Showing 12 changed files with 155 additions and 72 deletions.
20 changes: 9 additions & 11 deletions python/core/auto_generated/network/qgshttpheaders.sip.in
Expand Up @@ -14,19 +14,18 @@ class QgsHttpHeaders
%Docstring(signature="appended")
This class implements simple http header management.

.. versionadded:: 3.22
.. versionadded:: 3.24
%End

%TypeHeaderCode
#include "qgshttpheaders.h"
%End
public:

static const QString KEY_PREFIX;

QgsHttpHeaders( const QMap<QString, QVariant> &headers );
%Docstring
constructor from map
Constructor from map

:param headers:
%End
Expand All @@ -38,7 +37,7 @@ default constructor

QgsHttpHeaders( const QgsSettings &settings, const QString &key = QString() );
%Docstring
constructor from ``:py:class:`QgsSettings```
Constructor from :py:class:`QgsSettings` ``settings`` object

:param settings:
:param key:
Expand All @@ -48,35 +47,34 @@ constructor from ``:py:class:`QgsSettings```

bool updateNetworkRequest( QNetworkRequest &request ) const;
%Docstring
update the ``request`` by adding all the http headers
Updates a ``request`` by adding all the HTTP headers

:param request:

:return: true if the update succeed
:return: ``True`` if the update succeed
%End

void updateSettings( QgsSettings &settings, const QString &key = QString() ) const;
%Docstring
update the ``settings`` by adding all the http headers in the path "key/KEY_PREFIX/"
Updates the ``settings`` by adding all the http headers in the path "key/KEY_PREFIX/"

:param settings:
:param key: sub group path
%End

void setFromSettings( const QgsSettings &settings, const QString &key = QString() );
%Docstring
loads headers from the ``settings``
Loads headers from the ``settings``

:param settings:
:param key: sub group path
%End

QVariant &operator[]( const QString &key );


QList<QString> keys() const;
%Docstring

:return: the list of all http header key
:return: the list of all http header keys
%End


Expand Down
Expand Up @@ -32,9 +32,10 @@ Utility functions for working with ArcGIS REST services.
ImageService,
};

static QVariantMap retrieveUserInfo( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle /Out/, QString &errorText /Out/, const QgsHttpHeaders &requestHeaders = QgsHttpHeaders(), QgsFeedback *feedback = 0 );

static QVariantMap retrieveUserInfo( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle /Out/, QString &errorText /Out/, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = 0 );
%Docstring
Retrieves JSON user info for the specified user name.
Retrieves JSON user info for the specified user name. Only to avoid API break.

If ``user`` is blank then the user associated with the current logon details will be retrieved

Expand All @@ -49,9 +50,9 @@ If ``user`` is blank then the user associated with the current logon details wil
- errorText: error text of any encountered errors
%End

static QVariantList retrieveUserGroups( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle /Out/, QString &errorText /Out/, const QgsHttpHeaders &requestHeaders = QgsHttpHeaders(), QgsFeedback *feedback = 0 );
static QVariantList retrieveUserGroups( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle /Out/, QString &errorText /Out/, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = 0 );
%Docstring
Retrieves JSON definitions for all groups which the specified user name is a member of.
Retrieves JSON definitions for all groups which the specified user name is a member of. Only to avoid API break.

If ``user`` is blank then the user associated with the current logon details will be retrieved

Expand All @@ -66,9 +67,9 @@ If ``user`` is blank then the user associated with the current logon details wil
- errorText: error text of any encountered errors
%End

static QVariantList retrieveGroupContent( const QString &contentUrl, const QString &groupId, const QString &authcfg, QString &errorTitle /Out/, QString &errorText /Out/, const QgsHttpHeaders &requestHeaders = QgsHttpHeaders(), QgsFeedback *feedback = 0, int pageSize = 100 );
static QVariantList retrieveGroupContent( const QString &contentUrl, const QString &groupId, const QString &authcfg, QString &errorTitle /Out/, QString &errorText /Out/, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = 0, int pageSize = 100 );
%Docstring
Retrieves JSON definitions for all items which belong the the specified ``groupId``.
Retrieves JSON definitions for all items which belong the the specified ``groupId``. Only to avoid API break.

:param contentUrl: should be set to the Portal's content URL, e.g. https://mysite.com/portal/sharing/rest/content
:param groupId: ID of group to query
Expand All @@ -84,9 +85,9 @@ Retrieves JSON definitions for all items which belong the the specified ``groupI

static QVariantList retrieveGroupItemsOfType( const QString &contentUrl, const QString &groupId, const QString &authcfg,
const QList< int > &itemTypes,
QString &errorTitle /Out/, QString &errorText /Out/, const QgsHttpHeaders &requestHeaders = QgsHttpHeaders(), QgsFeedback *feedback = 0, int pageSize = 100 );
QString &errorTitle /Out/, QString &errorText /Out/, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = 0, int pageSize = 100 );
%Docstring
Retrieves JSON definitions for all items which belong the the specified ``groupId``.
Retrieves JSON definitions for all items which belong the the specified ``groupId``. Only to avoid API break.

:param contentUrl: should be set to the Portal's content URL, e.g. https://mysite.com/portal/sharing/rest/content
:param groupId: ID of group to query
Expand Down
2 changes: 1 addition & 1 deletion python/gui/auto_generated/qgshttpheaderwidget.sip.in
Expand Up @@ -15,7 +15,7 @@ class QgsHttpHeaderWidget : QWidget
%Docstring(signature="appended")
Display referer http header field and collapsible table of key/value pairs

.. versionadded:: 3.22
.. versionadded:: 3.24
%End

%TypeHeaderCode
Expand Down
20 changes: 10 additions & 10 deletions src/core/network/qgshttpheaders.cpp
Expand Up @@ -26,14 +26,11 @@

const QString QgsHttpHeaders::KEY_PREFIX = "http-header/";

QgsHttpHeaders::QgsHttpHeaders()
{
// nope
}
QgsHttpHeaders::QgsHttpHeaders() = default;

QgsHttpHeaders::QgsHttpHeaders( const QMap<QString, QVariant> &hdrs )
QgsHttpHeaders::QgsHttpHeaders( const QMap<QString, QVariant> &headers )
: mHeaders( headers )
{
mHeaders = hdrs;
mHeaders.detach(); // clone like
}

Expand All @@ -42,10 +39,7 @@ QgsHttpHeaders::QgsHttpHeaders( const QgsSettings &settings, const QString &key
setFromSettings( settings, key );
}

QgsHttpHeaders::~QgsHttpHeaders()
{
// nope
}
QgsHttpHeaders::~QgsHttpHeaders() = default;

bool QgsHttpHeaders::updateNetworkRequest( QNetworkRequest &request ) const
{
Expand Down Expand Up @@ -105,6 +99,12 @@ const QVariant QgsHttpHeaders::operator[]( const QString &key ) const
return mHeaders[key];
}

QgsHttpHeaders &QgsHttpHeaders::operator = ( const QMap<QString, QVariant> &headers )
{
mHeaders = headers;
return *this;
}

QList<QString> QgsHttpHeaders::keys() const
{
return mHeaders.keys();
Expand Down
24 changes: 14 additions & 10 deletions src/core/network/qgshttpheaders.h
Expand Up @@ -30,19 +30,22 @@
/**
* \ingroup core
* \brief This class implements simple http header management.
* \since QGIS 3.22
* \since QGIS 3.24
*/
class CORE_EXPORT QgsHttpHeaders
{
public:

#ifndef SIP_RUN

/**
* used in settings
* Used in settings
*/
static const QString KEY_PREFIX;
#endif

/**
* \brief constructor from map
* \brief Constructor from map
* \param headers
*/
QgsHttpHeaders( const QMap<QString, QVariant> &headers );
Expand All @@ -53,7 +56,7 @@ class CORE_EXPORT QgsHttpHeaders
QgsHttpHeaders();

/**
* \brief constructor from \a QgsSettings
* \brief Constructor from QgsSettings \a settings object
* \param settings
* \param key
*/
Expand All @@ -62,21 +65,20 @@ class CORE_EXPORT QgsHttpHeaders
virtual ~QgsHttpHeaders();

/**
* \brief update the \a request by adding all the http headers
* \param request
* \return true if the update succeed
* \brief Updates a \a request by adding all the HTTP headers
* \return TRUE if the update succeed
*/
bool updateNetworkRequest( QNetworkRequest &request ) const;

/**
* \brief update the \a settings by adding all the http headers in the path "key/KEY_PREFIX/"
* \brief Updates the \a settings by adding all the http headers in the path "key/KEY_PREFIX/"
* \param settings
* \param key sub group path
*/
void updateSettings( QgsSettings &settings, const QString &key = QString() ) const;

/**
* \brief loads headers from the \a settings
* \brief Loads headers from the \a settings
* \param settings
* \param key sub group path
*/
Expand All @@ -88,8 +90,10 @@ class CORE_EXPORT QgsHttpHeaders
*/
QVariant &operator[]( const QString &key );

QgsHttpHeaders &operator = ( const QMap<QString, QVariant> &headers ) SIP_SKIP;

/**
* \return the list of all http header key
* \return the list of all http header keys
*/
QList<QString> keys() const;

Expand Down
21 changes: 21 additions & 0 deletions src/core/providers/arcgis/qgsarcgisportalutils.cpp
Expand Up @@ -38,12 +38,22 @@ QVariantMap QgsArcGisPortalUtils::retrieveUserInfo( const QString &communityUrl,
return QgsArcGisRestQueryUtils::queryServiceJSON( queryUrl, authcfg, errorTitle, errorText, requestHeaders, feedback );
}

QVariantMap QgsArcGisPortalUtils::retrieveUserInfo( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle, QString &errorText, const QMap< QString, QVariant > &requestHeaders, QgsFeedback *feedback )
{
return QgsArcGisPortalUtils::retrieveUserInfo( communityUrl, user, authcfg, errorTitle, errorText, QgsHttpHeaders( requestHeaders ), feedback );
}

QVariantList QgsArcGisPortalUtils::retrieveUserGroups( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders, QgsFeedback *feedback )
{
const QVariantMap info = retrieveUserInfo( communityUrl, user, authcfg, errorTitle, errorText, requestHeaders, feedback );
return info.value( QStringLiteral( "groups" ) ).toList();
}

QVariantList QgsArcGisPortalUtils::retrieveUserGroups( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle, QString &errorText, const QMap< QString, QVariant > &requestHeaders, QgsFeedback *feedback )
{
return QgsArcGisPortalUtils::retrieveUserGroups( communityUrl, user, authcfg, errorTitle, errorText, QgsHttpHeaders( requestHeaders ), feedback );
}

QVariantList QgsArcGisPortalUtils::retrieveGroupContent( const QString &contentUrl, const QString &groupId, const QString &authcfg, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders, QgsFeedback *feedback, int pageSize )
{
QString endPoint = contentUrl;
Expand Down Expand Up @@ -81,6 +91,11 @@ QVariantList QgsArcGisPortalUtils::retrieveGroupContent( const QString &contentU
return items;
}

QVariantList QgsArcGisPortalUtils::retrieveGroupContent( const QString &contentUrl, const QString &groupId, const QString &authcfg, QString &errorTitle, QString &errorText, const QMap< QString, QVariant > &requestHeaders, QgsFeedback *feedback, int pageSize )
{
return QgsArcGisPortalUtils::retrieveGroupContent( contentUrl, groupId, authcfg, errorTitle, errorText, QgsHttpHeaders( requestHeaders ), feedback, pageSize );
}

QVariantList QgsArcGisPortalUtils::retrieveGroupItemsOfType( const QString &contentUrl, const QString &groupId, const QString &authcfg, const QList<int> &itemTypes, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders, QgsFeedback *feedback, int pageSize )
{
const QVariantList items = retrieveGroupContent( contentUrl, groupId, authcfg, errorTitle, errorText, requestHeaders, feedback, pageSize );
Expand All @@ -104,6 +119,12 @@ QVariantList QgsArcGisPortalUtils::retrieveGroupItemsOfType( const QString &cont
return result;
}

QVariantList QgsArcGisPortalUtils::retrieveGroupItemsOfType( const QString &contentUrl, const QString &groupId, const QString &authcfg, const QList<int> &itemTypes, QString &errorTitle, QString &errorText, const QMap< QString, QVariant > &requestHeaders, QgsFeedback *feedback, int pageSize )
{
return QgsArcGisPortalUtils::retrieveGroupItemsOfType( contentUrl, groupId, authcfg, itemTypes, errorTitle, errorText, QgsHttpHeaders( requestHeaders ), feedback, pageSize );
}


QString QgsArcGisPortalUtils::typeToString( QgsArcGisPortalUtils::ItemType type )
{
switch ( type )
Expand Down
73 changes: 73 additions & 0 deletions src/core/providers/arcgis/qgsarcgisportalutils.h
Expand Up @@ -47,6 +47,8 @@ class CORE_EXPORT QgsArcGisPortalUtils
ImageService, //!< ArcGIS Server image service
};

#ifndef SIP_RUN

/**
* Retrieves JSON user info for the specified user name.
*
Expand Down Expand Up @@ -116,6 +118,77 @@ class CORE_EXPORT QgsArcGisPortalUtils
const QList< int > &itemTypes,
QString &errorTitle SIP_OUT, QString &errorText SIP_OUT, const QgsHttpHeaders &requestHeaders = QgsHttpHeaders(), QgsFeedback *feedback = nullptr, int pageSize = 100 );

#endif

/**
* Retrieves JSON user info for the specified user name. Only to avoid API break.
*
* If \a user is blank then the user associated with the current logon details will be retrieved
*
* \param communityUrl should be set to the Portal's community URL, e.g. https://mysite.com/portal/sharing/rest/community/
* \param user username to query, or an empty string to query the current user
* \param authcfg authentication configuration ID
* \param errorTitle title summary of any encountered errors
* \param errorText error text of any encountered errors
* \param requestHeaders optional additional request headers
* \param feedback optional feedback argument for cancellation support
*
* \returns JSON user info
*/
static QVariantMap retrieveUserInfo( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle SIP_OUT, QString &errorText SIP_OUT, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = nullptr );

/**
* Retrieves JSON definitions for all groups which the specified user name is a member of. Only to avoid API break.
*
* If \a user is blank then the user associated with the current logon details will be retrieved
*
* \param communityUrl should be set to the Portal's community URL, e.g. https://mysite.com/portal/sharing/rest/community/
* \param user username to query, or an empty string to query the current user
* \param authcfg authentication configuration ID
* \param errorTitle title summary of any encountered errors
* \param errorText error text of any encountered errors
* \param requestHeaders optional additional request headers
* \param feedback optional feedback argument for cancellation support
*
* \returns a list of JSON group info
*/
static QVariantList retrieveUserGroups( const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle SIP_OUT, QString &errorText SIP_OUT, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = nullptr );

/**
* Retrieves JSON definitions for all items which belong the the specified \a groupId. Only to avoid API break.
*
* \param contentUrl should be set to the Portal's content URL, e.g. https://mysite.com/portal/sharing/rest/content/
* \param groupId ID of group to query
* \param authcfg authentication configuration ID
* \param errorTitle title summary of any encountered errors
* \param errorText error text of any encountered errors
* \param requestHeaders optional additional request headers
* \param feedback optional feedback argument for cancellation support
* \param pageSize number of results to retrieve for each request. Maximum value is 100.
*
* \returns a list of JSON item info for all items within the group
*/
static QVariantList retrieveGroupContent( const QString &contentUrl, const QString &groupId, const QString &authcfg, QString &errorTitle SIP_OUT, QString &errorText SIP_OUT, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = nullptr, int pageSize = 100 );

/**
* Retrieves JSON definitions for all items which belong the the specified \a groupId. Only to avoid API break.
*
* \param contentUrl should be set to the Portal's content URL, e.g. https://mysite.com/portal/sharing/rest/content/
* \param groupId ID of group to query
* \param authcfg authentication configuration ID
* \param itemTypes list of desired item types (using QgsArcGisPortalUtils.ItemType values)
* \param errorTitle title summary of any encountered errors
* \param errorText error text of any encountered errors
* \param requestHeaders optional additional request headers
* \param feedback optional feedback argument for cancellation support
* \param pageSize number of results to retrieve for each request. Maximum value is 100.
*
* \returns a list of JSON item info for all items within the group
*/
static QVariantList retrieveGroupItemsOfType( const QString &contentUrl, const QString &groupId, const QString &authcfg,
const QList< int > &itemTypes,
QString &errorTitle SIP_OUT, QString &errorText SIP_OUT, const QMap< QString, QVariant > &requestHeaders = QMap< QString, QVariant >(), QgsFeedback *feedback = nullptr, int pageSize = 100 );


private:

Expand Down
4 changes: 2 additions & 2 deletions src/core/vectortile/qgsvectortilelayerrenderer.cpp
Expand Up @@ -164,8 +164,8 @@ bool QgsVectorTileLayerRenderer::render()
ctx.labelingEngine()->removeProvider( mLabelProvider );
mLabelProvider = nullptr; // provider is deleted by the engine
}
else
mRequiredLayers.unite( mLabelProvider->requiredLayers( ctx, mTileZoom ) );

mRequiredLayers.unite( mLabelProvider->requiredLayers( ctx, mTileZoom ) );
}

if ( !isAsync )
Expand Down

0 comments on commit 61519ec

Please sign in to comment.