Chris@0: entityDefinitions = $entity_definitions; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container, $base_plugin_id) { Chris@0: return new static( Chris@0: $container->get('entity.manager')->getDefinitions() Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getDerivativeDefinition($derivative_id, $base_plugin_definition) { Chris@0: if (!empty($this->derivatives) && !empty($this->derivatives[$derivative_id])) { Chris@0: return $this->derivatives[$derivative_id]; Chris@0: } Chris@0: $this->getDerivativeDefinitions($base_plugin_definition); Chris@0: return $this->derivatives[$derivative_id]; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getDerivativeDefinitions($base_plugin_definition) { Chris@0: foreach ($this->entityDefinitions as $entity_type => $entity_info) { Chris@0: if ($entity_info->getKey('revision')) { Chris@0: $this->derivatives[$entity_type] = [ Chris@0: 'id' => "entity_revision:$entity_type", Chris@0: 'class' => 'Drupal\migrate\Plugin\migrate\destination\EntityRevision', Chris@0: 'requirements_met' => 1, Chris@0: 'provider' => $entity_info->getProvider(), Chris@0: ]; Chris@0: } Chris@0: } Chris@0: return $this->derivatives; Chris@0: } Chris@0: Chris@0: }