Skip to content

Commit

Permalink
fix arcgis connections
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed Jan 26, 2023
1 parent b01b72c commit 231c5a6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 19 deletions.
17 changes: 7 additions & 10 deletions src/providers/arcgisrest/qgsarcgisrestdataitems.cpp
Expand Up @@ -19,7 +19,6 @@
#include "qgsarcgisrestquery.h"
#include "qgsarcgisportalutils.h"
#include "qgsdataprovider.h"
#include "qgsafsprovider.h"

#ifdef HAVE_GUI
#include "qgsarcgisrestsourceselect.h"
Expand Down Expand Up @@ -47,7 +46,7 @@ QVector<QgsDataItem *> QgsArcGisRestRootItem::createChildren()
{
QVector<QgsDataItem *> connections;

const QStringList connectionList = QgsOwsConnection::connectionList( QStringLiteral( "ARCGISFEATURESERVER" ) );
const QStringList connectionList = QgsArcGisConnectionSettings::sTreeConnectionArcgis->items();
for ( const QString &connName : connectionList )
{
const QString path = QStringLiteral( "afs:/" ) + connName;
Expand Down Expand Up @@ -194,16 +193,15 @@ QgsArcGisRestConnectionItem::QgsArcGisRestConnectionItem( QgsDataItem *parent, c

QVector<QgsDataItem *> QgsArcGisRestConnectionItem::createChildren()
{
const QgsOwsConnection connection( QStringLiteral( "ARCGISFEATURESERVER" ), mConnName );
const QString url = connection.uri().param( QStringLiteral( "url" ) );
const QString authcfg = connection.uri().authConfigId();
const QString url = QgsArcGisConnectionSettings::settingsUrl->value( mConnName );
const QString authcfg = QgsArcGisConnectionSettings::settingsAuthcfg->value( mConnName );

QgsHttpHeaders headers = connection.uri().httpHeaders();
QgsHttpHeaders headers( QgsArcGisConnectionSettings::settingsHeaders->value() );

QVector<QgsDataItem *> items;
if ( !mPortalCommunityEndpoint.isEmpty() && !mPortalContentEndpoint.isEmpty() )
{
items << new QgsArcGisPortalGroupsItem( this, QStringLiteral( "groups" ), authcfg, connection.uri().httpHeaders(), mPortalCommunityEndpoint, mPortalContentEndpoint );
items << new QgsArcGisPortalGroupsItem( this, QStringLiteral( "groups" ), authcfg, headers, mPortalCommunityEndpoint, mPortalContentEndpoint );
items << new QgsArcGisRestServicesItem( this, url, QStringLiteral( "services" ), authcfg, headers );
}
else
Expand Down Expand Up @@ -238,8 +236,7 @@ bool QgsArcGisRestConnectionItem::equal( const QgsDataItem *other )

QString QgsArcGisRestConnectionItem::url() const
{
const QgsOwsConnection connection( QStringLiteral( "ARCGISFEATURESERVER" ), mConnName );
return connection.uri().param( QStringLiteral( "url" ) );
return QgsArcGisConnectionSettings::settingsUrl->value( mConnName );
}


Expand Down Expand Up @@ -648,7 +645,7 @@ QgsDataItem *QgsArcGisRestDataItemProvider::createDataItem( const QString &path,
if ( path.startsWith( QLatin1String( "afs:/" ) ) )
{
const QString connectionName = path.split( '/' ).last();
if ( QgsOwsConnection::connectionList( QStringLiteral( "arcgisfeatureserver" ) ).contains( connectionName ) )
if ( QgsArcGisConnectionSettings::sTreeConnectionArcgis->items().contains( connectionName ) )
{
return new QgsArcGisRestConnectionItem( parentItem, QStringLiteral( "ArcGisFeatureServer" ), path, connectionName );
}
Expand Down
13 changes: 4 additions & 9 deletions src/providers/arcgisrest/qgsarcgisrestsourceselect.cpp
Expand Up @@ -17,15 +17,13 @@

#include "qgsarcgisrestsourceselect.h"
#include "qgsowsconnection.h"
#include "qgsprojectionselectiondialog.h"
#include "qgsexpressionbuilderdialog.h"
#include "qgsproject.h"
#include "qgscoordinatereferencesystem.h"
#include "qgscoordinatetransform.h"
#include "qgslogger.h"
#include "qgsmanageconnectionsdialog.h"
#include "qgsexception.h"
#include "qgssettings.h"
#include "qgsmapcanvas.h"
#include "qgshelp.h"
#include "qgsgui.h"
Expand Down Expand Up @@ -195,7 +193,7 @@ void QgsArcGisRestSourceSelect::showEvent( QShowEvent * )

void QgsArcGisRestSourceSelect::populateConnectionList()
{
const QStringList conns = QgsOwsConnection::connectionList( QStringLiteral( "ARCGISFEATURESERVER" ) );
const QStringList conns = QgsArcGisConnectionSettings::sTreeConnectionArcgis->items();
cmbConnections->clear();
for ( const QString &item : conns )
{
Expand All @@ -207,7 +205,7 @@ void QgsArcGisRestSourceSelect::populateConnectionList()
btnSave->setEnabled( connectionsAvailable );

//set last used connection
const QString selectedConnection = QgsOwsConnection::selectedConnection( QStringLiteral( "ARCGISFEATURESERVER" ) );
const QString selectedConnection = QgsArcGisConnectionSettings::sTreeConnectionArcgis->selectedItem();
const int index = cmbConnections->findText( selectedConnection );
if ( index != -1 )
{
Expand Down Expand Up @@ -252,7 +250,7 @@ void QgsArcGisRestSourceSelect::deleteEntryOfServerList()
const QMessageBox::StandardButton result = QMessageBox::question( this, tr( "Confirm Delete" ), msg, QMessageBox::Yes | QMessageBox::No );
if ( result == QMessageBox::Yes )
{
QgsOwsConnection::deleteConnection( QStringLiteral( "ARCGISFEATURESERVER" ), selectedConnection );
QgsArcGisConnectionSettings::sTreeConnectionArcgis->deleteItem( selectedConnection );
cmbConnections->removeItem( cmbConnections->currentIndex() );
emit connectionsChanged();
const bool connectionsAvailable = cmbConnections->count() > 0;
Expand All @@ -271,7 +269,6 @@ void QgsArcGisRestSourceSelect::connectToServer()
btnConnect->setEnabled( false );

mConnectedService = cmbConnections->currentText();
const QgsOwsConnection connection( QStringLiteral( "ARCGISFEATURESERVER" ), mConnectedService );

// find index of corresponding node
if ( mBrowserModel && mProxyModel )
Expand Down Expand Up @@ -301,8 +298,6 @@ void QgsArcGisRestSourceSelect::addButtonClicked()
return;
}

const QgsOwsConnection connection( QStringLiteral( "ARCGISFEATURESERVER" ), cmbConnections->currentText() );

const QgsCoordinateReferenceSystem pCrs( labelCoordRefSys->text() );
// prepare canvas extent info for layers with "cache features" option not set
QgsRectangle extent;
Expand Down Expand Up @@ -410,7 +405,7 @@ void QgsArcGisRestSourceSelect::updateImageEncodings()
void QgsArcGisRestSourceSelect::cmbConnections_activated( int index )
{
Q_UNUSED( index )
QgsOwsConnection::setSelectedConnection( QStringLiteral( "ARCGISFEATURESERVER" ), cmbConnections->currentText() );
QgsArcGisConnectionSettings::sTreeConnectionArcgis->setSelectedItem( cmbConnections->currentText() );
}

void QgsArcGisRestSourceSelect::treeWidgetCurrentRowChanged( const QModelIndex &current, const QModelIndex &previous )
Expand Down

0 comments on commit 231c5a6

Please sign in to comment.