From 0ce9b3eb200aab62c27feeb52dd7e822da65e4a9 Mon Sep 17 00:00:00 2001 From: elizoller Date: Fri, 18 Dec 2020 04:42:17 +0000 Subject: [PATCH] abstract awaying the shared constructor so that phpcpd is happy about less duplicated code --- .../Action/AbstractGenerateDerivative.php | 133 +--------------- .../Action/AbstractGenerateDerivativeBase.php | 146 ++++++++++++++++++ .../AbstractGenerateDerivativeMediaFile.php | 145 +---------------- 3 files changed, 148 insertions(+), 276 deletions(-) create mode 100644 src/Plugin/Action/AbstractGenerateDerivativeBase.php diff --git a/src/Plugin/Action/AbstractGenerateDerivative.php b/src/Plugin/Action/AbstractGenerateDerivative.php index 373031b3..b22201e1 100644 --- a/src/Plugin/Action/AbstractGenerateDerivative.php +++ b/src/Plugin/Action/AbstractGenerateDerivative.php @@ -2,145 +2,14 @@ namespace Drupal\islandora\Plugin\Action; -use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Entity\EntityInterface; -use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Form\FormStateInterface; -use Drupal\Core\Messenger\MessengerInterface; -use Drupal\Core\Session\AccountInterface; use Drupal\Core\Url; -use Drupal\islandora\IslandoraUtils; -use Drupal\islandora\EventGenerator\EmitEvent; -use Drupal\islandora\EventGenerator\EventGeneratorInterface; -use Drupal\islandora\MediaSource\MediaSourceService; -use Drupal\jwt\Authentication\Provider\JwtAuth; -use Drupal\token\TokenInterface; -use Stomp\StatefulStomp; -use Symfony\Component\DependencyInjection\ContainerInterface; /** * Emits a Node event. */ -class AbstractGenerateDerivative extends EmitEvent { - - /** - * Islandora utility functions. - * - * @var \Drupal\islandora\IslandoraUtils - */ - protected $utils; - - /** - * Media source service. - * - * @var \Drupal\islandora\MediaSource\MediaSourceService - */ - protected $mediaSource; - - /** - * Token replacement service. - * - * @var \Drupal\token\TokenInterface - */ - protected $token; - - /** - * The messenger. - * - * @var \Drupal\Core\Messenger\MessengerInterface - */ - protected $messenger; - - /** - * The system file config. - * - * @var \Drupal\Core\Config\ImmutableConfig - */ - protected $config; - - /** - * Constructs a EmitEvent action. - * - * @param array $configuration - * A configuration array containing information about the plugin instance. - * @param string $plugin_id - * The plugin_id for the plugin instance. - * @param mixed $plugin_definition - * The plugin implementation definition. - * @param \Drupal\Core\Session\AccountInterface $account - * Current user. - * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager - * Entity type manager. - * @param \Drupal\islandora\EventGenerator\EventGeneratorInterface $event_generator - * EventGenerator service to serialize AS2 events. - * @param \Stomp\StatefulStomp $stomp - * Stomp client. - * @param \Drupal\jwt\Authentication\Provider\JwtAuth $auth - * JWT Auth client. - * @param \Drupal\islandora\IslandoraUtils $utils - * Islandora utility functions. - * @param \Drupal\islandora\MediaSource\MediaSourceService $media_source - * Media source service. - * @param \Drupal\token\TokenInterface $token - * Token service. - * @param \Drupal\Core\Messenger\MessengerInterface $messenger - * The messenger. - * @param \Drupal\Core\Config\ConfigFactoryInterface $config - * The system file config. - */ - public function __construct( - array $configuration, - $plugin_id, - $plugin_definition, - AccountInterface $account, - EntityTypeManagerInterface $entity_type_manager, - EventGeneratorInterface $event_generator, - StatefulStomp $stomp, - JwtAuth $auth, - IslandoraUtils $utils, - MediaSourceService $media_source, - TokenInterface $token, - MessengerInterface $messenger, - ConfigFactoryInterface $config - ) { - $this->utils = $utils; - $this->mediaSource = $media_source; - $this->token = $token; - $this->messenger = $messenger; - $this->config = $config->get('system.file'); - parent::__construct( - $configuration, - $plugin_id, - $plugin_definition, - $account, - $entity_type_manager, - $event_generator, - $stomp, - $auth, - $messenger - ); - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $container->get('current_user'), - $container->get('entity_type.manager'), - $container->get('islandora.eventgenerator'), - $container->get('islandora.stomp'), - $container->get('jwt.authentication.jwt'), - $container->get('islandora.utils'), - $container->get('islandora.media_source_service'), - $container->get('token'), - $container->get('messenger'), - $container->get('config.factory') - ); - } +class AbstractGenerateDerivative extends AbstractGenerateDerivativeBase { /** * {@inheritdoc} diff --git a/src/Plugin/Action/AbstractGenerateDerivativeBase.php b/src/Plugin/Action/AbstractGenerateDerivativeBase.php new file mode 100644 index 00000000..743accde --- /dev/null +++ b/src/Plugin/Action/AbstractGenerateDerivativeBase.php @@ -0,0 +1,146 @@ +utils = $utils; + $this->mediaSource = $media_source; + $this->token = $token; + $this->messenger = $messenger; + $this->config = $config->get('system.file'); + parent::__construct( + $configuration, + $plugin_id, + $plugin_definition, + $account, + $entity_type_manager, + $event_generator, + $stomp, + $auth, + $messenger + ); + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) + { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('current_user'), + $container->get('entity_type.manager'), + $container->get('islandora.eventgenerator'), + $container->get('islandora.stomp'), + $container->get('jwt.authentication.jwt'), + $container->get('islandora.utils'), + $container->get('islandora.media_source_service'), + $container->get('token'), + $container->get('messenger'), + $container->get('config.factory') + ); + } +} diff --git a/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php b/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php index ba2d301e..53349a98 100644 --- a/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php +++ b/src/Plugin/Action/AbstractGenerateDerivativeMediaFile.php @@ -2,22 +2,10 @@ namespace Drupal\islandora\Plugin\Action; -use Drupal\Core\Config\ConfigFactoryInterface; -use Drupal\Core\Entity\EntityFieldManagerInterface; use Drupal\Core\Entity\EntityInterface; -use Drupal\Core\Entity\EntityTypeManager; use Drupal\Core\Form\FormStateInterface; -use Drupal\Core\Messenger\MessengerInterface; -use Drupal\Core\Session\AccountInterface; use Drupal\Core\Url; use Drupal\islandora\EventGenerator\EmitEvent; -use Drupal\islandora\EventGenerator\EventGeneratorInterface; -use Drupal\islandora\IslandoraUtils; -use Drupal\islandora\MediaSource\MediaSourceService; -use Drupal\jwt\Authentication\Provider\JwtAuth; -use Drupal\token\Token; -use Stomp\StatefulStomp; -use Symfony\Component\DependencyInjection\ContainerInterface; /** * Emits a Node for generating derivatives event. @@ -28,138 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface; * type = "media" * ) */ -class AbstractGenerateDerivativeMediaFile extends EmitEvent { - - /** - * Islandora utility functions. - * - * @var \Drupal\islandora\IslandoraUtils - */ - protected $utils; - - /** - * Media source service. - * - * @var \Drupal\islandora\MediaSource\MediaSourceService - */ - protected $mediaSource; - - /** - * Token replacement service. - * - * @var \Drupal\token\Token - */ - protected $token; - - /** - * The entity field manager. - * - * @var \Drupal\Core\Entity\EntityFieldManager - */ - protected $entityFieldManager; - - /** - * The messenger. - * - * @var \Drupal\Core\Messenger\MessengerInterface - */ - protected $messenger; - - /** - * The system file config. - * - * @var \Drupal\Core\Config\ImmutableConfig - */ - protected $config; - - /** - * Constructs a EmitEvent action. - * - * @param array $configuration - * A configuration array containing information about the plugin instance. - * @param string $plugin_id - * The plugin_id for the plugin instance. - * @param mixed $plugin_definition - * The plugin implementation definition. - * @param \Drupal\Core\Session\AccountInterface $account - * Current user. - * @param \Drupal\Core\Entity\EntityTypeManager $entity_type_manager - * Entity type manager. - * @param \Drupal\islandora\EventGenerator\EventGeneratorInterface $event_generator - * EventGenerator service to serialize AS2 events. - * @param \Stomp\StatefulStomp $stomp - * Stomp client. - * @param \Drupal\jwt\Authentication\Provider\JwtAuth $auth - * JWT Auth client. - * @param \Drupal\islandora\IslandoraUtils $utils - * Islandora utility functions. - * @param \Drupal\islandora\MediaSource\MediaSourceService $media_source - * Media source service. - * @param \Drupal\token\Token $token - * Token service. - * @param \Drupal\Core\Entity\EntityFieldManagerInterface $entity_field_manager - * Field Manager service. - * @param \Drupal\Core\Messenger\MessengerInterface $messenger - * The messenger. - * @param \Drupal\Core\Config\ConfigFactoryInterface $config - * The system file config. - */ - public function __construct( - array $configuration, - $plugin_id, - $plugin_definition, - AccountInterface $account, - EntityTypeManager $entity_type_manager, - EventGeneratorInterface $event_generator, - StatefulStomp $stomp, - JwtAuth $auth, - IslandoraUtils $utils, - MediaSourceService $media_source, - Token $token, - EntityFieldManagerInterface $entity_field_manager, - MessengerInterface $messenger, - ConfigFactoryInterface $config - ) { - $this->utils = $utils; - $this->mediaSource = $media_source; - $this->token = $token; - $this->entityFieldManager = $entity_field_manager; - $this->messenger = $messenger; - $this->config = $config->get('system.file'); - parent::__construct( - $configuration, - $plugin_id, - $plugin_definition, - $account, - $entity_type_manager, - $event_generator, - $stomp, - $auth, - $messenger - ); - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $container->get('current_user'), - $container->get('entity_type.manager'), - $container->get('islandora.eventgenerator'), - $container->get('islandora.stomp'), - $container->get('jwt.authentication.jwt'), - $container->get('islandora.utils'), - $container->get('islandora.media_source_service'), - $container->get('token'), - $container->get('entity_field.manager'), - $container->get('messenger'), - $container->get('config.factory') - ); - } +class AbstractGenerateDerivativeMediaFile extends AbstractGenerateDerivativeBase { /** * {@inheritdoc}