LoadSidebarScripts::class
);
$context->registerEventListener(
- CommentsEntityEvent::EVENT_ENTITY,
+ CommentsEntityEvent::class,
CommentsEntityEventListener::class
);
$context->registerSearchProvider(CommentsSearchProvider::class);
use OCP\Comments\CommentsEntityEvent;
use OCP\Comments\ICommentsManager;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\IUserManager;
use OCP\IUserSession;
use Psr\Log\LoggerInterface;
use Sabre\DAV\Exception\NotAuthenticated;
use Sabre\DAV\Exception\NotFound;
use Sabre\DAV\ICollection;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class RootCollection implements ICollection {
/** @var EntityTypeCollection[]|null */
protected LoggerInterface $logger;
protected IUserManager $userManager;
protected IUserSession $userSession;
- protected EventDispatcherInterface $dispatcher;
+ protected IEventDispatcher $dispatcher;
public function __construct(
ICommentsManager $commentsManager,
IUserManager $userManager,
IUserSession $userSession,
- EventDispatcherInterface $dispatcher,
+ IEventDispatcher $dispatcher,
LoggerInterface $logger) {
$this->commentsManager = $commentsManager;
$this->logger = $logger;
throw new NotAuthenticated();
}
- $event = new CommentsEntityEvent(CommentsEntityEvent::EVENT_ENTITY);
+ $event = new CommentsEntityEvent();
+ $this->dispatcher->dispatchTyped($event);
$this->dispatcher->dispatch(CommentsEntityEvent::EVENT_ENTITY, $event);
$this->entityTypeCollections = [];
\OC::$server->getCommentsManager(),
$userManager,
\OC::$server->getUserSession(),
- \OC::$server->getEventDispatcher(),
+ $dispatcher,
$logger
);
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;
+use OCP\EventDispatcher\IEventDispatcher;
use OCP\IUser;
use OCP\IUserManager;
use OCP\IUserSession;
use Psr\Log\LoggerInterface;
-use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class RootCollectionTest extends \Test\TestCase {
protected $collection;
/** @var \OCP\IUserSession|\PHPUnit\Framework\MockObject\MockObject */
protected $userSession;
- /** @var EventDispatcherInterface */
+ /** @var IEventDispatcher */
protected $dispatcher;
/** @var \OCP\IUser|\PHPUnit\Framework\MockObject\MockObject */
protected $user;
$this->logger = $this->getMockBuilder(LoggerInterface::class)
->disableOriginalConstructor()
->getMock();
- $this->dispatcher = new SymfonyAdapter(
- new EventDispatcher(
- new \Symfony\Component\EventDispatcher\EventDispatcher(),
- \OC::$server,
- $this->logger
- ),
+ $this->dispatcher = new EventDispatcher(
+ new \Symfony\Component\EventDispatcher\EventDispatcher(),
+ \OC::$server,
$this->logger
);
->method('getUser')
->willReturn($this->user);
- $this->dispatcher->addListener(CommentsEntityEvent::EVENT_ENTITY, function (CommentsEntityEvent $event): void {
+ $this->dispatcher->addListener(CommentsEntityEvent::class, function (CommentsEntityEvent $event): void {
$event->addEntityCollection('files', function () {
return true;
});
* Class CommentsEntityEvent
*
* @since 9.1.0
+ * @since 28.0.0 Dispatched as a typed event
*/
class CommentsEntityEvent extends Event {
/**
- * @deprecated 22.0.0
+ * @deprecated 22.0.0 - Listen to the typed event instead.
*/
public const EVENT_ENTITY = 'OCP\Comments\ICommentsManager::registerEntity';
- /** @var string */
- protected $event;
/** @var \Closure[] */
protected $collections;
/**
* DispatcherEvent constructor.
*
- * @param string $event
* @since 9.1.0
*/
- public function __construct($event) {
- $this->event = $event;
+ public function __construct() {
+ parent::__construct();
$this->collections = [];
}