Skip to content

Commit 3e80a52

Browse files
committed
Revert "Merge pull request #3886 from pblottiere/servermultithread"
This reverts commit 350a2b5, reversing changes made to 590a981.
1 parent 350a2b5 commit 3e80a52

26 files changed

+78
-1055
lines changed

python/server/qgsserversettings.sip

Lines changed: 0 additions & 89 deletions
This file was deleted.

python/server/server.sip

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,4 @@
2727
%Include qgswmsprojectparser.sip
2828
%Include qgswfsprojectparser.sip
2929
%Include qgsconfigcache.sip
30-
%Include qgsserversettings.sip
3130
%Include qgsserver.sip

src/server/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ SET ( qgis_mapserv_SRCS
2929
qgswmsserver.cpp
3030
qgswfsserver.cpp
3131
qgswcsserver.cpp
32-
qgsserversettings.cpp
3332
qgsmapserviceexception.cpp
3433
qgsmslayercache.cpp
3534
qgsmslayerbuilder.cpp
@@ -68,7 +67,6 @@ SET (qgis_mapserv_MOC_HDRS
6867
# qgshttptransaction.h
6968
qgsmslayercache.h
7069
qgsserverlogger.h
71-
qgsserversettings.h
7270
qgsserverstreamingdevice.h
7371
)
7472

src/server/qgsaccesscontrol.cpp

Lines changed: 3 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,12 @@
2222

2323
#include <QStringList>
2424

25-
void QgsAccessControl::resolveFilterFeatures( const QList<QgsMapLayer*> &layers )
26-
{
27-
Q_FOREACH ( QgsMapLayer* l, layers )
28-
{
29-
if ( l->type() == QgsMapLayer::LayerType::VectorLayer )
30-
{
31-
const QgsVectorLayer* vl = qobject_cast<QgsVectorLayer*>( l );
32-
mFilterFeaturesExpressions[vl->id()] = resolveFilterFeatures( vl );
33-
}
34-
}
35-
36-
mResolved = true;
37-
}
3825

39-
QString QgsAccessControl::resolveFilterFeatures( const QgsVectorLayer* layer ) const
26+
//! Filter the features of the layer
27+
void QgsAccessControl::filterFeatures( const QgsVectorLayer* layer, QgsFeatureRequest& featureRequest ) const
4028
{
4129
QStringList expressions = QStringList();
4230
QgsAccessControlFilterMap::const_iterator acIterator;
43-
4431
for ( acIterator = mPluginsAccessControls->constBegin(); acIterator != mPluginsAccessControls->constEnd(); ++acIterator )
4532
{
4633
QString expression = acIterator.value()->layerFilterExpression( layer );
@@ -49,34 +36,9 @@ QString QgsAccessControl::resolveFilterFeatures( const QgsVectorLayer* layer ) c
4936
expressions.append( expression );
5037
}
5138
}
52-
53-
QString expression;
5439
if ( !expressions.isEmpty() )
5540
{
56-
expression = QStringLiteral( "((" ).append( expressions.join( QStringLiteral( ") AND (" ) ) ).append( "))" );
57-
}
58-
59-
return expression;
60-
}
61-
62-
//! Filter the features of the layer
63-
void QgsAccessControl::filterFeatures( const QgsVectorLayer* layer, QgsFeatureRequest& featureRequest ) const
64-
{
65-
66-
QString expression;
67-
68-
if ( mResolved && mFilterFeaturesExpressions.keys().contains( layer->id() ) )
69-
{
70-
expression = mFilterFeaturesExpressions[layer->id()];
71-
}
72-
else
73-
{
74-
expression = resolveFilterFeatures( layer );
75-
}
76-
77-
if ( !expression.isEmpty() )
78-
{
79-
featureRequest.setFilterExpression( expression );
41+
featureRequest.setFilterExpression( QStringLiteral( "((" ).append( expressions.join( QStringLiteral( ") AND (" ) ) ).append( "))" ) );
8042
}
8143
}
8244

src/server/qgsaccesscontrol.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,12 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
4040
QgsAccessControl()
4141
{
4242
mPluginsAccessControls = new QgsAccessControlFilterMap();
43-
mResolved = false;
4443
}
4544

4645
//! Constructor
4746
QgsAccessControl( const QgsAccessControl& copy )
4847
{
4948
mPluginsAccessControls = new QgsAccessControlFilterMap( *copy.mPluginsAccessControls );
50-
mFilterFeaturesExpressions = copy.mFilterFeaturesExpressions;
51-
mResolved = copy.mResolved;
5249
}
5350

5451

@@ -57,11 +54,6 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
5754
delete mPluginsAccessControls;
5855
}
5956

60-
/** Resolve features' filter of layers
61-
* @param layers to filter
62-
*/
63-
void resolveFilterFeatures( const QList<QgsMapLayer*> &layers );
64-
6557
/** Filter the features of the layer
6658
* @param layer the layer to control
6759
* @param filterFeatures the request to fill
@@ -130,13 +122,8 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
130122
void registerAccessControl( QgsAccessControlFilter* accessControl, int priority = 0 );
131123

132124
private:
133-
QString resolveFilterFeatures( const QgsVectorLayer* layer ) const;
134-
135125
//! The AccessControl plugins registry
136126
QgsAccessControlFilterMap* mPluginsAccessControls;
137-
138-
QMap<QString, QString> mFilterFeaturesExpressions;
139-
bool mResolved;
140127
};
141128

142129
#endif

src/server/qgsmslayercache.cpp

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include "qgsmaplayer.h"
2222
#include "qgsvectorlayer.h"
2323
#include "qgslogger.h"
24-
#include "qgsserversettings.h"
2524
#include <QFile>
2625

2726
QgsMSLayerCache* QgsMSLayerCache::instance()
@@ -33,8 +32,20 @@ QgsMSLayerCache* QgsMSLayerCache::instance()
3332
}
3433

3534
QgsMSLayerCache::QgsMSLayerCache()
36-
: mProjectMaxLayers( 100 )
35+
: mProjectMaxLayers( 0 )
3736
{
37+
mDefaultMaxLayers = 100;
38+
//max layer from environment variable overrides default
39+
char* maxLayerEnv = getenv( "MAX_CACHE_LAYERS" );
40+
if ( maxLayerEnv )
41+
{
42+
bool conversionOk = false;
43+
int maxLayerInt = QString( maxLayerEnv ).toInt( &conversionOk );
44+
if ( conversionOk )
45+
{
46+
mDefaultMaxLayers = maxLayerInt;
47+
}
48+
}
3849
QObject::connect( &mFileSystemWatcher, SIGNAL( fileChanged( const QString& ) ), this, SLOT( removeProjectFileLayers( const QString& ) ) );
3950
}
4051

@@ -48,11 +59,6 @@ QgsMSLayerCache::~QgsMSLayerCache()
4859
mEntries.clear();
4960
}
5061

51-
void QgsMSLayerCache::setMaxCacheLayers( int maxCacheLayers )
52-
{
53-
mDefaultMaxLayers = maxCacheLayers;
54-
}
55-
5662
void QgsMSLayerCache::insertLayer( const QString& url, const QString& layerName, QgsMapLayer* layer, const QString& configFile, const QList<QString>& tempFiles )
5763
{
5864
QgsMessageLog::logMessage( "Layer cache: insert Layer '" + layerName + "' configFile: " + configFile, QStringLiteral( "Server" ), QgsMessageLog::INFO );

src/server/qgsmslayercache.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,6 @@ class QgsMSLayerCache: public QObject
5656
static QgsMSLayerCache* instance();
5757
~QgsMSLayerCache();
5858

59-
/**
60-
* Set the maximum number of layers in cache.
61-
* @param maxCacheLayers the number of layers in cache
62-
* @note added in QGIS 3.0
63-
*/
64-
void setMaxCacheLayers( int maxCacheLayers );
65-
6659
/** Inserts a new layer into the cash
6760
@param url the layer datasource
6861
@param layerName the layer name (to distinguish between different layers in a request using the same datasource

src/server/qgsowsserver.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#define QGSOWSSERVER_H
2020

2121
#include "qgsrequesthandler.h"
22-
#include "qgsserversettings.h"
2322
#ifdef HAVE_SERVER_PYTHON_PLUGINS
2423
#include "qgsaccesscontrol.h"
2524
#endif
@@ -33,15 +32,13 @@ class QgsOWSServer
3332
public:
3433
QgsOWSServer(
3534
const QString& configFilePath
36-
, const QgsServerSettings& settings
3735
, const QMap<QString, QString>& parameters
3836
, QgsRequestHandler* rh
3937
#ifdef HAVE_SERVER_PYTHON_PLUGINS
40-
, QgsAccessControl* ac
38+
, const QgsAccessControl* ac
4139
#endif
4240
)
43-
: mSettings( settings )
44-
, mParameters( parameters )
41+
: mParameters( parameters )
4542
, mRequestHandler( rh )
4643
, mConfigFilePath( configFilePath )
4744
#ifdef HAVE_SERVER_PYTHON_PLUGINS
@@ -61,13 +58,12 @@ class QgsOWSServer
6158
QgsOWSServer() {}
6259

6360
protected:
64-
QgsServerSettings mSettings;
6561
QMap<QString, QString> mParameters;
6662
QgsRequestHandler* mRequestHandler;
6763
QString mConfigFilePath;
6864
#ifdef HAVE_SERVER_PYTHON_PLUGINS
6965
//! The access control helper
70-
QgsAccessControl* mAccessControl;
66+
const QgsAccessControl* mAccessControl;
7167

7268
/** Apply filter strings from the access control to the layers.
7369
* @param layer the concerned layer

0 commit comments

Comments
 (0)