diff -u b/core/modules/migrate_drupal/src/Plugin/migrate/CckMigration.php b/core/modules/migrate_drupal/src/Plugin/migrate/CckMigration.php --- b/core/modules/migrate_drupal/src/Plugin/migrate/CckMigration.php +++ b/core/modules/migrate_drupal/src/Plugin/migrate/CckMigration.php @@ -2,12 +2,6 @@ namespace Drupal\migrate_drupal\Plugin\migrate; -use Drupal\migrate\Plugin\MigrateDestinationPluginManager; -use Drupal\migrate\Plugin\MigratePluginManager; -use Drupal\migrate\Plugin\MigrationPluginManagerInterface; -use Drupal\migrate_drupal\Plugin\MigrateCckFieldPluginManagerInterface; -use Symfony\Component\DependencyInjection\ContainerInterface; - /** * Migration plugin class for migrations dealing with CCK field values. * @@ -23,61 +17,2 @@ - /** - * Already-instantiated cckfield plugins, keyed by ID. - * - * @var \Drupal\migrate_drupal\Plugin\MigrateCckFieldInterface[] - */ - protected $cckPluginCache; - - /** - * The cckfield plugin manager. - * - * @var \Drupal\migrate_drupal\Plugin\MigrateCckFieldPluginManagerInterface - */ - protected $cckPluginManager; - - /** - * Constructs a CckMigration. - * - * @param array $configuration - * Plugin configuration. - * @param string $plugin_id - * The plugin ID. - * @param mixed $plugin_definition - * The plugin definition. - * @param \Drupal\migrate_drupal\Plugin\MigrateCckFieldPluginManagerInterface $cck_manager - * The cckfield plugin manager. - * @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_plugin_manager - * The migration plugin manager. - * @param \Drupal\migrate\Plugin\MigratePluginManager $source_plugin_manager - * The source migration plugin manager. - * @param \Drupal\migrate\Plugin\MigratePluginManager $process_plugin_manager - * The process migration plugin manager. - * @param \Drupal\migrate\Plugin\MigrateDestinationPluginManager $destination_plugin_manager - * The destination migration plugin manager. - * @param \Drupal\migrate\Plugin\MigratePluginManager $idmap_plugin_manager - * The ID map migration plugin manager. - * {@inheritdoc} - */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrateCckFieldPluginManagerInterface $cck_manager, MigrationPluginManagerInterface $migration_plugin_manager, MigratePluginManager $source_plugin_manager, MigratePluginManager $process_plugin_manager, MigrateDestinationPluginManager $destination_plugin_manager, MigratePluginManager $idmap_plugin_manager) { - parent::__construct($configuration, $plugin_id, $plugin_definition, $cck_manager, $migration_plugin_manager, $source_plugin_manager, $process_plugin_manager, $destination_plugin_manager, $idmap_plugin_manager); - $this->cckPluginManager = $cck_manager; - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $container->get('plugin.manager.migrate.cckfield'), - $container->get('plugin.manager.migration'), - $container->get('plugin.manager.migrate.source'), - $container->get('plugin.manager.migrate.process'), - $container->get('plugin.manager.migrate.destination'), - $container->get('plugin.manager.migrate.id_map') - ); - } - } diff -u b/core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php b/core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php --- b/core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php +++ b/core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php @@ -10,6 +10,7 @@ use Drupal\migrate\Plugin\Migration; use Drupal\migrate\Plugin\MigrationPluginManagerInterface; use Drupal\migrate\Plugin\RequirementsInterface; +use Drupal\migrate_drupal\Plugin\MigrateCckFieldPluginManagerInterface; use Drupal\migrate_drupal\Plugin\MigrateFieldPluginManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -58,6 +59,13 @@ protected $fieldPluginManager; /** + * The cckfield plugin manager. + * + * @var \Drupal\migrate_drupal\Plugin\MigrateCckFieldPluginManagerInterface + */ + protected $cckPluginManager; + + /** * Constructs a FieldMigration. * * @param array $configuration @@ -66,6 +74,8 @@ * The plugin ID. * @param mixed $plugin_definition * The plugin definition. + * @param \Drupal\migrate_drupal\Plugin\MigrateCckFieldPluginManagerInterface $cck_manager + * The cckfield plugin manager. * @param \Drupal\migrate_drupal\Plugin\MigrateFieldPluginManagerInterface $field_manager * The field plugin manager. * @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_plugin_manager @@ -79,8 +89,9 @@ * @param \Drupal\migrate\Plugin\MigratePluginManager $idmap_plugin_manager * The ID map migration plugin manager. */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrateFieldPluginManagerInterface $field_manager, MigrationPluginManagerInterface $migration_plugin_manager, MigratePluginManager $source_plugin_manager, MigratePluginManager $process_plugin_manager, MigrateDestinationPluginManager $destination_plugin_manager, MigratePluginManager $idmap_plugin_manager) { + public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrateCckFieldPluginManagerInterface $cck_manager, MigrateFieldPluginManagerInterface $field_manager, MigrationPluginManagerInterface $migration_plugin_manager, MigratePluginManager $source_plugin_manager, MigratePluginManager $process_plugin_manager, MigrateDestinationPluginManager $destination_plugin_manager, MigratePluginManager $idmap_plugin_manager) { parent::__construct($configuration, $plugin_id, $plugin_definition, $migration_plugin_manager, $source_plugin_manager, $process_plugin_manager, $destination_plugin_manager, $idmap_plugin_manager); + $this->cckPluginManager = $cck_manager; $this->fieldPluginManager = $field_manager; } @@ -92,6 +103,7 @@ $configuration, $plugin_id, $plugin_definition, + $container->get('plugin.manager.migrate.cckfield'), $container->get('plugin.manager.migrate.field'), $container->get('plugin.manager.migration'), $container->get('plugin.manager.migrate.source'), @@ -119,23 +131,31 @@ } foreach ($source_plugin as $row) { $field_type = $row->getSourceProperty('type'); + try { - $plugin_id = $this->fieldPluginManager->getPluginIdFromFieldType($field_type, [], $this); + $plugin_id = $this->cckPluginManager->getPluginIdFromFieldType($field_type, [], $this); + $Manager = $this->cckPluginManager; } catch (PluginNotFoundException $ex) { - continue; + try { + $plugin_id = $this->fieldPluginManager->getPluginIdFromFieldType($field_type, [], $this); + $Manager = $this->fieldPluginManager; + } + catch (PluginNotFoundException $ex) { + continue; + } } - if (!isset($this->processedFieldTypes[$field_type]) && $this->fieldPluginManager->hasDefinition($plugin_id)) { + if (!isset($this->processedFieldTypes[$field_type]) && $Manager->hasDefinition($plugin_id)) { $this->processedFieldTypes[$field_type] = TRUE; // Allow the field plugin to alter the migration as necessary so that // it knows how to handle fields of this type. if (!isset($this->fieldPluginCache[$field_type])) { - $this->fieldPluginCache[$field_type] = $this->fieldPluginManager->createInstance($plugin_id, [], $this); + $this->fieldPluginCache[$field_type] = $Manager->createInstance($plugin_id, [], $this); } - $method = $this->pluginDefinition[static::PLUGIN_METHOD]; - call_user_func([$this->fieldPluginCache[$field_type], $method], $this); } + $method = $this->pluginDefinition[static::PLUGIN_METHOD]; + call_user_func([$this->fieldPluginCache[$field_type], $method], $this); } } return parent::getProcess();