diff --git a/lib/cartodb/cache/named_map_provider_cache.js b/lib/cartodb/cache/named_map_provider_cache.js index ddfea4a2..ebafbbac 100644 --- a/lib/cartodb/cache/named_map_provider_cache.js +++ b/lib/cartodb/cache/named_map_provider_cache.js @@ -1,24 +1,17 @@ var _ = require('underscore'); var dot = require('dot'); var NamedMapMapConfigProvider = require('../models/mapconfig/provider/named-map-provider'); -var MapConfigNamedLayersAdapter = require('../models/mapconfig/adapter/mapconfig-named-layers-adapter'); -var AnalysisMapConfigAdapter = require('../models/mapconfig/adapter/analysis-mapconfig-adapter'); var templateName = require('../backends/template_maps').templateName; var queue = require('queue-async'); var LruCache = require("lru-cache"); -function NamedMapProviderCache(templateMaps, pgConnection, metadataBackend, analysisBackend, userLimitsApi, - overviewsAdapter, turboCartoAdapter) { +function NamedMapProviderCache(templateMaps, pgConnection, metadataBackend, userLimitsApi, mapConfigAdapter) { this.templateMaps = templateMaps; this.pgConnection = pgConnection; this.metadataBackend = metadataBackend; this.userLimitsApi = userLimitsApi; - - this.namedLayersAdapter = new MapConfigNamedLayersAdapter(templateMaps, pgConnection); - this.analysisMapConfigAdapter = new AnalysisMapConfigAdapter(analysisBackend); - this.overviewsAdapter = overviewsAdapter; - this.turboCartoAdapter = turboCartoAdapter; + this.mapConfigAdapter = mapConfigAdapter; this.providerCache = new LruCache({ max: 2000 }); } @@ -36,10 +29,7 @@ NamedMapProviderCache.prototype.get = function(user, templateId, config, authTok this.pgConnection, this.metadataBackend, this.userLimitsApi, - this.namedLayersAdapter, - this.overviewsAdapter, - this.turboCartoAdapter, - this.analysisMapConfigAdapter, + this.mapConfigAdapter, user, templateId, config, diff --git a/lib/cartodb/controllers/map.js b/lib/cartodb/controllers/map.js index 4646eac3..66b42e7b 100644 --- a/lib/cartodb/controllers/map.js +++ b/lib/cartodb/controllers/map.js @@ -218,10 +218,7 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn self.pgConnection, self.metadataBackend, self.userLimitsApi, - self.namedLayersAdapter, - self.overviewsAdapter, - self.turboCartoAdapter, - self.analysisMapConfigAdapter, + self.mapConfigAdapter, cdbuser, req.params.template_id, templateParams, diff --git a/lib/cartodb/models/mapconfig/provider/named-map-provider.js b/lib/cartodb/models/mapconfig/provider/named-map-provider.js index f9c97e09..7c9c0dc5 100644 --- a/lib/cartodb/models/mapconfig/provider/named-map-provider.js +++ b/lib/cartodb/models/mapconfig/provider/named-map-provider.js @@ -6,28 +6,18 @@ var step = require('step'); var MapConfig = require('windshaft').model.MapConfig; var templateName = require('../../../backends/template_maps').templateName; var QueryTables = require('cartodb-query-tables'); -var SqlWrapMapConfigAdapter = require('./../adapter/sql-wrap-mapconfig-adapter'); -var MapConfigAdapter = require('./../adapter'); /** * @constructor * @type {NamedMapMapConfigProvider} */ -function NamedMapMapConfigProvider(templateMaps, pgConnection, metadataBackend, userLimitsApi, - namedLayersAdapter, overviewsAdapter, turboCartoAdapter, analysisMapConfigAdapter, +function NamedMapMapConfigProvider(templateMaps, pgConnection, metadataBackend, userLimitsApi, mapConfigAdapter, owner, templateId, config, authToken, params) { this.templateMaps = templateMaps; this.pgConnection = pgConnection; this.metadataBackend = metadataBackend; this.userLimitsApi = userLimitsApi; - - this.mapConfigAdapter = new MapConfigAdapter([ - new SqlWrapMapConfigAdapter(), - analysisMapConfigAdapter, - namedLayersAdapter, - overviewsAdapter, - turboCartoAdapter - ]); + this.mapConfigAdapter = mapConfigAdapter; this.owner = owner; this.templateName = templateName(templateId); diff --git a/lib/cartodb/server.js b/lib/cartodb/server.js index cb8cc452..cc3ac029 100644 --- a/lib/cartodb/server.js +++ b/lib/cartodb/server.js @@ -34,11 +34,16 @@ var AnalysisBackend = require('./backends/analysis'); var timeoutErrorTilePath = __dirname + '/../../assets/render-timeout-fallback.png'; var timeoutErrorTile = require('fs').readFileSync(timeoutErrorTilePath, {encoding: null}); -var MapConfigOverviewsAdapter = require('./models/mapconfig/adapter/mapconfig-overviews-adapter'); - var TurboCartoParser = require('./utils/style/turbo-carto-parser'); + +var SqlWrapMapConfigAdapter = require('./models/mapconfig/adapter/sql-wrap-mapconfig-adapter'); +var MapConfigNamedLayersAdapter = require('./models/mapconfig/adapter/mapconfig-named-layers-adapter'); +var AnalysisMapConfigAdapter = require('./models/mapconfig/adapter/analysis-mapconfig-adapter'); +var MapConfigOverviewsAdapter = require('./models/mapconfig/adapter/mapconfig-overviews-adapter'); var TurboCartoAdapter = require('./models/mapconfig/adapter/turbo-carto-adapter'); +var MapConfigAdapter = require('./models/mapconfig/adapter'); + module.exports = function(serverOptions) { // Make stats client globally accessible global.statsClient = StatsClient.getInstance(serverOptions.statsd); @@ -155,14 +160,20 @@ module.exports = function(serverOptions) { var turboCartoParser = new TurboCartoParser(pgQueryRunner); var turboCartoAdapter = new TurboCartoAdapter(turboCartoParser); + var mapConfigAdapter = new MapConfigAdapter([ + new SqlWrapMapConfigAdapter(), + new AnalysisMapConfigAdapter(analysisBackend), + new MapConfigNamedLayersAdapter(templateMaps, pgConnection), + overviewsAdapter, + turboCartoAdapter + ]); + var namedMapProviderCache = new NamedMapProviderCache( templateMaps, pgConnection, metadataBackend, - analysisBackend, userLimitsApi, - overviewsAdapter, - turboCartoAdapter + mapConfigAdapter ); ['update', 'delete'].forEach(function(eventType) {