migrationPluginManager = $migation_plugin_manager; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) { return new static( $configuration, $plugin_id, $plugin_definition, $migration, $container->get('migrate.lookup'), $container->get('migrate.stub'), $container->get('plugin.manager.migration'), ); } /** * {@inheritdoc} */ public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { // Get the migration group ID from the process configuration. $lookup_migration_group_id = $this->configuration['migration_group']; // Load all migrations. $migrations = $this->migrationPluginManager->createInstances([]); // Filter by group. $group_migrations = []; foreach ($migrations as $id => $migration) { $definition = $migration->getPluginDefinition(); if ($definition['migration_group'] == $lookup_migration_group_id) { $group_migrations[] = $id; } } // Set the migration configuration and delegate processing to the parent // MigrationLookup::transform() method. $this->configuration['migration'] = $group_migrations; return parent::transform($value, $migrate_executable, $row, $destination_property); } }