Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
| MigratePluginManager | |
100.00% |
1 / 1 |
|
100.00% |
2 / 2 |
4 | |
100.00% |
0 / 0 |
| __construct | |
100.00% |
1 / 1 |
2 | |
100.00% |
0 / 0 |
|||
| createInstance | |
100.00% |
1 / 1 |
2 | |
100.00% |
0 / 0 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\migrate\Plugin\MigratePluginManager. | |
| */ | |
| namespace Drupal\migrate\Plugin; | |
| use Drupal\Component\Plugin\Factory\DefaultFactory; | |
| use Drupal\Core\Cache\CacheBackendInterface; | |
| use Drupal\Core\Extension\ModuleHandlerInterface; | |
| use Drupal\Core\Plugin\DefaultPluginManager; | |
| use Drupal\migrate\Entity\MigrationInterface; | |
| /** | |
| * Manages migrate plugins. | |
| * | |
| * @see hook_migrate_info_alter() | |
| * @see \Drupal\migrate\Annotation\MigrateSource | |
| * @see \Drupal\migrate\Plugin\MigrateSourceInterface | |
| * @see \Drupal\migrate\Plugin\migrate\source\SourcePluginBase | |
| * @see \Drupal\migrate\Annotation\MigrateProcessPlugin | |
| * @see \Drupal\migrate\Plugin\MigrateProcessInterface | |
| * @see \Drupal\migrate\Plugin\migrate\process\ProcessPluginBase | |
| * @see plugin_api | |
| * | |
| * @ingroup migration | |
| */ | |
| class MigratePluginManager extends DefaultPluginManager { | |
| /** | |
| * Constructs a MigratePluginManager 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 string $annotation | |
| * (optional) The annotation class name. Defaults to | |
| * 'Drupal\Component\Annotation\PluginID'. | |
| */ | |
| public function __construct($type, \Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler, $annotation = 'Drupal\Component\Annotation\PluginID') { | |
| $plugin_interface = isset($plugin_interface_map[$type]) ? $plugin_interface_map[$type] : NULL; | |
| parent::__construct("Plugin/migrate/$type", $namespaces, $module_handler, $plugin_interface, $annotation); | |
| $this->alterInfo('migrate_' . $type . '_info'); | |
| $this->setCacheBackend($cache_backend, 'migrate_plugins_' . $type); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| * | |
| * A specific createInstance method is necessary to pass the migration on. | |
| */ | |
| public function createInstance($plugin_id, array $configuration = array(), MigrationInterface $migration = NULL) { | |
| $plugin_definition = $this->getDefinition($plugin_id); | |
| $plugin_class = DefaultFactory::getPluginClass($plugin_id, $plugin_definition); | |
| // If the plugin provides a factory method, pass the container to it. | |
| if (is_subclass_of($plugin_class, 'Drupal\Core\Plugin\ContainerFactoryPluginInterface')) { | |
| $plugin = $plugin_class::create(\Drupal::getContainer(), $configuration, $plugin_id, $plugin_definition, $migration); | |
| } | |
| else { | |
| $plugin = new $plugin_class($configuration, $plugin_id, $plugin_definition, $migration); | |
| } | |
| return $plugin; | |
| } | |
| } |