public ConfigImporter::validate()
Dispatches validate event for a ConfigImporter object.
Events should throw a \Drupal\Core\Config\ConfigImporterException to prevent an import from occurring.
Throws
\Drupal\Core\Config\ConfigImporterException Exception thrown if the validate event logged any errors.
File
- core/lib/Drupal/Core/Config/ConfigImporter.php, line 709
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 25 26 27 | public function validate() { if (! $this ->validated) { // Create the list of installs and uninstalls. $this ->createExtensionChangelist(); // Validate renames. foreach ( $this ->getUnprocessedConfiguration( 'rename' ) as $name ) { $names = $this ->storageComparer->extractRenameNames( $name ); $old_entity_type_id = $this ->configManager->getEntityTypeIdByName( $names [ 'old_name' ]); $new_entity_type_id = $this ->configManager->getEntityTypeIdByName( $names [ 'new_name' ]); if ( $old_entity_type_id != $new_entity_type_id ) { $this ->logError( $this ->t( 'Entity type mismatch on rename. @old_type not equal to @new_type for existing configuration @old_name and staged configuration @new_name.' , array ( '@old_type' => $old_entity_type_id , '@new_type' => $new_entity_type_id , '@old_name' => $names [ 'old_name' ], '@new_name' => $names [ 'new_name' ]))); } // Has to be a configuration entity. if (! $old_entity_type_id ) { $this ->logError( $this ->t( 'Rename operation for simple configuration. Existing configuration @old_name and staged configuration @new_name.' , array ( '@old_name' => $names [ 'old_name' ], '@new_name' => $names [ 'new_name' ]))); } } $this ->eventDispatcher->dispatch(ConfigEvents::IMPORT_VALIDATE, new ConfigImporterEvent( $this )); if ( count ( $this ->getErrors())) { throw new ConfigImporterException( 'There were errors validating the config synchronization.' ); } else { $this ->validated = TRUE; } } return $this ; } |
Please login to continue.