From 3038c3ec38d6ad535b426553ac6125301d16cafe Mon Sep 17 00:00:00 2001 From: Grzegorz Sadowski Date: Fri, 2 Feb 2024 13:12:24 +0100 Subject: [PATCH] Minor improvements in replace email managers compiler passes --- .../ReplaceEmailManagersPass.php | 21 +++++++++---------- .../ReplaceEmailManagersPass.php | 19 ++++++++--------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/Sylius/Bundle/AdminBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php b/src/Sylius/Bundle/AdminBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php index d2e465fc449..9d439e6bf06 100644 --- a/src/Sylius/Bundle/AdminBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php +++ b/src/Sylius/Bundle/AdminBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php @@ -20,7 +20,6 @@ use Sylius\Bundle\AdminBundle\EventListener\ShipmentShipListener; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException; use Symfony\Component\DependencyInjection\Reference; /** @internal */ @@ -33,9 +32,9 @@ public function process(ContainerBuilder $container): void continue; } - $decoratedServiceClass = $definition->getDecoratedService()[0]; + $decoratedServiceId = $definition->getDecoratedService()[0]; - if ($decoratedServiceClass === OrderEmailManagerInterface::class) { + if ($decoratedServiceId === OrderEmailManagerInterface::class) { $this->replaceArgument( $container, ResendOrderConfirmationEmailAction::class, @@ -47,7 +46,7 @@ public function process(ContainerBuilder $container): void continue; } - if ($decoratedServiceClass === 'sylius.email_manager.shipment') { + if ($decoratedServiceId === 'sylius.email_manager.shipment') { $this->replaceArgument( $container, 'sylius.listener.shipment_ship', @@ -59,7 +58,7 @@ public function process(ContainerBuilder $container): void continue; } - if ($decoratedServiceClass === ShipmentEmailManagerInterface::class) { + if ($decoratedServiceId === ShipmentEmailManagerInterface::class) { $this->replaceArgument( $container, ResendShipmentConfirmationEmailAction::class, @@ -78,13 +77,13 @@ public function replaceArgument( int $argumentIndex, string $argumentId, ): void { - try { - $listenerDefinition = $container->findDefinition($serviceId); - if ($listenerDefinition->getClass() === $serviceClass) { - $listenerDefinition->setArgument($argumentIndex, new Reference($argumentId)); - } - } catch (ServiceNotFoundException) { + if (!$container->hasDefinition($serviceId)) { return; } + + $definition = $container->findDefinition($serviceId); + if ($definition->getClass() === $serviceClass) { + $definition->setArgument($argumentIndex, new Reference($argumentId)); + } } } diff --git a/src/Sylius/Bundle/ShopBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php b/src/Sylius/Bundle/ShopBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php index 64f2f51ee70..9b9fdca4cd3 100644 --- a/src/Sylius/Bundle/ShopBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php +++ b/src/Sylius/Bundle/ShopBundle/DependencyInjection/Compiler/BackwardsCompatibility/ReplaceEmailManagersPass.php @@ -17,7 +17,6 @@ use Sylius\Bundle\ShopBundle\EventListener\OrderCompleteListener; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException; use Symfony\Component\DependencyInjection\Reference; /** @internal */ @@ -30,9 +29,9 @@ public function process(ContainerBuilder $container): void continue; } - $decoratedServiceClass = $definition->getDecoratedService()[0]; + $decoratedServiceId = $definition->getDecoratedService()[0]; - if ($decoratedServiceClass === 'sylius.email_manager.contact') { + if ($decoratedServiceId === 'sylius.email_manager.contact') { $this->replaceArgument( $container, 'sylius.controller.shop.contact', @@ -44,7 +43,7 @@ public function process(ContainerBuilder $container): void continue; } - if ($decoratedServiceClass === 'sylius.email_manager.order') { + if ($decoratedServiceId === 'sylius.email_manager.order') { $this->replaceArgument( $container, 'sylius.listener.order_complete', @@ -63,13 +62,13 @@ public function replaceArgument( int $argumentIndex, string $argumentId, ): void { - try { - $listenerDefinition = $container->findDefinition($serviceId); - if ($listenerDefinition->getClass() === $serviceClass) { - $listenerDefinition->setArgument($argumentIndex, new Reference($argumentId)); - } - } catch (ServiceNotFoundException) { + if (!$container->hasDefinition($serviceId)) { return; } + + $definition = $container->findDefinition($serviceId); + if ($definition->getClass() === $serviceClass) { + $definition->setArgument($argumentIndex, new Reference($argumentId)); + } } }