Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 8 |
MigrateDestinationPluginManager | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
20 | |
0.00% |
0 / 8 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
createInstance | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 5 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\migrate\Plugin\MigrateDestinationPluginManager. | |
*/ | |
namespace Drupal\migrate\Plugin; | |
use Drupal\Core\Cache\CacheBackendInterface; | |
use Drupal\Core\Entity\EntityManagerInterface; | |
use Drupal\Core\Extension\ModuleHandlerInterface; | |
use Drupal\migrate\Entity\MigrationInterface; | |
/** | |
* Plugin manager for migrate destination plugins. | |
* | |
* @see \Drupal\migrate\Plugin\MigrateDestinationInterface | |
* @see \Drupal\migrate\Plugin\destination\DestinationBase | |
* @see \Drupal\migrate\Annotation\MigrateDestination | |
* @see plugin_api | |
* | |
* @ingroup migration | |
*/ | |
class MigrateDestinationPluginManager extends MigratePluginManager { | |
/** | |
* The entity manager. | |
* | |
* @var \Drupal\Core\Entity\EntityManagerInterface | |
*/ | |
protected $entityManager; | |
/** | |
* Constructs a MigrateDestinationPluginManager object. | |
* | |
* @param string $type | |
* The type of the plugin: row, source, process, destination, entity_field, | |
* id_map. | |
* @param \Traversable $namespaces | |
* An object that implements \Traversable which contains the root paths | |
* keyed by the corresponding namespace to look for plugin implementations. | |
* @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend | |
* Cache backend instance to use. | |
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler | |
* The module handler to invoke the alter hook with. | |
* @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager | |
* The entity manager. | |
* @param string $annotation | |
* (optional) The annotation class name. Defaults to | |
* 'Drupal\migrate\Annotation\MigrateDestination'. | |
*/ | |
public function __construct($type, \Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler, EntityManagerInterface $entity_manager, $annotation = 'Drupal\migrate\Annotation\MigrateDestination') { | |
parent::__construct($type, $namespaces, $cache_backend, $module_handler, $annotation); | |
$this->entityManager = $entity_manager; | |
} | |
/** | |
* {@inheritdoc} | |
* | |
* A specific createInstance method is necessary to pass the migration on. | |
*/ | |
public function createInstance($plugin_id, array $configuration = array(), MigrationInterface $migration = NULL) { | |
if (substr($plugin_id, 0, 7) == 'entity:' && !$this->entityManager->getDefinition(substr($plugin_id, 7), FALSE)) { | |
$plugin_id = 'null'; | |
} | |
return parent::createInstance($plugin_id, $configuration, $migration); | |
} | |
} |