From 522631b06402f11c35722b1f4475a189944f4ecf Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Sat, 9 Jun 2018 11:38:09 +0100 Subject: [PATCH] Issue #2951715 by dravenk, marvil07, rakesh.gectcr, davidsonjames, heddn, Jo Fitzgerald, quietone, alexpott, maxocub: Log message if static_map plugin skips the row --- core/modules/migrate/src/Plugin/migrate/process/StaticMap.php | 3 ++- core/modules/migrate/tests/src/Unit/process/StaticMapTest.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php b/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php index 4efb15df0b2f..c809ff3b81e9 100644 --- a/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php +++ b/core/modules/migrate/src/Plugin/migrate/process/StaticMap.php @@ -3,6 +3,7 @@ namespace Drupal\migrate\Plugin\migrate\process; use Drupal\Component\Utility\NestedArray; +use Drupal\Component\Utility\Variable; use Drupal\migrate\ProcessPluginBase; use Drupal\migrate\MigrateException; use Drupal\migrate\MigrateExecutableInterface; @@ -140,7 +141,7 @@ public function transform($value, MigrateExecutableInterface $migrate_executable return $this->configuration['default_value']; } if (empty($this->configuration['bypass'])) { - throw new MigrateSkipRowException(); + throw new MigrateSkipRowException(sprintf("No static mapping found for '%s' and no default value provided for destination '%s'.", Variable::export($value), $destination_property)); } else { return $value; diff --git a/core/modules/migrate/tests/src/Unit/process/StaticMapTest.php b/core/modules/migrate/tests/src/Unit/process/StaticMapTest.php index 91a0d2c70886..1a9a61acd68a 100644 --- a/core/modules/migrate/tests/src/Unit/process/StaticMapTest.php +++ b/core/modules/migrate/tests/src/Unit/process/StaticMapTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\migrate\Unit\process; +use Drupal\Component\Utility\Variable; use Drupal\migrate\MigrateException; use Drupal\migrate\MigrateSkipRowException; use Drupal\migrate\Plugin\migrate\process\StaticMap; @@ -50,7 +51,7 @@ public function testMapwithEmptySource() { * Tests when the source is invalid. */ public function testMapwithInvalidSource() { - $this->setExpectedException(MigrateSkipRowException::class); + $this->setExpectedException(MigrateSkipRowException::class, sprintf("No static mapping found for '%s' and no default value provided for destination '%s'.", Variable::export(['bar']), 'destinationproperty')); $this->plugin->transform(['bar'], $this->migrateExecutable, $this->row, 'destinationproperty'); } -- GitLab