protected function ImportConfigManipulator::createImportProcessorPlugins in Entity Share 8.3
Creates multiple plugin objects for the given import config.
Parameters
\Drupal\entity_share_client\Entity\ImportConfigInterface $import_config: The import config for which to create the plugins.
string[]|null $plugin_ids: (optional) The IDs of the plugins to create, or NULL to create instances for all known plugins of this type.
array $configurations: (optional) The configurations to set for the plugins, keyed by plugin ID. Missing configurations are either taken from the index's stored settings, if they are present there, or default to an empty array.
Return value
\Drupal\entity_share_client\ImportProcessor\ImportProcessorInterface[] The created plugin objects.
Throws
\Exception Thrown if an unknown $type or plugin ID is given.
1 call to ImportConfigManipulator::createImportProcessorPlugins()
- ImportConfigManipulator::getImportProcessors in modules/
entity_share_client/ src/ Service/ ImportConfigManipulator.php - Retrieves this import config's processors.
File
- modules/
entity_share_client/ src/ Service/ ImportConfigManipulator.php, line 56
Class
- ImportConfigManipulator
- Class ImportConfigManipulator.
Namespace
Drupal\entity_share_client\ServiceCode
protected function createImportProcessorPlugins(ImportConfigInterface $import_config, array $plugin_ids = NULL, array $configurations = []) {
if ($plugin_ids === NULL) {
$plugin_ids = array_keys($this->importProcessorPluginManager
->getDefinitions());
}
$plugins = [];
$import_config_settings = $import_config
->get('import_processor_settings');
foreach ($plugin_ids as $plugin_id) {
$configuration = [];
if (isset($configurations[$plugin_id])) {
$configuration = $configurations[$plugin_id];
}
elseif (isset($import_config_settings[$plugin_id])) {
$configuration = $import_config_settings[$plugin_id];
}
try {
$plugins[$plugin_id] = $this->importProcessorPluginManager
->createInstance($plugin_id, $configuration);
} catch (PluginException $exception) {
throw new \Exception("Unknown import processor plugin with ID '{$plugin_id}'");
}
}
return $plugins;
}