From bae384ae3ca6a5aed02b5082dc013449ad897b7d Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole Date: Mon, 12 Jun 2017 15:05:51 +0100 Subject: [PATCH] Issue #2835586 by Grayside, heddn, tjh: Allow customization of stub rows from Migration process plugin --- .../migrate/process/MigrationLookup.php | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/core/modules/migrate/src/Plugin/migrate/process/MigrationLookup.php b/core/modules/migrate/src/Plugin/migrate/process/MigrationLookup.php index f387df5233f..835fd691c9b 100644 --- a/core/modules/migrate/src/Plugin/migrate/process/MigrationLookup.php +++ b/core/modules/migrate/src/Plugin/migrate/process/MigrationLookup.php @@ -217,7 +217,7 @@ class MigrationLookup extends ProcessPluginBase implements ContainerFactoryPlugi $values[$source_id] = $source_id_values[$migration->id()][$index]; } - $stub_row = new Row($values + $migration->getSourceConfiguration(), $source_ids, TRUE); + $stub_row = $this->createStubRow($values + $migration->getSourceConfiguration(), $source_ids); // Do a normal migration with the stub row. $migrate_executable->processRow($stub_row, $process); @@ -257,4 +257,23 @@ class MigrationLookup extends ProcessPluginBase implements ContainerFactoryPlugi } } + /** + * Create a stub row source for later import as stub data. + * + * This simple wrapper of the Row constructor allows sub-classing plugins to + * have more control over the row. + * + * @param array $values + * An array of values to add as properties on the object. + * @param array $source_ids + * An array containing the IDs of the source using the keys as the field + * names. + * + * @return \Drupal\migrate\Row + * The stub row. + */ + protected function createStubRow(array $values, array $source_ids) { + return new Row($values, $source_ids, TRUE); + } + }