diff --git a/apps/dav/tests/unit/Comments/RootCollectionTest.php b/apps/dav/tests/unit/Comments/RootCollectionTest.php index fde74dc46e..2391d885ba 100644 --- a/apps/dav/tests/unit/Comments/RootCollectionTest.php +++ b/apps/dav/tests/unit/Comments/RootCollectionTest.php @@ -25,6 +25,8 @@ namespace OCA\DAV\Tests\unit\Comments; +use OC\EventDispatcher\EventDispatcher; +use OC\EventDispatcher\SymfonyAdapter; use OCA\DAV\Comments\EntityTypeCollection as EntityTypeCollectionImplementation; use OCP\Comments\CommentsEntityEvent; use OCP\Comments\ICommentsManager; @@ -32,7 +34,7 @@ use OCP\ILogger; use OCP\IUser; use OCP\IUserManager; use OCP\IUserSession; -use Symfony\Component\EventDispatcher\EventDispatcher; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; class RootCollectionTest extends \Test\TestCase { @@ -46,7 +48,7 @@ class RootCollectionTest extends \Test\TestCase { protected $collection; /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */ protected $userSession; - /** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface */ + /** @var EventDispatcherInterface */ protected $dispatcher; /** @var \OCP\IUser|\PHPUnit_Framework_MockObject_MockObject */ protected $user; @@ -67,10 +69,17 @@ class RootCollectionTest extends \Test\TestCase { $this->userSession = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->getMock(); - $this->dispatcher = new EventDispatcher(); $this->logger = $this->getMockBuilder(ILogger::class) ->disableOriginalConstructor() ->getMock(); + $this->dispatcher = new SymfonyAdapter( + new EventDispatcher( + new \Symfony\Component\EventDispatcher\EventDispatcher(), + \OC::$server, + $this->logger + ), + $this->logger + ); $this->collection = new \OCA\DAV\Comments\RootCollection( $this->commentsManager, diff --git a/apps/files_trashbin/lib/Events/MoveToTrashEvent.php b/apps/files_trashbin/lib/Events/MoveToTrashEvent.php index 99b42507ce..e62d875c59 100644 --- a/apps/files_trashbin/lib/Events/MoveToTrashEvent.php +++ b/apps/files_trashbin/lib/Events/MoveToTrashEvent.php @@ -26,7 +26,7 @@ namespace OCA\Files_Trashbin\Events; use OCP\Files\Node; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class MoveToTrashEvent diff --git a/apps/files_versions/lib/Events/CreateVersionEvent.php b/apps/files_versions/lib/Events/CreateVersionEvent.php index 90d907147d..0669034431 100644 --- a/apps/files_versions/lib/Events/CreateVersionEvent.php +++ b/apps/files_versions/lib/Events/CreateVersionEvent.php @@ -24,10 +24,8 @@ namespace OCA\Files_Versions\Events; - use OCP\Files\Node; -use Symfony\Component\EventDispatcher\Event; - +use OCP\EventDispatcher\Event; /** * Class CreateVersionEvent diff --git a/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php b/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php index 6644fce729..3c36a35f7c 100644 --- a/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php +++ b/apps/twofactor_backupcodes/tests/Unit/Migration/CheckBackupCodeTest.php @@ -23,15 +23,9 @@ declare(strict_types=1); namespace OCA\TwoFactorBackupCodes\Tests\Unit\Migration; -use OCA\TwoFactorBackupCodes\Event\CodesGenerated; -use OCA\TwoFactorBackupCodes\Listener\RegistryUpdater; use OCA\TwoFactorBackupCodes\Migration\CheckBackupCodes; -use OCA\TwoFactorBackupCodes\Provider\BackupCodesProvider; -use OCP\Authentication\TwoFactorAuth\IRegistry; use OCP\BackgroundJob\IJobList; -use OCP\IUser; use OCP\Migration\IOutput; -use Symfony\Component\EventDispatcher\Event; use Test\TestCase; class CheckBackupCodeTest extends TestCase { diff --git a/lib/private/EventDispatcher/SymfonyAdapter.php b/lib/private/EventDispatcher/SymfonyAdapter.php index f2f2fbf59f..f8f80b6c5f 100644 --- a/lib/private/EventDispatcher/SymfonyAdapter.php +++ b/lib/private/EventDispatcher/SymfonyAdapter.php @@ -25,9 +25,9 @@ declare(strict_types=1); namespace OC\EventDispatcher; +use OCP\ILogger; use function is_callable; use OCP\EventDispatcher\Event; -use Symfony\Component\EventDispatcher\Event as SymfonyEvent; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -35,9 +35,12 @@ class SymfonyAdapter implements EventDispatcherInterface { /** @var EventDispatcher */ private $eventDispatcher; + /** @var ILogger */ + private $logger; - public function __construct(EventDispatcher $eventDispatcher) { + public function __construct(EventDispatcher $eventDispatcher, ILogger $logger) { $this->eventDispatcher = $eventDispatcher; + $this->logger = $logger; } /** @@ -46,16 +49,21 @@ class SymfonyAdapter implements EventDispatcherInterface { * @param string $eventName The name of the event to dispatch. The name of * the event is the name of the method that is * invoked on listeners. - * @param SymfonyEvent|null $event The event to pass to the event handlers/listeners + * @param Event|null $event The event to pass to the event handlers/listeners * If not supplied, an empty Event instance is created * - * @return SymfonyEvent + * @return void */ - public function dispatch($eventName, SymfonyEvent $event = null) { + public function dispatch($eventName, $event = null) { + // type hinting is not possible, due to usage of GenericEvent if ($event instanceof Event) { $this->eventDispatcher->dispatch($eventName, $event); } else { // Legacy event + $this->logger->info( + 'Deprecated event type for {name}: {class}', + [ 'name' => $eventName, 'class' => is_object($event) ? get_class($event) : 'null' ] + ); $this->eventDispatcher->getSymfonyDispatcher()->dispatch($eventName, $event); } } diff --git a/lib/private/Files/Cache/AbstractCacheEvent.php b/lib/private/Files/Cache/AbstractCacheEvent.php index c8a41ce54d..db1e7a1cf3 100644 --- a/lib/private/Files/Cache/AbstractCacheEvent.php +++ b/lib/private/Files/Cache/AbstractCacheEvent.php @@ -23,7 +23,7 @@ namespace OC\Files\Cache; use OCP\Files\Cache\ICacheEvent; use OCP\Files\Storage\IStorage; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; class AbstractCacheEvent extends Event implements ICacheEvent { protected $storage; diff --git a/lib/public/App/ManagerEvent.php b/lib/public/App/ManagerEvent.php index f46318c262..27dc3a44de 100644 --- a/lib/public/App/ManagerEvent.php +++ b/lib/public/App/ManagerEvent.php @@ -23,7 +23,7 @@ namespace OCP\App; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class ManagerEvent diff --git a/lib/public/Comments/CommentsEntityEvent.php b/lib/public/Comments/CommentsEntityEvent.php index fe8585a213..d3ffb710e2 100644 --- a/lib/public/Comments/CommentsEntityEvent.php +++ b/lib/public/Comments/CommentsEntityEvent.php @@ -22,7 +22,7 @@ namespace OCP\Comments; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class CommentsEntityEvent diff --git a/lib/public/Comments/CommentsEvent.php b/lib/public/Comments/CommentsEvent.php index eba4cebb3b..43b8366a22 100644 --- a/lib/public/Comments/CommentsEvent.php +++ b/lib/public/Comments/CommentsEvent.php @@ -23,7 +23,7 @@ namespace OCP\Comments; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class CommentsEvent diff --git a/lib/public/Console/ConsoleEvent.php b/lib/public/Console/ConsoleEvent.php index 7b3201999a..6645b20ac2 100644 --- a/lib/public/Console/ConsoleEvent.php +++ b/lib/public/Console/ConsoleEvent.php @@ -22,7 +22,7 @@ namespace OCP\Console; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class ConsoleEvent diff --git a/lib/public/SabrePluginEvent.php b/lib/public/SabrePluginEvent.php index d75c84965f..8f8d155ec1 100644 --- a/lib/public/SabrePluginEvent.php +++ b/lib/public/SabrePluginEvent.php @@ -26,7 +26,7 @@ namespace OCP; use OCP\AppFramework\Http; use Sabre\DAV\Server; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * @since 8.2.0 diff --git a/lib/public/SystemTag/ManagerEvent.php b/lib/public/SystemTag/ManagerEvent.php index 452c0d5da8..41155a64ea 100644 --- a/lib/public/SystemTag/ManagerEvent.php +++ b/lib/public/SystemTag/ManagerEvent.php @@ -24,7 +24,7 @@ declare(strict_types=1); namespace OCP\SystemTag; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class ManagerEvent diff --git a/lib/public/SystemTag/MapperEvent.php b/lib/public/SystemTag/MapperEvent.php index d98caf1317..4e2c84feca 100644 --- a/lib/public/SystemTag/MapperEvent.php +++ b/lib/public/SystemTag/MapperEvent.php @@ -23,7 +23,7 @@ declare(strict_types=1); namespace OCP\SystemTag; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class MapperEvent diff --git a/lib/public/SystemTag/SystemTagsEntityEvent.php b/lib/public/SystemTag/SystemTagsEntityEvent.php index e439c16d9c..cb4982ae28 100644 --- a/lib/public/SystemTag/SystemTagsEntityEvent.php +++ b/lib/public/SystemTag/SystemTagsEntityEvent.php @@ -23,7 +23,7 @@ declare(strict_types=1); namespace OCP\SystemTag; -use Symfony\Component\EventDispatcher\Event; +use OCP\EventDispatcher\Event; /** * Class SystemTagsEntityEvent