protected function MigrateStub::doCreateStub in Drupal 8
Same name and namespace in other branches
- 9 core/modules/migrate/src/MigrateStub.php \Drupal\migrate\MigrateStub::doCreateStub()
Creates a stub.
Parameters
\Drupal\migrate\Plugin\MigrationInterface $migration: The migration to use to create the stub.
array $source_ids: The source ids to map to the stub.
array $default_values: (optional) An array of values to include in the stub.
Return value
array|bool An array of destination ids for the stub.
Throws
\Drupal\migrate\MigrateException
1 call to MigrateStub::doCreateStub()
- MigrateStub::createStub in core/
modules/ migrate/ src/ MigrateStub.php - Creates a stub.
File
- core/
modules/ migrate/ src/ MigrateStub.php, line 106
Class
- MigrateStub
- Provides the migrate stubbing service.
Namespace
Drupal\migrateCode
protected function doCreateStub(MigrationInterface $migration, array $source_ids, array $default_values = []) {
$destination = $migration
->getDestinationPlugin(TRUE);
$process = $migration
->getProcess();
$id_map = $migration
->getIdMap();
$migrate_executable = new MigrateExecutable($migration);
$row = new Row($source_ids + $migration
->getSourceConfiguration(), $migration
->getSourcePlugin()
->getIds(), TRUE);
$migrate_executable
->processRow($row, $process);
foreach ($default_values as $key => $value) {
$row
->setDestinationProperty($key, $value);
}
$destination_ids = [];
try {
$destination_ids = $destination
->import($row);
} catch (\Exception $e) {
$id_map
->saveMessage($row
->getSourceIdValues(), $e
->getMessage());
}
if ($destination_ids) {
$id_map
->saveIdMapping($row, $destination_ids, MigrateIdMapInterface::STATUS_NEEDS_UPDATE);
return $destination_ids;
}
return FALSE;
}