class DataStream in farmOS 2.x
Same name in this branch
- 2.x modules/core/data_stream/src/Entity/DataStream.php \Drupal\data_stream\Entity\DataStream
- 2.x modules/core/data_stream/src/Plugin/migrate/destination/DataStream.php \Drupal\data_stream\Plugin\migrate\destination\DataStream
A destination plugin for data streams that can use a "providing_asset" ID.
Extend the entity content base plugin to create backwards references to assets that provide data streams. This is necessary because there was no concept of data streams in farmOS 1.x. When creating a data stream from a sensor asset, we need to reference the asset at this time.
Plugin annotation
@MigrateDestination(
id = "data_stream",
provider = "data_stream"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate\Plugin\migrate\destination\DestinationBase implements MigrateDestinationInterface, RequirementsInterface
- class \Drupal\migrate\Plugin\migrate\destination\Entity implements DependentPluginInterface, ContainerFactoryPluginInterface uses DependencyTrait, EntityFieldDefinitionTrait
- class \Drupal\migrate\Plugin\migrate\destination\EntityContentBase implements HighestIdInterface, MigrateValidatableEntityInterface
- class \Drupal\data_stream\Plugin\migrate\destination\DataStream
- class \Drupal\migrate\Plugin\migrate\destination\EntityContentBase implements HighestIdInterface, MigrateValidatableEntityInterface
- class \Drupal\migrate\Plugin\migrate\destination\Entity implements DependentPluginInterface, ContainerFactoryPluginInterface uses DependencyTrait, EntityFieldDefinitionTrait
- class \Drupal\migrate\Plugin\migrate\destination\DestinationBase implements MigrateDestinationInterface, RequirementsInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of DataStream
File
- modules/
core/ data_stream/ src/ Plugin/ migrate/ destination/ DataStream.php, line 21
Namespace
Drupal\data_stream\Plugin\migrate\destinationView source
class DataStream extends EntityContentBase {
/**
* {@inheritdoc}
*/
protected static function getEntityTypeId($plugin_id) {
return 'data_stream';
}
/**
* {@inheritdoc}
*/
protected function getEntity(Row $row, array $old_destination_id_values) {
// The parent will create or update the entity.
$entity = parent::getEntity($row, $old_destination_id_values);
// Bail if the no entity was returned.
if (empty($entity)) {
return $entity;
}
// Save the entity now so that it has an ID.
// This means that the EntityValidationRequired feature will not work
// because we save it now, rather than waiting to see if it is validated.
$entity
->save();
// Check if a providing_asset ID was provided.
if ($row
->hasDestinationProperty('providing_asset')) {
$providing_asset = $row
->getDestinationProperty('providing_asset');
/** @var \Drupal\asset\Entity\AssetInterface $asset */
$asset = \Drupal::entityTypeManager()
->getStorage('asset')
->load($providing_asset);
// Update the assets data_stream field if the asset was found
// and the asset type has the field.
if (!empty($asset) && $asset
->hasField('data_stream')) {
$asset->data_stream[] = $entity
->id();
$asset
->save();
}
}
// Return the entity.
return $entity;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DataStream:: |
protected | function |
Creates or loads an entity. Overrides Entity:: |
|
DataStream:: |
protected static | function |
Finds the entity type from configuration or plugin ID. Overrides EntityFieldDefinitionTrait:: |
|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
DependencyTrait:: |
protected | property | The object's dependencies. | |
DependencyTrait:: |
protected | function | Adds multiple dependencies. | |
DependencyTrait:: |
protected | function | Adds a dependency. | |
DestinationBase:: |
protected | property | The migration. | |
DestinationBase:: |
protected | property | The rollback action to be saved for the last imported item. | |
DestinationBase:: |
protected | property | Indicates whether the destination can be rolled back. | |
DestinationBase:: |
public | function |
Checks if requirements for this plugin are OK. Overrides RequirementsInterface:: |
|
DestinationBase:: |
public | function |
Gets the destination module handling the destination data. Overrides MigrateDestinationInterface:: |
1 |
DestinationBase:: |
public | function |
The rollback action for the last imported item. Overrides MigrateDestinationInterface:: |
|
DestinationBase:: |
protected | function | For a destination item being updated, set the appropriate rollback action. | |
DestinationBase:: |
public | function |
Whether the destination can be rolled back or not. Overrides MigrateDestinationInterface:: |
|
Entity:: |
protected | property | The list of the bundles of this entity type. | |
Entity:: |
protected | property | The entity storage. | |
Entity:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
|
Entity:: |
public | function |
Returns an array of destination fields. Overrides MigrateDestinationInterface:: |
|
Entity:: |
public | function | Gets the bundle for the row taking into account the default. | |
Entity:: |
protected | function | Gets the entity ID of the row. | 2 |
Entity:: |
protected | function | Returns a specific entity key. | |
EntityContentBase:: |
protected | property | Entity field manager. | |
EntityContentBase:: |
protected | property | Field type plugin manager. | |
EntityContentBase:: |
public static | function |
Creates an instance of the plugin. Overrides Entity:: |
2 |
EntityContentBase:: |
public | function |
Returns the highest ID tracked by the implementing plugin. Overrides HighestIdInterface:: |
2 |
EntityContentBase:: |
public | function |
Gets the destination IDs. Overrides MigrateDestinationInterface:: |
2 |
EntityContentBase:: |
public | function |
Overrides MigrateDestinationInterface:: |
2 |
EntityContentBase:: |
public | function |
Returns a state of whether an entity needs to be validated before saving. Overrides MigrateValidatableEntityInterface:: |
|
EntityContentBase:: |
public | function | ||
EntityContentBase:: |
protected | function | Populates as much of the stub row as possible. | 3 |
EntityContentBase:: |
public | function |
Delete the specified destination object from the target Drupal. Overrides Entity:: |
1 |
EntityContentBase:: |
protected | function | Saves the entity. | 3 |
EntityContentBase:: |
protected | function | Updates an entity with the new values from row. | 3 |
EntityContentBase:: |
public | function |
Validates the entity. Overrides MigrateValidatableEntityInterface:: |
|
EntityContentBase:: |
public | function |
Constructs a content entity. Overrides Entity:: |
3 |
EntityFieldDefinitionTrait:: |
protected | function | Gets the field definition from a specific entity base field. | |
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
2 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |