You are here

class SampleDataProcessor in YAML Content 8.2

Import processor to support entity queries and references.

Plugin annotation


@ImportProcessor(
  id = "sample_data",
  label = @Translation("Sample Data Processor"),
)

Hierarchy

Expanded class hierarchy of SampleDataProcessor

File

modules/sample_data/src/Plugin/YamlContent/SampleDataProcessor.php, line 15

Namespace

Drupal\sample_data\Plugin\YamlContent
View source
class SampleDataProcessor extends ImportProcessorBase {

  /**
   * A data loader instance to fetch sample data from.
   *
   * @var \Drupal\sample_data\SampleDataLoader
   */
  protected $dataLoader;

  /**
   * {@inheritdoc}
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->dataLoader = \Drupal::service('sample_data.loader');
  }

  /**
   * {@inheritdoc}
   */
  public function preprocess(array &$import_data) {
    $config = $this->configuration;
    if (isset($config['dataset'])) {
      $data = $this
        ->loadSampleDataSet($config['dataset']);
      $value = $data
        ->get($config['lookup']);
    }
    elseif (isset($config['data_type'])) {
      $value = $this->dataLoader
        ->loadSample($config['data_type'], $config);
    }
    if ($value) {
      $import_data[] = $value;
    }
  }

  /**
   * Load sample data set.
   *
   * The following keys are searched for within the $config array:
   * - module
   *   The module containing the data file to be loaded.
   * - path
   *   The path within the module to look for the data file. Defaults to
   *   `content/data`.
   * - file
   *   The name of the data file such that the file name is `<file>.data.yml`.
   *
   * @param array $config
   *   Configuration for the sample data set to be loaded.
   *
   * @return \Drupal\sample_data\SampleDataSet
   *   A sample data set to fetch sample data from.
   */
  protected function loadSampleDataSet(array $config) {
    $path = drupal_get_path('module', $config['module']);
    $path .= '/' . (isset($config['path']) ? $config['path'] : 'content/data');
    $path .= '/' . $config['file'] . '.data.yml';
    $data = $this->dataLoader
      ->loadDataSet($path);
    return $data;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ContextAwarePluginBase::$context protected property The data objects representing the context of this plugin.
ContextAwarePluginBase::$contexts Deprecated private property Data objects representing the contexts passed in the plugin configuration.
ContextAwarePluginBase::contextHandler protected function Wraps the context handler.
ContextAwarePluginBase::createContextFromConfiguration protected function Overrides ContextAwarePluginBase::createContextFromConfiguration
ContextAwarePluginBase::getCacheContexts public function The cache contexts associated with this object. Overrides CacheableDependencyInterface::getCacheContexts 9
ContextAwarePluginBase::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides CacheableDependencyInterface::getCacheMaxAge 7
ContextAwarePluginBase::getCacheTags public function The cache tags associated with this object. Overrides CacheableDependencyInterface::getCacheTags 4
ContextAwarePluginBase::getContext public function This code is identical to the Component in order to pick up a different Context class. Overrides ContextAwarePluginBase::getContext
ContextAwarePluginBase::getContextDefinition public function Overrides ContextAwarePluginBase::getContextDefinition
ContextAwarePluginBase::getContextDefinitions public function Overrides ContextAwarePluginBase::getContextDefinitions
ContextAwarePluginBase::getContextMapping public function Gets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface::getContextMapping
ContextAwarePluginBase::getContexts public function Gets the defined contexts. Overrides ContextAwarePluginInterface::getContexts
ContextAwarePluginBase::getContextValue public function Gets the value for a defined context. Overrides ContextAwarePluginInterface::getContextValue
ContextAwarePluginBase::getContextValues public function Gets the values for all defined contexts. Overrides ContextAwarePluginInterface::getContextValues
ContextAwarePluginBase::setContext public function Set a context on this plugin. Overrides ContextAwarePluginBase::setContext
ContextAwarePluginBase::setContextMapping public function Sets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface::setContextMapping
ContextAwarePluginBase::setContextValue public function Sets the value for a defined context. Overrides ContextAwarePluginBase::setContextValue
ContextAwarePluginBase::validateContexts public function Validates the set values for the defined contexts. Overrides ContextAwarePluginInterface::validateContexts
ContextAwarePluginBase::__get public function Implements magic __get() method.
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
ImportProcessorBase::$import public property Indicate that this plugin supports import operations.
ImportProcessorBase::postprocess public function Post-process imported content after it has been instantiated. Overrides ImportProcessorInterface::postprocess 1
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
SampleDataProcessor::$dataLoader protected property A data loader instance to fetch sample data from.
SampleDataProcessor::loadSampleDataSet protected function Load sample data set.
SampleDataProcessor::preprocess public function Pre-process import data and manipulate it prior to content creation. Overrides ImportProcessorBase::preprocess
SampleDataProcessor::__construct public function Overrides \Drupal\Component\Plugin\PluginBase::__construct(). Overrides ContextAwarePluginBase::__construct
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TypedDataTrait::$typedDataManager protected property The typed data manager used for creating the data types.
TypedDataTrait::getTypedDataManager public function Gets the typed data manager. 2
TypedDataTrait::setTypedDataManager public function Sets the typed data manager. 2