migration = $migration; $this->migrationPlugin = $migration_plugin; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) { $migration_plugin_configuration = $configuration + [ 'migration' => 'd6_filter_format', ]; return new static( $configuration, $plugin_id, $plugin_definition, $migration, $container->get('plugin.manager.migrate.process')->createInstance('migration', $migration_plugin_configuration, $migration) ); } /** * {@inheritdoc} * * Migrate filter format serial to string id in permission name. */ public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { $rid = $row->getSourceProperty('rid'); if ($formats = $row->getSourceProperty("filter_permissions:$rid")) { foreach ($formats as $format) { $new_id = $this->migrationPlugin->transform($format, $migrate_executable, $row, $destination_property); if ($new_id) { $value[] = 'use text format ' . $new_id; } } } return $value; } }