Commit 51560a3a authored by catch's avatar catch

Revert "Issue #1786490 by Berdir, amateescu, damiankloip, dawehner: Add...

Revert "Issue #1786490 by Berdir, amateescu, damiankloip, dawehner: Add caching to the state system."

This reverts commit 8ec847cc.
parent 8ec847cc
......@@ -137,10 +137,10 @@ services:
factory_class: Drupal\Component\Utility\Settings
factory_method: getSingleton
state:
class: Drupal\Core\KeyValueStore\State
arguments: ['@keyvalue']
tags:
- { name: persist }
class: Drupal\Core\KeyValueStore\KeyValueStoreInterface
factory_method: get
factory_service: keyvalue
arguments: [state]
queue:
class: Drupal\Core\Queue\QueueFactory
arguments: ['@settings']
......
......@@ -456,8 +456,10 @@ function install_begin_request(&$install_state) {
$settings['keyvalue_default'] = 'keyvalue.memory';
new Settings($settings);
$container->register('state', 'Drupal\Core\KeyValueStore\State')
->addArgument(new Reference('keyvalue'));
$container->register('state', 'Drupal\Core\KeyValueStore\KeyValueStoreInterface')
->setFactoryService(new Reference('keyvalue'))
->setFactoryMethod('get')
->addArgument('state');
// Register Twig template engine for use during install.
CoreServiceProvider::registerTwig($container);
......
......@@ -288,7 +288,7 @@ public static function keyValue($collection) {
* needs to be the same across development, production, etc. environments
* (for example, the system maintenance message) should use \Drupal::config() instead.
*
* @return \Drupal\Core\KeyValueStore\StateInterface
* @return \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
public static function state() {
return static::$container->get('state');
......
......@@ -6,7 +6,8 @@
namespace Drupal\Core\Asset;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Asset\AssetCollectionOptimizerInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/**
* Optimizes CSS assets.
......@@ -37,7 +38,7 @@ class CssCollectionOptimizer implements AssetCollectionOptimizerInterface {
/**
* The state key/value store.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -50,10 +51,10 @@ class CssCollectionOptimizer implements AssetCollectionOptimizerInterface {
* The optimizer for a single CSS asset.
* @param \Drupal\Core\Asset\AssetDumperInterface
* The dumper for optimized CSS assets.
* @param \Drupal\Core\KeyValueStore\StateInterface
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface
* The state key/value store.
*/
public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, StateInterface $state) {
public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, KeyValueStoreInterface $state) {
$this->grouper = $grouper;
$this->optimizer = $optimizer;
$this->dumper = $dumper;
......
......@@ -6,8 +6,9 @@
namespace Drupal\Core\Asset;
use Drupal\Core\Asset\AssetCollectionRendererInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Drupal\Component\Utility\String;
use Drupal\Core\KeyValueStore\StateInterface;
/**
* Renders CSS assets.
......@@ -17,17 +18,17 @@ class CssCollectionRenderer implements AssetCollectionRendererInterface {
/**
* The state key/value store.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
/**
* Constructs a CssCollectionRenderer.
*
* @param \Drupal\Core\KeyValueStore\StateInterface
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface
* The state key/value store.
*/
public function __construct(StateInterface $state) {
public function __construct(KeyValueStoreInterface $state) {
$this->state = $state;
}
......
......@@ -6,7 +6,8 @@
namespace Drupal\Core\Asset;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Asset\AssetCollectionOptimizerInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/**
......@@ -38,7 +39,7 @@ class JsCollectionOptimizer implements AssetCollectionOptimizerInterface {
/**
* The state key/value store.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -51,10 +52,10 @@ class JsCollectionOptimizer implements AssetCollectionOptimizerInterface {
* The optimizer for a single JS asset.
* @param \Drupal\Core\Asset\AssetDumperInterface
* The dumper for optimized JS assets.
* @param \Drupal\Core\KeyValueStore\StateInterface
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface
* The state key/value store.
*/
public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, StateInterface $state) {
public function __construct(AssetCollectionGrouperInterface $grouper, AssetOptimizerInterface $optimizer, AssetDumperInterface $dumper, KeyValueStoreInterface $state) {
$this->grouper = $grouper;
$this->optimizer = $optimizer;
$this->dumper = $dumper;
......
......@@ -6,7 +6,8 @@
namespace Drupal\Core\Asset;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\Asset\AssetCollectionRendererInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/**
* Renders JavaScript assets.
......@@ -16,17 +17,17 @@ class JsCollectionRenderer implements AssetCollectionRendererInterface {
/**
* The state key/value store.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
/**
* Constructs a CssCollectionRenderer.
*
* @param \Drupal\Core\KeyValueStore\StateInterface
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface
* The state key/value store.
*/
public function __construct(StateInterface $state) {
public function __construct(KeyValueStoreInterface $state) {
$this->state = $state;
}
......
......@@ -8,7 +8,7 @@
namespace Drupal\Core\Extension;
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/**
* Class that manages enabled modules in a Drupal installation.
......@@ -18,7 +18,7 @@ class CachedModuleHandler extends ModuleHandler implements CachedModuleHandlerIn
/**
* State key/value store.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -39,7 +39,7 @@ class CachedModuleHandler extends ModuleHandler implements CachedModuleHandlerIn
/**
* Constructs a new CachedModuleHandler object.
*/
public function __construct(array $module_list = array(), StateInterface $state, CacheBackendInterface $bootstrap_cache) {
public function __construct(array $module_list = array(), KeyValueStoreInterface $state, CacheBackendInterface $bootstrap_cache) {
parent::__construct($module_list);
$this->state = $state;
$this->bootstrapCache = $bootstrap_cache;
......
<?php
/**
* @file
* Contains Drupal\Core\KeyValueStore\StateInterface.
*/
namespace Drupal\Core\KeyValueStore;
/**
* Provides the state system using a key value store.
*/
class State implements StateInterface {
/**
* The key value store to use.
*
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $keyValueStore;
/**
* Static state cache.
*
* @var array
*/
protected $cache = array();
/**
* Constructs a State object.
*
* @param \Drupal\Core\KeyValueStore\KeyValueFactory $key_value_factory
* The key value store to use.
*/
function __construct(KeyValueFactory $key_value_factory) {
$this->keyValueStore = $key_value_factory->get('state');
}
/**
* {@inheritdoc}
*/
public function get($key, $default = NULL) {
$values = $this->getMultiple(array($key));
return isset($values[$key]) ? $values[$key] : $default;
}
/**
* {@inheritdoc}
*/
public function getMultiple(array $keys) {
$values = array();
$load = array();
foreach ($keys as $key) {
// Check if we have a value in the cache.
if (isset($this->cache[$key])) {
$values[$key] = $this->cache[$key];
}
// Load the value if we don't have an explicit NULL value.
elseif (!array_key_exists($key, $this->cache)) {
$load[] = $key;
}
}
if ($load) {
$loaded_values = $this->keyValueStore->getMultiple($load);
foreach ($load as $key) {
// If we find a value, even one that is NULL, add it to the cache and
// return it.
if (isset($loaded_values[$key]) || array_key_exists($key, $loaded_values)) {
$values[$key] = $loaded_values[$key];
$this->cache[$key] = $loaded_values[$key];
}
else {
$this->cache[$key] = NULL;
}
}
}
return $values;
}
/**
* {@inheritdoc}
*/
public function set($key, $value) {
$this->cache[$key] = $value;
$this->keyValueStore->set($key, $value);
}
/**
* {@inheritdoc}
*/
public function setMultiple(array $data) {
foreach ($data as $key => $value) {
$this->cache[$key] = $value;
}
$this->keyValueStore->setMultiple($data);
}
/**
* {@inheritdoc}
*/
public function delete($key) {
$this->deleteMultiple(array($key));
}
/**
* {@inheritdoc}
*/
public function deleteMultiple(array $keys) {
foreach ($keys as $key) {
unset($this->cache[$key]);
}
$this->keyValueStore->deleteMultiple($keys);
}
/**
* {@inheritdoc}
*/
public function resetCache() {
$this->cache = array();
}
}
<?php
/**
* @file
* Contains Drupal\Core\KeyValueStore\StateInterface.
*/
namespace Drupal\Core\KeyValueStore;
/**
* Defines the interface for the state system.
*/
interface StateInterface {
/**
* Returns the stored value for a given key.
*
* @param string $key
* The key of the data to retrieve.
* @param mixed $default
* The default value to use if the key is not found.
*
* @return mixed
* The stored value, or NULL if no value exists.
*/
public function get($key, $default = NULL);
/**
* Returns the stored key/value pairs for a given set of keys.
*
* @param array $keys
* A list of keys to retrieve.
*
* @return array
* An associative array of items successfully returned, indexed by key.
*/
public function getMultiple(array $keys);
/**
* Saves a value for a given key.
*
* @param string $key
* The key of the data to store.
* @param mixed $value
* The data to store.
*/
public function set($key, $value);
/**
* Saves key/value pairs.
*
* @param array $data
* An associative array of key/value pairs.
*/
public function setMultiple(array $data);
/**
* Deletes an item.
*
* @param string $key
* The item name to delete.
*/
public function delete($key);
/**
* Deletes multiple items.
*
* @param array $keys
* A list of item names to delete.
*/
public function deleteMultiple(array $keys);
/**
* Resets the static cache.
*
* This is mainly used in testing environments.
*/
public function resetCache();
}
......@@ -9,7 +9,7 @@
use Drupal\Component\Utility\MapArray;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Symfony\Component\HttpFoundation\Request;
/**
......@@ -27,7 +27,7 @@ class LanguageManager {
/**
* The Key/Value Store to use for state.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state = NULL;
......@@ -65,12 +65,12 @@ class LanguageManager {
/**
* Constructs an LanguageManager object.
*
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* (optional) The state keyvalue store. Defaults to NULL.
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* (optional) The module handler service. Defaults to NULL.
*/
public function __construct(StateInterface $state = NULL, ModuleHandlerInterface $module_handler = NULL) {
public function __construct(KeyValueStoreInterface $state = NULL, ModuleHandlerInterface $module_handler = NULL) {
$this->state = $state;
$this->moduleHandler = $module_handler;
}
......
......@@ -20,6 +20,13 @@ class AliasManager implements AliasManagerInterface {
*/
protected $connection;
/**
* The Key/Value Store to use for state
*
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
/**
* Language manager for retrieving the default langcode when none is specified.
*
......
......@@ -11,7 +11,7 @@
use Drupal\Core\Cache\CacheCollector;
use Drupal\Core\Database\Connection;
use Drupal\Core\DestructableInterface;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Drupal\Core\Lock\LockBackendInterface;
use Drupal\Core\Utility\CacheArray;
......@@ -23,7 +23,7 @@ class AliasWhitelist extends CacheCollector {
/**
* The Key/Value Store to use for state.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -43,12 +43,12 @@ class AliasWhitelist extends CacheCollector {
* The cache backend.
* @param \Drupal\Core\Lock\LockBackendInterface $lock
* The lock backend.
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The state keyvalue store.
* @param \Drupal\Core\Database\Connection $connection
* The database connection.
*/
public function __construct($cid, CacheBackendInterface $cache, LockBackendInterface $lock, StateInterface $state, Connection $connection) {
public function __construct($cid, CacheBackendInterface $cache, LockBackendInterface $lock, KeyValueStoreInterface $state, Connection $connection) {
parent::__construct($cid, $cache, $lock);
$this->state = $state;
$this->connection = $connection;
......
......@@ -7,7 +7,7 @@
namespace Drupal\Core;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Drupal\Component\Utility\Crypt;
/**
......@@ -18,17 +18,17 @@ class PrivateKey {
/**
* The state service.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
/**
* Constructs the token generator.
*
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The state service.
*/
function __construct(StateInterface $state) {
function __construct(KeyValueStoreInterface $state) {
$this->state = $state;
}
......
......@@ -16,7 +16,7 @@
use Drupal\Component\Uuid\UuidInterface;
use Drupal\Core\Config\StorageInterface;
use Drupal\Core\Extension\ModuleHandler;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/**
* Controller class for field instances.
......@@ -45,7 +45,7 @@ class FieldInstanceStorageController extends ConfigStorageController {
/**
* The state keyvalue collection.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -68,10 +68,10 @@ class FieldInstanceStorageController extends ConfigStorageController {
* The entity manager.
* @param \Drupal\Core\Extension\ModuleHandler $module_handler
* The module handler.
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The state key value store.
*/
public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, StateInterface $state) {
public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, KeyValueStoreInterface $state) {
parent::__construct($entity_type, $entity_info, $config_factory, $config_storage, $entity_query_factory, $uuid_service);
$this->entityManager = $entity_manager;
$this->moduleHandler = $module_handler;
......
......@@ -16,7 +16,7 @@
use Drupal\Core\Config\ConfigFactory;
use Drupal\Core\Config\StorageInterface;
use Drupal\Core\Extension\ModuleHandler;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
/**
* Controller class for fields.
......@@ -40,7 +40,7 @@ class FieldStorageController extends ConfigStorageController {
/**
* The state keyvalue collection.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -63,10 +63,10 @@ class FieldStorageController extends ConfigStorageController {
* The entity manager.
* @param \Drupal\Core\Extension\ModuleHandler $module_handler
* The module handler.
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The state key value store.
*/
public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, StateInterface $state) {
public function __construct($entity_type, array $entity_info, ConfigFactory $config_factory, StorageInterface $config_storage, QueryFactory $entity_query_factory, UuidInterface $uuid_service, EntityManagerInterface $entity_manager, ModuleHandler $module_handler, KeyValueStoreInterface $state) {
parent::__construct($entity_type, $entity_info, $config_factory, $config_storage, $entity_query_factory, $uuid_service);
$this->entityManager = $entity_manager;
$this->moduleHandler = $module_handler;
......
......@@ -38,8 +38,6 @@ function setUp() {
* 'insert', etc.
*/
function assertFileHooksCalled($expected) {
\Drupal::state()->resetCache();
// Determine which hooks were called.
$actual = array_keys(array_filter(file_test_get_all_calls()));
......
......@@ -26,7 +26,7 @@ public static function getInfo() {
/**
* The state storage service.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......
......@@ -11,7 +11,7 @@
use Drupal\Core\Language\Language;
use Drupal\Core\Language\LanguageManager;
use Drupal\locale\StringStorageInterface;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
......@@ -31,7 +31,7 @@ abstract class TranslateFormBase extends FormBase {
/**
* The state store.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -54,12 +54,12 @@ abstract class TranslateFormBase extends FormBase {
*
* @param \Drupal\locale\StringStorageInterface $locale_storage
* The locale storage.
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The state service.
* @param \Drupal\Core\Language\LanguageManager $language_manager
* The language manager.
*/
public function __construct(StringStorageInterface $locale_storage, StateInterface $state, LanguageManager $language_manager) {
public function __construct(StringStorageInterface $locale_storage, KeyValueStoreInterface $state, LanguageManager $language_manager) {
$this->localeStorage = $locale_storage;
$this->state = $state;
$this->languageManager = $language_manager;
......
......@@ -14,7 +14,7 @@
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityManagerInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Drupal\Core\Language\Language;
use Drupal\Core\Plugin\PluginFormInterface;
use Drupal\Core\Session\AccountInterface;
......@@ -68,7 +68,7 @@ class NodeSearch extends SearchPluginBase implements AccessibleInterface, Search
/**
* The Drupal state object used to set 'node.cron_last'.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/
protected $state;
......@@ -111,7 +111,7 @@ static public function create(ContainerInterface $container, array $configuratio
$container->get('entity.manager'),
$container->get('module_handler'),
$container->get('config.factory')->get('search.settings'),
$container->get('state'),
$container->get('keyvalue')->get('state'),
$container->get('current_user')
);
}
......@@ -133,12 +133,12 @@ static public function create(ContainerInterface $container, array $configuratio
* A module manager object.
* @param \Drupal\Core\Config\Config $search_settings
* A config object for 'search.settings'.
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The Drupal state object used to set 'node.cron_last'.
* @param \Drupal\Core\Session\AccountInterface $account
* The $account object to use for checking for access to advanced search.
*/
public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, Config $search_settings, StateInterface $state, AccountInterface $account = NULL) {
public function __construct(array $configuration, $plugin_id, array $plugin_definition, Connection $database, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, Config $search_settings, KeyValueStoreInterface $state, AccountInterface $account = NULL) {
$this->database = $database;
$this->entityManager = $entity_manager;
$this->moduleHandler = $module_handler;
......
......@@ -8,7 +8,7 @@
namespace Drupal\rest\Plugin\views\display;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Drupal\Core\Routing\RouteProviderInterface;
use Drupal\views\Annotation\ViewsDisplay;
use Drupal\Core\Annotation\Translation;
......@@ -99,14 +99,14 @@ class RestExport extends PathPluginBase {
* The plugin implementation definition.
* @param \Drupal\Core\Routing\RouteProviderInterface $route_provider
* The route provider
* @param \Drupal\Core\KeyValueStore\StateInterface $state
* @param \Drupal\Core\KeyValueStore\KeyValueStoreInterface $state
* The state key value store.
* @param \Drupal\Core\ContentNegotiation $content_negotiation
* The content negotiation library.
* @param \Symfony\Component\HttpFoundation\Request $request
* The request object.
*/
public function __construct(array $configuration, $plugin_id, array $plugin_definition, RouteProviderInterface $route_provider, StateInterface $state, ContentNegotiation $content_negotiation, Request $request) {
public function __construct(array $configuration, $plugin_id, array $plugin_definition, RouteProviderInterface $route_provider, KeyValueStoreInterface $state, ContentNegotiation $content_negotiation, Request $request) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider, $state);
$this->contentNegotiation = $content_negotiation;
$this->request = $request;
......
......@@ -82,7 +82,7 @@ protected function setUp() {
->getMock();
$container->set('router.route_provider', $route_provider);
$state = $this->getMock('\Drupal\Core\KeyValueStore\StateInterface');
$state = $this->getMock('\Drupal\Core\KeyValueStore\KeyValueStoreInterface');
$container->set('state', $state);
$style_manager = $this->getMockBuilder('\Drupal\views\Plugin\ViewsPluginManager')
......
......@@ -10,7 +10,7 @@
use Drupal\Core\Config\ConfigFactory;
use Drupal\Core\Config\Context\ContextInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\KeyValueStore\StateInterface;
use Drupal\Core\KeyValueStore\KeyValueStoreInterface;
use Drupal\Core\Plugin\PluginFormInterface;
use Drupal\search\SearchPluginManager;
use Drupal\Core\Form\ConfigFormBase;
......@@ -45,7 +45,7 @@ class SearchSettingsForm extends ConfigFormBase {
/**
* The Drupal state storage service.
*
* @var \Drupal\Core\KeyValueStore\StateInterface
* @var \Drupal\Core\KeyValueStore\KeyValueStoreInterface
*/