You are here

TestSkipRowProcess.php in Drupal 8

File

core/modules/migrate/tests/modules/migrate_prepare_row_test/src/Plugin/migrate/process/TestSkipRowProcess.php
View source
<?php

namespace Drupal\migrate_prepare_row_test\Plugin\migrate\process;

use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\MigrateSkipRowException;
use Drupal\migrate\ProcessPluginBase;
use Drupal\migrate\Row;

/**
 * Provides a testing process plugin that skips rows.
 *
 * @MigrateProcessPlugin(
 *   id = "test_skip_row_process"
 * )
 */
class TestSkipRowProcess extends ProcessPluginBase {

  /**
   * {@inheritdoc}
   */
  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {

    // Test both options for save_to_map.
    $data = $row
      ->getSourceProperty('data');
    if ($data == 'skip_and_record (use plugin)') {
      throw new MigrateSkipRowException('', TRUE);
    }
    elseif ($data == 'skip_and_do_not_record (use plugin)') {
      throw new MigrateSkipRowException('', FALSE);
    }
    return $value;
  }

}

Classes

Namesort descending Description
TestSkipRowProcess Provides a testing process plugin that skips rows.