diff -u b/core/modules/file/src/Plugin/migrate/process/d6/FieldFile.php b/core/modules/file/src/Plugin/migrate/process/d6/CckFile.php --- b/core/modules/file/src/Plugin/migrate/process/d6/FieldFile.php +++ b/core/modules/file/src/Plugin/migrate/process/d6/CckFile.php @@ -5,88 +5,14 @@ -use Drupal\Core\Plugin\ContainerFactoryPluginInterface; -use Drupal\migrate\Plugin\MigrationInterface; -use Drupal\migrate\MigrateExecutableInterface; -use Drupal\migrate\Plugin\MigrateProcessInterface; -use Drupal\migrate\ProcessPluginBase; -use Drupal\migrate\Row; -use Symfony\Component\DependencyInjection\ContainerInterface; +@trigger_error('CckFile is deprecated in Drupal 8.3.x and will be +be removed before Drupal 9.0.x. Use \Drupal\file\Plugin\migrate\process\d6\FieldFile +instead.', E_USER_DEPRECATED); + /** * @MigrateProcessPlugin( - * id = "d6_field_file" + * id = "d6_cck_file" * ) + * + * @deprecated in Drupal 8.3.x, to be removed before Drupal 9.0.x. Use + * \Drupal\file\Plugin\migrate\process\d6\FieldFile instead. */ -class FieldFile extends ProcessPluginBase implements ContainerFactoryPluginInterface { - - /** - * The migration process plugin, configured for lookups in d6_file. - * - * @var \Drupal\migrate\Plugin\MigrateProcessInterface - */ - protected $migrationPlugin; - - /** - * Constructs a FieldFile plugin instance. - * - * @param array $configuration - * The plugin configuration. - * @param string $plugin_id - * The plugin ID. - * @param mixed $plugin_definition - * The plugin definition. - * @param \Drupal\migrate\Plugin\MigrationInterface $migration - * The current migration. - * @param \Drupal\migrate\Plugin\MigrateProcessInterface $migration_plugin - * An instance of the 'migration' process plugin. - */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, MigrateProcessInterface $migration_plugin) { - parent::__construct($configuration, $plugin_id, $plugin_definition); - $this->migration = $migration; - $this->migrationPlugin = $migration_plugin; - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) { - // Configure the migration process plugin to look up migrated IDs from - // a d6 file migration. - $migration_plugin_configuration = $configuration + [ - 'migration' => 'd6_file', - 'source' => ['fid'], - ]; - - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $migration, - $container->get('plugin.manager.migrate.process')->createInstance('migration', $migration_plugin_configuration, $migration) - ); - } - - /** - * {@inheritdoc} - */ - public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { - $options = unserialize($value['data']); - - // Try to look up the ID of the migrated file. If one cannot be found, it - // means the file referenced by the current field item did not migrate for - // some reason -- file migration is notoriously brittle -- and we do NOT - // want to send invalid file references into the field system (it causes - // fatals), so return an empty item instead. - if ($fid = $this->migrationPlugin->transform($value['fid'], $migrate_executable, $row, $destination_property)) { - return [ - 'target_id' => $fid, - 'display' => $value['list'], - 'description' => isset($options['description']) ? $options['description'] : '', - 'alt' => isset($options['alt']) ? $options['alt'] : '', - 'title' => isset($options['title']) ? $options['title'] : '', - ]; - } - else { - return []; - } - } - -} +class CckFile extends FieldFile {} only in patch2: unchanged: --- a/core/modules/text/tests/src/Unit/Migrate/TextFieldTest.php +++ b/core/modules/text/tests/src/Unit/Migrate/TextCckTest.php @@ -12,7 +12,7 @@ * @coversDefaultClass \Drupal\text\Plugin\migrate\cckfield\TextField * @group text */ -class TextFieldTest extends UnitTestCase { +class TextCckTest extends UnitTestCase { /** * @var \Drupal\migrate_drupal\Plugin\MigrateCckFieldInterface @@ -147,12 +147,7 @@ public function getFieldTypeProvider() { ['list_string', 'optionwidgets_buttons'], ['list_string', 'optionwidgets_select'], ['boolean', 'optionwidgets_onoff'], - ['text_long', 'text_textarea', [ - 'text_processing' => TRUE, - ]], - ['string_long', 'text_textarea', [ - 'text_processing' => FALSE, - ]], + ['text_long', 'text_textarea'], [NULL, 'undefined'], ]; } @@ -162,8 +157,7 @@ public function getFieldTypeProvider() { * @dataProvider getFieldTypeProvider */ public function testGetFieldType($expected_type, $widget_type, array $settings = []) { - $row = new Row(); - $row->setSourceProperty('widget_type', $widget_type); + $row = new Row(['widget_type' => $widget_type], ['widget_type' => []]); $row->setSourceProperty('global_settings', $settings); $this->assertSame($expected_type, $this->plugin->getFieldType($row)); }