Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/Bundle/LocaleBundle/Resources/config/event_subscriber.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ file that was distributed with this source code.
<argument type="service" id="lug.locale.provider" />
<argument type="service" id="translator" />
<argument type="service" id="property_accessor" />
<tag name="kernel.event_subscriber" />
<tag name="lug.resource.domain.event_subscriber" />
</service>

<service
id="lug.locale.subscriber.menu"
class="Lug\Bundle\LocaleBundle\EventSubscriber\MenuSubscriber"
>
<tag name="kernel.event_subscriber" />
<tag name="lug.ui.menu.event_subscriber" />
</service>
</services>
</container>
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,6 @@ abstract class AbstractLugLocaleExtensionTest extends \PHPUnit_Framework_TestCas
*/
private $locale;

/**
* @var \PHPUnit_Framework_MockObject_MockObject|EventDispatcherInterface
*/
private $eventDispatcher;

/**
* @var \PHPUnit_Framework_MockObject_MockObject|RequestStack
*/
Expand All @@ -75,6 +70,11 @@ abstract class AbstractLugLocaleExtensionTest extends \PHPUnit_Framework_TestCas
*/
private $propertyAccessor;

/**
* @var \PHPUnit_Framework_MockObject_MockObject|EventDispatcherInterface
*/
private $domainEventDispatcher;

/**
* @var \PHPUnit_Framework_MockObject_MockObject|ParameterResolverInterface
*/
Expand All @@ -92,7 +92,7 @@ protected function setUp()
{
$this->extension = new LugLocaleExtension(new LugLocaleBundle());
$this->locale = 'en';
$this->eventDispatcher = $this->createEventDispatcherMock();
$this->domainEventDispatcher = $this->createEventDispatcherMock();
$this->requestStack = $this->createRequestStackMock();
$this->translator = $this->createTranslatorMock();
$this->propertyAccessor = $this->createPropertyAccessorMock();
Expand All @@ -101,10 +101,10 @@ protected function setUp()
$this->container = new ContainerBuilder();
$this->container->setParameter('locale', $this->locale);
$this->container->set('phpunit', $this);
$this->container->set('event_dispatcher', $this->eventDispatcher);
$this->container->set('request_stack', $this->requestStack);
$this->container->set('translator', $this->translator);
$this->container->set('property_accessor', $this->propertyAccessor);
$this->container->set('lug.resource.domain.event_dispatcher', $this->domainEventDispatcher);
$this->container->set('lug.resource.routing.parameter_resolver', $this->parameterResolver);

$this->container->setDefinition(
Expand Down Expand Up @@ -137,11 +137,13 @@ public function testEventSubscriber()
$this->compileContainer();

$this->assertTrue($this->container->hasDefinition($domainSubscriberName = 'lug.locale.subscriber.domain'));
$this->assertTrue($this->container->getDefinition($domainSubscriberName)->hasTag('kernel.event_subscriber'));
$this->assertTrue(
$this->container->getDefinition($domainSubscriberName)->hasTag('lug.resource.domain.event_subscriber')
);
$this->assertInstanceOf(LocaleDomainSubscriber::class, $this->container->get($domainSubscriberName));

$this->assertTrue($this->container->hasDefinition($menuSubscriberName = 'lug.locale.subscriber.menu'));
$this->assertTrue($this->container->getDefinition($menuSubscriberName)->hasTag('kernel.event_subscriber'));
$this->assertTrue($this->container->getDefinition($menuSubscriberName)->hasTag('lug.ui.menu.event_subscriber'));
$this->assertInstanceOf(MenuSubscriber::class, $this->container->get($menuSubscriberName));
}

Expand Down
20 changes: 10 additions & 10 deletions src/Bundle/ResourceBundle/Controller/Controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ private function submitGrid(GridInterface $grid, Request $request)
*/
private function processAction(FormInterface $form = null, $statusCode = Response::HTTP_NO_CONTENT)
{
$this->getEventDispatcher()->dispatch(
$this->getRestEventDispatcher()->dispatch(
RestEvents::ACTION,
$event = new ActionEvent($this->resource, $form, $statusCode)
);
Expand All @@ -302,7 +302,7 @@ private function processAction(FormInterface $form = null, $statusCode = Respons
*/
private function processView(View $view)
{
$this->getEventDispatcher()->dispatch(RestEvents::VIEW, $event = new ViewEvent($this->resource, $view));
$this->getRestEventDispatcher()->dispatch(RestEvents::VIEW, $event = new ViewEvent($this->resource, $view));

return $this->handleView($event->getView());
}
Expand All @@ -321,14 +321,6 @@ private function processException(DomainException $domainException)
}
}

/**
* @return EventDispatcherInterface
*/
private function getEventDispatcher()
{
return $this->get('event_dispatcher');
}

/**
* @return FormFactoryInterface
*/
Expand Down Expand Up @@ -392,4 +384,12 @@ private function getGridBatcher()
{
return $this->get('lug.grid.batcher');
}

/**
* @return EventDispatcherInterface
*/
private function getRestEventDispatcher()
{
return $this->get('lug.resource.rest.event_dispatcher');
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
/**
* @author GeLo <geloen.eric@gmail.com>
*/
abstract class AbstractRegisterDomainListenerPass implements CompilerPassInterface
abstract class AbstractRegisterGenericDomainListenerPass implements CompilerPassInterface
{
/**
* @var string
Expand Down Expand Up @@ -61,7 +61,7 @@ public function process(ContainerBuilder $container)

foreach (['create', 'update', 'delete'] as $action) {
foreach (['error', 'post'] as $prefix) {
$flashListener->addTag('kernel.event_listener', array_merge([
$flashListener->addTag('lug.resource.domain.event_listener', array_merge([
'event' => 'lug.'.$attribute['resource'].'.'.$prefix.'_'.$action,
], $this->event));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

/*
* This file is part of the Lug package.
*
* (c) Eric GELOEN <geloen.eric@gmail.com>
*
* For the full copyright and license information, please read the LICENSE
* file that was distributed with this source code.
*/

namespace Lug\Bundle\ResourceBundle\DependencyInjection\Compiler;

use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;

/**
* @author GeLo <geloen.eric@gmail.com>
*/
class RegisterDomainListenerPass extends RegisterListenersPass
{
public function __construct()
{
parent::__construct(
'lug.resource.domain.event_dispatcher',
'lug.resource.domain.event_listener',
'lug.resource.domain.event_subscriber'
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
/**
* @author GeLo <geloen.eric@gmail.com>
*/
class RegisterFlashListenerPass extends AbstractRegisterDomainListenerPass
class RegisterFlashListenerPass extends AbstractRegisterGenericDomainListenerPass
{
public function __construct()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
/**
* @author GeLo <geloen.eric@gmail.com>
*/
class RegisterMessageListenerPass extends AbstractRegisterDomainListenerPass
class RegisterMessageListenerPass extends AbstractRegisterGenericDomainListenerPass
{
public function __construct()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

/*
* This file is part of the Lug package.
*
* (c) Eric GELOEN <geloen.eric@gmail.com>
*
* For the full copyright and license information, please read the LICENSE
* file that was distributed with this source code.
*/

namespace Lug\Bundle\ResourceBundle\DependencyInjection\Compiler;

use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;

/**
* @author GeLo <geloen.eric@gmail.com>
*/
class RegisterRestListenerPass extends RegisterListenersPass
{
public function __construct()
{
parent::__construct(
'lug.resource.rest.event_dispatcher',
'lug.resource.rest.event_listener',
'lug.resource.rest.event_subscriber'
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ private function createDomainManagerDefinition(ResourceInterface $resource)
{
$definition = new Definition($resource->getDomainManager(), [
new Reference('lug.resource.'.$resource->getName()),
new Reference('event_dispatcher'),
new Reference('lug.resource.domain.event_dispatcher'),
new Reference('lug.manager.'.$resource->getName()),
new Reference('lug.repository.'.$resource->getName()),
]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public function load(array $config, ContainerBuilder $container)

$resources = [
'configurator',
'domain',
'event_listener',
'event_subscriber',
'form',
Expand Down
4 changes: 4 additions & 0 deletions src/Bundle/ResourceBundle/LugResourceBundle.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
namespace Lug\Bundle\ResourceBundle;

use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\ConfigureResolveTargetEntitySubscriberPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterDomainListenerPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterDomainManagerPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterDriverMappingPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterFactoryPass;
Expand All @@ -21,6 +22,7 @@
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterMessageListenerPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterRepositoryPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterResourcePass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\RegisterRestListenerPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\ReplaceBase64FileExtensionPass;
use Lug\Bundle\ResourceBundle\DependencyInjection\Compiler\ReplaceBooleanExtensionPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
Expand All @@ -47,6 +49,8 @@ public function build(ContainerBuilder $container)
->addCompilerPass(new ConfigureResolveTargetEntitySubscriberPass())
->addCompilerPass(new RegisterFlashListenerPass())
->addCompilerPass(new RegisterMessageListenerPass())
->addCompilerPass(new RegisterDomainListenerPass())
->addCompilerPass(new RegisterRestListenerPass())
->addCompilerPass(new ReplaceBase64FileExtensionPass())
->addCompilerPass(new ReplaceBooleanExtensionPass());
}
Expand Down
23 changes: 23 additions & 0 deletions src/Bundle/ResourceBundle/Resources/config/domain.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>

<!--

This file is part of the Lug package.

(c) Eric GELOEN <geloen.eric@gmail.com>

For the full copyright and license information, please read the LICENSE
file that was distributed with this source code.

-->

<container xmlns="http://symfony.com/schema/dic/services">
<services>
<service
id="lug.resource.domain.event_dispatcher"
class="Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher"
>
<argument type="service" id="service_container" />
</service>
</services>
</container>
19 changes: 13 additions & 6 deletions src/Bundle/ResourceBundle/Resources/config/rest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ file that was distributed with this source code.

<container xmlns="http://symfony.com/schema/dic/services">
<services>
<service
id="lug.resource.rest.event_dispatcher"
class="Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher"
>
<argument type="service" id="service_container" />
</service>

<service
id="lug.resource.rest.subscriber"
class="Lug\Bundle\ResourceBundle\Rest\AbstractSubscriber"
Expand All @@ -26,7 +33,7 @@ file that was distributed with this source code.
class="Lug\Bundle\ResourceBundle\Rest\Action\EventSubscriber\ViewActionSubscriber"
parent="lug.resource.rest.subscriber"
>
<tag name="kernel.event_subscriber" />
<tag name="lug.resource.rest.event_subscriber" />
</service>

<service
Expand All @@ -35,7 +42,7 @@ file that was distributed with this source code.
parent="lug.resource.rest.subscriber"
>
<argument type="service" id="router" />
<tag name="kernel.event_subscriber" />
<tag name="lug.resource.rest.event_subscriber" />
</service>

<service
Expand All @@ -44,7 +51,7 @@ file that was distributed with this source code.
parent="lug.resource.rest.subscriber"
>
<argument type="service" id="twig.form.renderer" />
<tag name="kernel.event_subscriber" />
<tag name="lug.resource.rest.event_subscriber" />
</service>

<service
Expand All @@ -54,7 +61,7 @@ file that was distributed with this source code.
>
<argument type="service" id="lug.resource.form.factory" />
<argument type="service" id="twig.form.renderer" />
<tag name="kernel.event_subscriber" />
<tag name="lug.resource.rest.event_subscriber" />
</service>

<service
Expand All @@ -64,15 +71,15 @@ file that was distributed with this source code.
>
<argument type="service" id="lug.resource.hateoas.pagerfanta_representation" />
<argument type="service" id="request_stack" />
<tag name="kernel.event_subscriber" />
<tag name="lug.resource.rest.event_subscriber" />
</service>

<service
id="lug.resource.rest.view.subscriber.resource"
class="Lug\Bundle\ResourceBundle\Rest\View\EventSubscriber\ResourceViewSubscriber"
parent="lug.resource.rest.subscriber"
>
<tag name="kernel.event_subscriber" />
<tag name="lug.resource.rest.event_subscriber" />
</service>
</services>
</container>
Loading