state = $state; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) { $entity_type = static::getEntityTypeId($plugin_id); return new static( $configuration, $plugin_id, $plugin_definition, $migration, $container->get('entity.manager')->getStorage($entity_type), array_keys($container->get('entity.manager')->getBundleInfo($entity_type)), $container->get('entity.manager'), $container->get('plugin.manager.field.field_type'), $container->get('state') ); } /** * {@inheritdoc} */ public function import(Row $row, array $old_destination_id_values = []) { if ($row->isStub() && ($state = $this->state->get('comment.maintain_entity_statistics', 0))) { $this->state->set('comment.maintain_entity_statistics', 0); } $return = parent::import($row, $old_destination_id_values); if ($row->isStub() && $state) { $this->state->set('comment.maintain_entity_statistics', $state); } return $return; } /** * {@inheritdoc} */ protected function processStubRow(Row $row) { parent::processStubRow($row); // Neither uid nor name is required in itself, but it is required to set one // of them. $row->setDestinationProperty('name', 'anonymous_stub'); } }