Beispiel #1
0
 /**
  * {@inheritdoc}
  */
 public function rename($name, $new_name)
 {
     foreach ($this->filters as $filter) {
         $new_name = $filter->filterRename($new_name, $name, $this->storage);
     }
     return $this->storage->rename($name, $new_name);
 }
 /**
  * {@inheritdoc}
  */
 public function rename($name, $new_name)
 {
     if (isset($this->replacementData[$this->collection][$name])) {
         $this->replacementData[$this->collection][$new_name] = $this->replacementData[$this->collection][$name];
         unset($this->replacementData[$this->collection][$name]);
     }
     return $this->storage->rename($name, $new_name);
 }
 /**
  * {@inheritdoc}
  */
 public function rename($old_name, $new_name)
 {
     $this->storage->rename($old_name, $new_name);
     $old_cache_key = $this->getConfigCacheKey($old_name);
     if (isset($this->cache[$old_cache_key])) {
         unset($this->cache[$old_cache_key]);
     }
     // Prime the cache and load the configuration with the correct overrides.
     $config = $this->get($new_name);
     $this->eventDispatcher->dispatch(ConfigEvents::RENAME, new ConfigRenameEvent($config, $old_name));
     return $config;
 }
Beispiel #4
0
 /**
  * {@inheritdoc}
  */
 public function rename($name, $new_name)
 {
     // If the cache was the first to be deleted, another process might start
     // rebuilding the cache before the storage is renamed.
     if ($this->storage->rename($name, $new_name)) {
         $this->cache->delete($this->getCacheKey($name));
         $this->cache->delete($this->getCacheKey($new_name));
         $this->findByPrefixCache = array();
         return TRUE;
     }
     return FALSE;
 }
Beispiel #5
0
 /**
  * {@inheritdoc}
  */
 public function rename($old_name, $new_name)
 {
     Cache::invalidateTags($this->get($old_name)->getCacheTags());
     $this->storage->rename($old_name, $new_name);
     // Clear out the static cache of any references to the old name.
     foreach ($this->getConfigCacheKeys($old_name) as $old_cache_key) {
         unset($this->cache[$old_cache_key]);
     }
     // Prime the cache and load the configuration with the correct overrides.
     $config = $this->get($new_name);
     $this->eventDispatcher->dispatch(ConfigEvents::RENAME, new ConfigRenameEvent($config, $old_name));
     return $this;
 }
Beispiel #6
0
 /**
  * Implements Drupal\Core\Config\StorageInterface::rename().
  */
 public function rename($name, $new_name)
 {
     // If the cache was the first to be deleted, another process might start
     // rebuilding the cache before the storage is renamed.
     if ($this->storage->rename($name, $new_name)) {
         $this->cache->delete($name);
         $this->cache->delete($new_name);
         Cache::deleteTags(array($this::FIND_BY_PREFIX_CACHE_TAG => TRUE));
         $this->findByPrefixCache = array();
         return TRUE;
     }
     return FALSE;
 }
 /**
  * {@inheritdoc}
  */
 public function rename($name, $new_name)
 {
     return $this->baseStorage->rename($name, $new_name);
 }
 /**
  * Tests storage CRUD operations.
  *
  * @todo Coverage: Trigger PDOExceptions / Database exceptions.
  */
 function testCRUD()
 {
     $name = 'config_test.storage';
     // Checking whether a non-existing name exists returns FALSE.
     $this->assertIdentical($this->storage->exists($name), FALSE);
     // Reading a non-existing name returns FALSE.
     $data = $this->storage->read($name);
     $this->assertIdentical($data, FALSE);
     // Writing data returns TRUE and the data has been written.
     $data = array('foo' => 'bar');
     $result = $this->storage->write($name, $data);
     $this->assertIdentical($result, TRUE);
     $raw_data = $this->read($name);
     $this->assertIdentical($raw_data, $data);
     // Checking whether an existing name exists returns TRUE.
     $this->assertIdentical($this->storage->exists($name), TRUE);
     // Writing the identical data again still returns TRUE.
     $result = $this->storage->write($name, $data);
     $this->assertIdentical($result, TRUE);
     // Listing all names returns all.
     $names = $this->storage->listAll();
     $this->assertTrue(in_array('system.performance', $names));
     $this->assertTrue(in_array($name, $names));
     // Listing all names with prefix returns names with that prefix only.
     $names = $this->storage->listAll('config_test.');
     $this->assertFalse(in_array('system.performance', $names));
     $this->assertTrue(in_array($name, $names));
     // Rename the configuration storage object.
     $new_name = 'config_test.storage_rename';
     $this->storage->rename($name, $new_name);
     $raw_data = $this->read($new_name);
     $this->assertIdentical($raw_data, $data);
     // Rename it back so further tests work.
     $this->storage->rename($new_name, $name);
     // Deleting an existing name returns TRUE.
     $result = $this->storage->delete($name);
     $this->assertIdentical($result, TRUE);
     // Deleting a non-existing name returns FALSE.
     $result = $this->storage->delete($name);
     $this->assertIdentical($result, FALSE);
     // Deleting all names with prefix deletes the appropriate data and returns
     // TRUE.
     $files = array('config_test.test.biff', 'config_test.test.bang', 'config_test.test.pow');
     foreach ($files as $name) {
         $this->storage->write($name, $data);
     }
     $result = $this->storage->deleteAll('config_test.');
     $names = $this->storage->listAll('config_test.');
     $this->assertIdentical($result, TRUE);
     $this->assertIdentical($names, array());
     // Test renaming an object that does not exist throws an exception.
     try {
         $this->storage->rename('config_test.storage_does_not_exist', 'config_test.storage_does_not_exist_rename');
     } catch (\Exception $e) {
         $class = get_class($e);
         $this->pass($class . ' thrown upon renaming a nonexistent storage bin.');
     }
     // Test renaming to an object that already exists throws an exception.
     try {
         $this->storage->rename('system.cron', 'system.performance');
     } catch (\Exception $e) {
         $class = get_class($e);
         $this->pass($class . ' thrown upon renaming a nonexistent storage bin.');
     }
 }