Skip to content

Commit f847eb6

Browse files
committed
fix: Do not use deprecated IServerContainer in EventDispatcher
This caused a call to logger too soon in init phase Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
1 parent f0e0ed9 commit f847eb6

2 files changed

Lines changed: 9 additions & 20 deletions

File tree

lib/private/EventDispatcher/EventDispatcher.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
use OCP\EventDispatcher\ABroadcastedEvent;
1515
use OCP\EventDispatcher\Event;
1616
use OCP\EventDispatcher\IEventDispatcher;
17-
use OCP\IServerContainer;
17+
use Psr\Container\ContainerInterface;
1818
use Psr\Log\LoggerInterface;
1919
use Symfony\Component\EventDispatcher\EventDispatcher as SymfonyDispatcher;
2020
use function get_class;
2121

2222
class EventDispatcher implements IEventDispatcher {
2323
public function __construct(
2424
private SymfonyDispatcher $dispatcher,
25-
private IServerContainer $container,
25+
private ContainerInterface $container,
2626
private LoggerInterface $logger,
2727
) {
2828
// inject the event dispatcher into the logger

lib/private/EventDispatcher/ServiceEventListener.php

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
use OCP\AppFramework\QueryException;
1313
use OCP\EventDispatcher\Event;
1414
use OCP\EventDispatcher\IEventListener;
15-
use OCP\IServerContainer;
15+
use Psr\Container\ContainerInterface;
1616
use Psr\Log\LoggerInterface;
1717
use function sprintf;
1818

@@ -23,24 +23,13 @@
2323
* created by the service container
2424
*/
2525
final class ServiceEventListener {
26-
/** @var IServerContainer */
27-
private $container;
26+
private ?IEventListener $service = null;
2827

29-
/** @var string */
30-
private $class;
31-
32-
/** @var LoggerInterface */
33-
private $logger;
34-
35-
/** @var null|IEventListener */
36-
private $service;
37-
38-
public function __construct(IServerContainer $container,
39-
string $class,
40-
LoggerInterface $logger) {
41-
$this->container = $container;
42-
$this->class = $class;
43-
$this->logger = $logger;
28+
public function __construct(
29+
private ContainerInterface $container,
30+
private string $class,
31+
private LoggerInterface $logger,
32+
) {
4433
}
4534

4635
public function __invoke(Event $event) {

0 commit comments

Comments
 (0)