protected ConfigImporter::importInvokeRename($collection, $rename_name)
Imports a configuration entity rename.
Parameters
string $collection: The configuration collection.
string $rename_name: The rename configuration name, as provided by \Drupal\Core\Config\StorageComparer::createRenameName().
Return value
bool TRUE if the configuration was imported as a configuration entity. FALSE otherwise.
Throws
\Drupal\Core\Entity\EntityStorageException Thrown if the data is owned by an entity type, but the entity storage does not support imports.
See also
\Drupal\Core\Config\ConfigImporter::createRenameName()
File
- core/lib/Drupal/Core/Config/ConfigImporter.php, line 997
Class
- ConfigImporter
- Defines a configuration importer.
Namespace
Drupal\Core\Config
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | protected function importInvokeRename( $collection , $rename_name ) { $names = $this ->storageComparer->extractRenameNames( $rename_name ); $entity_type_id = $this ->configManager->getEntityTypeIdByName( $names [ 'old_name' ]); $old_config = new Config( $names [ 'old_name' ], $this ->storageComparer->getTargetStorage( $collection ), $this ->eventDispatcher, $this ->typedConfigManager); if ( $old_data = $this ->storageComparer->getTargetStorage( $collection )->read( $names [ 'old_name' ])) { $old_config ->initWithData( $old_data ); } $data = $this ->storageComparer->getSourceStorage( $collection )->read( $names [ 'new_name' ]); $new_config = new Config( $names [ 'new_name' ], $this ->storageComparer->getTargetStorage( $collection ), $this ->eventDispatcher, $this ->typedConfigManager); if ( $data !== FALSE) { $new_config ->setData( $data ); } $entity_storage = $this ->configManager->getEntityManager()->getStorage( $entity_type_id ); // Call to the configuration entity's storage to handle the configuration // change. if (!( $entity_storage instanceof ImportableEntityStorageInterface)) { throw new EntityStorageException(sprintf( "The entity storage '%s' for the '%s' entity type does not support imports" , get_class( $entity_storage ), $entity_type_id )); } $entity_storage ->importRename( $names [ 'old_name' ], $new_config , $old_config ); $this ->setProcessedConfiguration( $collection , 'rename' , $rename_name ); return TRUE; } |
Please login to continue.