Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 38
Node
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
72
0.00% covered (danger)
0.00%
0 / 38
 buildMigrations
0.00% covered (danger)
0.00%
0 / 1
72
0.00% covered (danger)
0.00%
0 / 38
<?php
/**
 * @file
 * Contains \Drupal\node\Plugin\migrate\builder\d6\Node.
 */
namespace Drupal\node\Plugin\migrate\builder\d6;
use Drupal\migrate\Entity\Migration;
use Drupal\migrate\Exception\RequirementsException;
use Drupal\migrate_drupal\Plugin\migrate\builder\CckBuilder;
/**
 * @PluginID("d6_node")
 */
class Node extends CckBuilder {
  /**
   * {@inheritdoc}
   */
  public function buildMigrations(array $template) {
    $migrations = [];
    // Read all CCK field instance definitions in the source database.
    $fields = array();
    $source_plugin = $this->getSourcePlugin('d6_field_instance', $template['source']);
    try {
      $source_plugin->checkRequirements();
      foreach ($source_plugin as $field) {
        $info = $field->getSource();
        $fields[$info['type_name']][$info['field_name']] = $info;
      }
    }
    catch (RequirementsException $e) {
      // Don't do anything; $fields will be empty.
    }
    foreach ($this->getSourcePlugin('d6_node_type', $template['source']) as $row) {
      $node_type = $row->getSourceProperty('type');
      $values = $template;
      $values['id'] = $template['id'] . '__' . $node_type;
      $label = $template['label'];
      $values['label'] = $this->t("@label (@type)", ['@label' => $label, '@type' => $node_type]);
      $values['source']['node_type'] = $node_type;
      // If this migration is based on the d6_node_revision template, it should
      // explicitly depend on the corresponding d6_node variant.
      if ($template['id'] == 'd6_node_revision') {
        $values['migration_dependencies']['required'][] = 'd6_node__' . $node_type;
      }
      $migration = Migration::create($values);
      if (isset($fields[$node_type])) {
        foreach ($fields[$node_type] as $field => $info) {
          if ($this->cckPluginManager->hasDefinition($info['type'])) {
            $this->getCckPlugin($info['type'])
              ->processCckFieldValues($migration, $field, $info);
          }
          else {
            $migration->setProcessOfProperty($field, $field);
          }
        }
      }
      $migrations[] = $migration;
    }
    return $migrations;
  }
}