EntityFieldStorageConfig.php in Zircon Profile 8.0
File
core/modules/migrate_drupal/src/Plugin/migrate/destination/EntityFieldStorageConfig.php
View source
<?php
namespace Drupal\migrate_drupal\Plugin\migrate\destination;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\Core\Field\FieldTypePluginManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\migrate\Entity\MigrationInterface;
use Drupal\migrate\Plugin\migrate\destination\EntityFieldStorageConfig as BaseEntityFieldStorageConfig;
class EntityFieldStorageConfig extends BaseEntityFieldStorageConfig {
protected $fieldTypePluginManager;
public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityStorageInterface $storage, array $bundles, FieldTypePluginManagerInterface $field_type_plugin_manager) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $storage, $bundles);
$this->fieldTypePluginManager = $field_type_plugin_manager;
}
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
$entity_type_id = static::getEntityTypeId($plugin_id);
return new static($configuration, $plugin_id, $plugin_definition, $migration, $container
->get('entity.manager')
->getStorage($entity_type_id), array_keys($container
->get('entity.manager')
->getBundleInfo($entity_type_id)), $container
->get('plugin.manager.field.field_type'));
}
public function calculateDependencies() {
$this->dependencies = parent::calculateDependencies();
$source_configuration = $this->migration
->get('source');
if (isset($source_configuration['constants']['type'])) {
$field_type = $this->fieldTypePluginManager
->getDefinition($source_configuration['constants']['type']);
$this
->addDependency('module', $field_type['provider']);
}
return $this->dependencies;
}
protected static function getEntityTypeId($plugin_id) {
return 'field_storage_config';
}
}