fix: Move SystemTags events to IEventDispatcher

Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/39571/head
Joas Schilling 10 months ago
parent dac31ad101
commit 6953e14580
No known key found for this signature in database
GPG Key ID: C400AAF20C1BB6FC

@ -26,6 +26,7 @@ declare(strict_types=1);
*/
namespace OC\SystemTag;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IServerContainer;
use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ISystemTagManagerFactory;
@ -64,7 +65,7 @@ class ManagerFactory implements ISystemTagManagerFactory {
return new SystemTagManager(
$this->serverContainer->getDatabaseConnection(),
$this->serverContainer->getGroupManager(),
$this->serverContainer->getEventDispatcher()
$this->serverContainer->get(IEventDispatcher::class),
);
}
@ -79,7 +80,7 @@ class ManagerFactory implements ISystemTagManagerFactory {
return new SystemTagObjectMapper(
$this->serverContainer->getDatabaseConnection(),
$this->getManager(),
$this->serverContainer->getEventDispatcher()
$this->serverContainer->get(IEventDispatcher::class),
);
}
}

@ -31,6 +31,7 @@ namespace OC\SystemTag;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUser;
@ -39,7 +40,6 @@ use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ManagerEvent;
use OCP\SystemTag\TagAlreadyExistsException;
use OCP\SystemTag\TagNotFoundException;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
/**
* Manager class for system tags
@ -48,15 +48,6 @@ class SystemTagManager implements ISystemTagManager {
public const TAG_TABLE = 'systemtag';
public const TAG_GROUP_TABLE = 'systemtag_group';
/** @var IDBConnection */
protected $connection;
/** @var EventDispatcherInterface */
protected $dispatcher;
/** @var IGroupManager */
protected $groupManager;
/**
* Prepared query for selecting tags directly
*
@ -64,22 +55,11 @@ class SystemTagManager implements ISystemTagManager {
*/
private $selectTagQuery;
/**
* Constructor.
*
* @param IDBConnection $connection database connection
* @param IGroupManager $groupManager
* @param EventDispatcherInterface $dispatcher
*/
public function __construct(
IDBConnection $connection,
IGroupManager $groupManager,
EventDispatcherInterface $dispatcher
protected IDBConnection $connection,
protected IGroupManager $groupManager,
protected IEventDispatcher $dispatcher,
) {
$this->connection = $connection;
$this->groupManager = $groupManager;
$this->dispatcher = $dispatcher;
$query = $this->connection->getQueryBuilder();
$this->selectTagQuery = $query->select('*')
->from(self::TAG_TABLE)

@ -29,37 +29,22 @@ namespace OC\SystemTag;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IDBConnection;
use OCP\SystemTag\ISystemTag;
use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ISystemTagObjectMapper;
use OCP\SystemTag\MapperEvent;
use OCP\SystemTag\TagNotFoundException;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class SystemTagObjectMapper implements ISystemTagObjectMapper {
public const RELATION_TABLE = 'systemtag_object_mapping';
/** @var ISystemTagManager */
protected $tagManager;
/** @var IDBConnection */
protected $connection;
/** @var EventDispatcherInterface */
protected $dispatcher;
/**
* Constructor.
*
* @param IDBConnection $connection database connection
* @param ISystemTagManager $tagManager system tag manager
* @param EventDispatcherInterface $dispatcher
*/
public function __construct(IDBConnection $connection, ISystemTagManager $tagManager, EventDispatcherInterface $dispatcher) {
$this->connection = $connection;
$this->tagManager = $tagManager;
$this->dispatcher = $dispatcher;
public function __construct(
protected IDBConnection $connection,
protected ISystemTagManager $tagManager,
protected IEventDispatcher $dispatcher,
) {
}
/**

@ -12,12 +12,12 @@ namespace Test\SystemTag;
use OC\SystemTag\SystemTagManager;
use OC\SystemTag\SystemTagObjectMapper;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUser;
use OCP\SystemTag\ISystemTag;
use OCP\SystemTag\ISystemTagManager;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Test\TestCase;
/**
@ -43,7 +43,7 @@ class SystemTagManagerTest extends TestCase {
private $groupManager;
/**
* @var EventDispatcherInterface
* @var IEventDispatcher
*/
private $dispatcher;
@ -52,10 +52,8 @@ class SystemTagManagerTest extends TestCase {
$this->connection = \OC::$server->getDatabaseConnection();
$this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')
->getMock();
$this->groupManager = $this->getMockBuilder(IGroupManager::class)->getMock();
$this->dispatcher = $this->createMock(IEventDispatcher::class);
$this->groupManager = $this->createMock(IGroupManager::class);
$this->tagManager = new SystemTagManager(
$this->connection,

@ -13,12 +13,12 @@ namespace Test\SystemTag;
use OC\SystemTag\SystemTag;
use OC\SystemTag\SystemTagManager;
use OC\SystemTag\SystemTagObjectMapper;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IDBConnection;
use OCP\SystemTag\ISystemTag;
use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\ISystemTagObjectMapper;
use OCP\SystemTag\TagNotFoundException;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Test\TestCase;
/**
@ -44,7 +44,7 @@ class SystemTagObjectMapperTest extends TestCase {
private $connection;
/**
* @var EventDispatcherInterface
* @var IEventDispatcher
*/
private $dispatcher;
@ -69,11 +69,8 @@ class SystemTagObjectMapperTest extends TestCase {
$this->connection = \OC::$server->getDatabaseConnection();
$this->pruneTagsTables();
$this->tagManager = $this->getMockBuilder('OCP\SystemTag\ISystemTagManager')
->getMock();
$this->dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')
->getMock();
$this->tagManager = $this->createMock(ISystemTagManager::class);
$this->dispatcher = $this->createMock(IEventDispatcher::class);
$this->tagMapper = new SystemTagObjectMapper(
$this->connection,

Loading…
Cancel
Save