Skip to content

Commit

Permalink
Deprecated gracefully HookDispatcher + compliance with EventDispatche…
Browse files Browse the repository at this point in the history
…rInterface
  • Loading branch information
mickaelandrieu committed Aug 16, 2018
1 parent 2075040 commit f16a106
Show file tree
Hide file tree
Showing 11 changed files with 51 additions and 142 deletions.
2 changes: 1 addition & 1 deletion src/Adapter/HookManager.php
Expand Up @@ -68,7 +68,7 @@ public function exec(
$hook_args = array_merge(array('request' => $request), $hook_args);

// If Symfony application is booted, we use it to dispatch Hooks
$hookDispatcher = $sfContainer->get('prestashop.hook.dispatcher');
$hookDispatcher = $sfContainer->get('prestashop.core.hook.dispatcher');

return $hookDispatcher->renderForParameters($hook_name, $hook_args)->getContent();
} else {
Expand Down
21 changes: 11 additions & 10 deletions src/Core/Hook/HookDispatcher.php
Expand Up @@ -26,32 +26,33 @@

namespace PrestaShop\PrestaShop\Core\Hook;

use PrestaShopBundle\Service\Hook\HookDispatcher as HookDispatcherService;
use PrestaShop\PrestaShop\Adapter\Hook\HookDispatcher as HookDispatcherAdapter;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;

/**
* Class HookDispatcher is responsible for dispatching hooks
*/
final class HookDispatcher implements HookDispatcherInterface
{
/**
* @var HookDispatcherService
* @var HookDispatcherAdapter
*/
private $hookDispatcherService;
private $hookDispatcherAdapter;

/**
* @param HookDispatcherService $deprecatedHookDispatcherService
* @param HookDispatcherAdapter $hookDispatcherAdapter
*/
public function __construct(HookDispatcherService $deprecatedHookDispatcherService)
public function __construct(HookDispatcherAdapter $hookDispatcherAdapter)
{
$this->hookDispatcherService = $deprecatedHookDispatcherService;
$this->hookDispatcherAdapter = $hookDispatcherAdapter;
}

/**
* {@inheritdoc}
*/
public function dispatch(HookInterface $hook)
public function dispatchHook(HookInterface $hook)
{
$this->hookDispatcherService->dispatchForParameters(
$this->hookDispatcherAdapter->dispatchForParameters(
$hook->getName(),
$hook->getParameters()
);
Expand All @@ -62,15 +63,15 @@ public function dispatch(HookInterface $hook)
*/
public function dispatchWithParameters($hookName, array $hookParameters = [])
{
$this->dispatch(new Hook($hookName, $hookParameters));
$this->dispatchHook(new Hook($hookName, $hookParameters));
}

/**
* {@inheritdoc}
*/
public function dispatchRendering(HookInterface $hook)
{
$event = $this->hookDispatcherService->renderForParameters(
$event = $this->hookDispatcherAdapter->renderForParameters(
$hook->getName(),
$hook->getParameters()
);
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Hook/HookDispatcherInterface.php
Expand Up @@ -36,7 +36,7 @@ interface HookDispatcherInterface
*
* @param HookInterface $hook
*/
public function dispatch(HookInterface $hook);
public function dispatchHook(HookInterface $hook);

/**
* Dispatch hook with raw parameters
Expand Down
Expand Up @@ -144,7 +144,7 @@ public function getFormErrorsForJS(Form $form)
*/
protected function dispatchHook($hookName, array $parameters)
{
$this->get('prestashop.hook.dispatcher')->dispatchForParameters($hookName, $parameters);
$this->get('prestashop.core.hook.dispatcher')->dispatchForParameters($hookName, $parameters);
}

/**
Expand All @@ -159,7 +159,7 @@ protected function dispatchHook($hookName, array $parameters)
*/
protected function renderHook($hookName, array $parameters)
{
return $this->get('prestashop.hook.dispatcher')->renderForParameters($hookName, $parameters)->getContent();
return $this->get('prestashop.core.hook.dispatcher')->renderForParameters($hookName, $parameters)->getContent();
}

/**
Expand Down
8 changes: 4 additions & 4 deletions src/PrestaShopBundle/Controller/Admin/ProductController.php
Expand Up @@ -717,7 +717,7 @@ public function bulkAction(Request $request, $action)
/* @var $logger LoggerInterface */

$hookEventParameters = ['product_list_id' => $productIdList];
$hookDispatcher = $this->get('prestashop.hook.dispatcher');
$hookDispatcher = $this->get('prestashop.core.hook.dispatcher');
/* @var $hookDispatcher HookDispatcher */

try {
Expand Down Expand Up @@ -860,7 +860,7 @@ public function massEditAction(Request $request, $action)
$logger = $this->get('logger');
/* @var $logger LoggerInterface */

$hookDispatcher = $this->get('prestashop.hook.dispatcher');
$hookDispatcher = $this->get('prestashop.core.hook.dispatcher');
/* @var $hookDispatcher HookDispatcher */

try {
Expand Down Expand Up @@ -940,7 +940,7 @@ public function unitAction($action, $id)
/* @var $logger LoggerInterface */

$hookEventParameters = ['product_id' => $id];
$hookDispatcher = $this->get('prestashop.hook.dispatcher');
$hookDispatcher = $this->get('prestashop.core.hook.dispatcher');
/* @var $hookDispatcher HookDispatcher */

try {
Expand Down Expand Up @@ -1093,7 +1093,7 @@ public function shouldUseLegacyPagesAction($use)
/* @var $pagePreference AdminPagePreferenceInterface */
$pagePreference->setTemporaryShouldUseLegacyPage('product', $use);

$hookDispatcher = $this->get('prestashop.hook.dispatcher');
$hookDispatcher = $this->get('prestashop.core.hook.dispatcher');
/* @var $hookDispatcher HookDispatcher */
$hookDispatcher->dispatch(
'shouldUseLegacyPage',
Expand Down
Expand Up @@ -16,7 +16,7 @@ services:
decorates: prestashop.core.admin.data_updater.product_interface
public: false
arguments:
- "@prestashop.hook.dispatcher"
- "@prestashop.core.hook.dispatcher"
- "@prestashop.static_cache.adapter"

prestashop.adapter.admin.wrapper.product:
Expand Down
Expand Up @@ -11,7 +11,7 @@ services:

prestashop.dispatcher.legacy_hooks.subscriber:
class: 'PrestaShopBundle\EventListener\ActionDispatcherLegacyHooksSubscriber'
arguments: ['@prestashop.hook.dispatcher']
arguments: ['@prestashop.core.hook.dispatcher']
tags:
- { name: kernel.event_subscriber }

Expand Down
Expand Up @@ -6,7 +6,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.adapter.performance.form_provider'
-
'smarty': 'PrestaShopBundle\Form\Admin\AdvancedParameters\Performance\SmartyType'
Expand All @@ -22,7 +22,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.adapter.maintenance.form_provider'
-
'general': 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\General\MaintenanceType'
Expand All @@ -32,7 +32,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.adapter.administration.form_provider'
-
'general': 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Administration\GeneralType'
Expand All @@ -44,7 +44,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.shipping_preferences.data_provider'
-
'handling': 'PrestaShopBundle\Form\Admin\Improve\Shipping\Preferences\HandlingType'
Expand All @@ -55,7 +55,7 @@ services:
class: 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\InvoiceByDateFormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.order.invoices.by_date.data_provider'
-
'generate_by_date': 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\GenerateByDateType'
Expand All @@ -67,7 +67,7 @@ services:
class: 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\InvoiceByStatusFormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.order.invoices.by_status.data_provider'
-
'generate_by_status': 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\GenerateByStatusType'
Expand All @@ -79,7 +79,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.order.invoices.options.data_provider'
-
'invoice_options': 'PrestaShopBundle\Form\Admin\Sell\Order\Invoices\InvoiceOptionsType'
Expand All @@ -89,7 +89,7 @@ services:
class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\CustomerPreferences\CustomerPreferencesFormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.customer_preferences.data_provider'
-
'general': 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\CustomerPreferences\GeneralType'
Expand All @@ -103,7 +103,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.order_preferences.data_provider'
-
'general': 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\OrderPreferences\GeneralType'
Expand All @@ -114,7 +114,7 @@ services:
class: 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\ProductPreferences\ProductPreferencesFormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.product_preferences.data_provider'
-
'general': 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\ProductPreferences\GeneralType'
Expand All @@ -131,7 +131,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.adapter.preferences.form_provider'
-
'general': 'PrestaShopBundle\Form\Admin\Configure\ShopParameters\General\PreferencesType'
Expand All @@ -141,7 +141,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.adapter.logs.form_provider'
-
'logs_by_email': 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Logs\LogsByEmailType'
Expand All @@ -151,7 +151,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@prestashop.admin.import.form_builder'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.import.form_data_provider'
- []
- 'ImportPage'
Expand All @@ -160,7 +160,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.adapter.order.delivery.slip.options.form_provider'
-
'options': 'PrestaShopBundle\Form\Admin\Sell\Order\Delivery\SlipOptionsType'
Expand All @@ -170,7 +170,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.adapter.order.delivery.slip.pdf.form_provider'
-
'pdf': 'PrestaShopBundle\Form\Admin\Sell\Order\Delivery\SlipPdfType'
Expand All @@ -180,7 +180,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.geolocation.form_data_provider'
-
'geolocation_by_id_address': 'PrestaShopBundle\Form\Admin\Improve\International\Geolocation\GeolocationByIpAddressType'
Expand All @@ -192,7 +192,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.localization.form_data_provider'
-
'configuration': 'PrestaShopBundle\Form\Admin\Improve\International\Localization\LocalizationConfigurationType'
Expand All @@ -204,7 +204,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.payment_preferences.form_data_provider'
-
'payment_module_preferences': 'PrestaShopBundle\Form\Admin\Improve\Payment\Preferences\PaymentModulePreferencesType'
Expand All @@ -214,7 +214,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.email_configuration.form_data_provider'
-
'email_config': 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\Email\EmailConfigurationType'
Expand All @@ -225,7 +225,7 @@ services:
class: 'PrestaShop\PrestaShop\Core\Form\FormHandler'
arguments:
- '@=service("form.factory").createBuilder()'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'
- '@prestashop.admin.request_sql_settings.form_data_provider'
-
'settings': 'PrestaShopBundle\Form\Admin\Configure\AdvancedParameters\RequestSql\RequestSqlSettingsType'
Expand Down
Expand Up @@ -45,7 +45,7 @@ services:
prestashop.twig.extension.hook:
class: PrestaShopBundle\Twig\HookExtension
arguments:
- "@prestashop.hook.dispatcher"
- "@prestashop.core.hook.dispatcher"
- "@prestashop.adapter.data_provider.module"
- "@=service('prestashop.adapter.legacy.context').getContext().employee?service('prestashop.core.admin.module.repository'):null"
tags:
Expand Down
6 changes: 3 additions & 3 deletions src/PrestaShopBundle/Resources/config/services/core/grid.yml
Expand Up @@ -62,23 +62,23 @@ services:
- '@prestashop.core.grid.definition.factory.log_definition'
- '@prestashop.core.grid.data_provider.log'
- '@prestashop.core.grid.filter.form_factory'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'

prestashop.core.grid.factory.email_logs:
class: 'PrestaShop\PrestaShop\Core\Grid\GridFactory'
arguments:
- '@prestashop.core.grid.definition.factory.email_logs'
- '@prestashop.core.grid.data_provider.email_logs'
- '@prestashop.core.grid.filter.form_factory'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'

prestashop.core.grid.factory.request_sql:
class: 'PrestaShop\PrestaShop\Core\Grid\GridFactory'
arguments:
- '@prestashop.core.grid.definition.factory.request_sql'
- '@prestashop.core.grid.data_provider.request_sql'
- '@prestashop.core.grid.filter.form_factory'
- '@prestashop.hook.dispatcher'
- '@prestashop.core.hook.dispatcher'

# Grid presenter
prestashop.core.grid.presenter.grid_presenter:
Expand Down

0 comments on commit f16a106

Please sign in to comment.