diff --git a/lib/private/Calendar/Resource/Manager.php b/lib/private/Calendar/Resource/Manager.php index cd00e20649d19..e5e0c93100c06 100644 --- a/lib/private/Calendar/Resource/Manager.php +++ b/lib/private/Calendar/Resource/Manager.php @@ -11,7 +11,6 @@ use OC\AppFramework\Bootstrap\Coordinator; use OC\Calendar\ResourcesRoomsUpdater; -use OCP\AppFramework\QueryException; use OCP\Calendar\Resource\IBackend; use OCP\Calendar\Resource\IManager; use Psr\Container\ContainerInterface; @@ -21,11 +20,11 @@ class Manager implements IManager { /** * @var string[] holds all registered resource backends - * @psalm-var class-string[] + * @psalm-var list> */ private array $backends = []; - /** @var IBackend[] holds all backends that have been initialized already */ + /** @var array, IBackend> holds all backends that have been initialized already */ private array $initializedBackends = []; public function __construct( @@ -35,26 +34,6 @@ public function __construct( ) { } - /** - * Registers a resource backend - * - * @since 14.0.0 - */ - #[\Override] - public function registerBackend(string $backendClass): void { - $this->backends[$backendClass] = $backendClass; - } - - /** - * Unregisters a resource backend - * - * @since 14.0.0 - */ - #[\Override] - public function unregisterBackend(string $backendClass): void { - unset($this->backends[$backendClass], $this->initializedBackends[$backendClass]); - } - private function fetchBootstrapBackends(): void { if ($this->bootstrapBackendsLoaded) { return; @@ -71,12 +50,6 @@ private function fetchBootstrapBackends(): void { } } - /** - * @return IBackend[] - * @throws QueryException - * @since 14.0.0 - */ - #[\Override] public function getBackends():array { $this->fetchBootstrapBackends(); @@ -91,12 +64,7 @@ public function getBackends():array { return array_values($this->initializedBackends); } - /** - * @param string $backendId - * @throws QueryException - */ - #[\Override] - public function getBackend($backendId): ?IBackend { + public function getBackend(string $backendId): ?IBackend { $backends = $this->getBackends(); foreach ($backends as $backend) { if ($backend->getBackendIdentifier() === $backendId) { @@ -107,17 +75,6 @@ public function getBackend($backendId): ?IBackend { return null; } - /** - * removes all registered backend instances - * - * @since 14.0.0 - */ - #[\Override] - public function clear(): void { - $this->backends = []; - $this->initializedBackends = []; - } - #[\Override] public function update(): void { $this->updater->updateResources(); diff --git a/lib/private/Calendar/ResourcesRoomsUpdater.php b/lib/private/Calendar/ResourcesRoomsUpdater.php index 10baad4a1f25b..3134655c6cc25 100644 --- a/lib/private/Calendar/ResourcesRoomsUpdater.php +++ b/lib/private/Calendar/ResourcesRoomsUpdater.php @@ -13,9 +13,7 @@ use OCP\Calendar\BackendTemporarilyUnavailableException; use OCP\Calendar\IMetadataProvider; use OCP\Calendar\Resource\IBackend as IResourceBackend; -use OCP\Calendar\Resource\IManager as IResourceManager; use OCP\Calendar\Resource\IResource; -use OCP\Calendar\Room\IManager as IRoomManager; use OCP\Calendar\Room\IRoom; use OCP\IDBConnection; use Psr\Container\ContainerInterface; @@ -33,7 +31,7 @@ public function __construct( */ public function updateResources(): void { $this->updateFromBackend( - $this->container->get(IResourceManager::class), + $this->container->get(Resource\Manager::class), 'calendar_resources', 'calendar_resources_md', 'resource_id', @@ -46,7 +44,7 @@ public function updateResources(): void { */ public function updateRooms(): void { $this->updateFromBackend( - $this->container->get(IRoomManager::class), + $this->container->get(Room\Manager::class), 'calendar_rooms', 'calendar_rooms_md', 'room_id', @@ -57,7 +55,7 @@ public function updateRooms(): void { /** * Update cache from one specific backend manager, either ResourceManager or RoomManager * - * @param IResourceManager|IRoomManager $backendManager + * @param Resource\Manager|Room\Manager $backendManager */ private function updateFromBackend($backendManager, string $dbTable, @@ -311,15 +309,9 @@ private function serializeGroupRestrictions(array $groups): string { /** * Gets all metadata of a backend * - * @param IResource|IRoom $resource - * - * @return array + * @return array */ - private function getAllMetadataOfBackend($resource): array { - if (!($resource instanceof IMetadataProvider)) { - return []; - } - + private function getAllMetadataOfBackend(IMetadataProvider $resource): array { $keys = $resource->getAllAvailableMetadataKeys(); $metadata = []; foreach ($keys as $key) { diff --git a/lib/private/Calendar/Room/Manager.php b/lib/private/Calendar/Room/Manager.php index 76de5eb34a73c..4fbfe7450d03f 100644 --- a/lib/private/Calendar/Room/Manager.php +++ b/lib/private/Calendar/Room/Manager.php @@ -11,7 +11,6 @@ use OC\AppFramework\Bootstrap\Coordinator; use OC\Calendar\ResourcesRoomsUpdater; -use OCP\AppFramework\QueryException; use OCP\Calendar\Room\IBackend; use OCP\Calendar\Room\IManager; use Psr\Container\ContainerInterface; @@ -35,27 +34,6 @@ public function __construct( ) { } - /** - * Registers a resource backend - * - * @since 14.0.0 - */ - #[\Override] - public function registerBackend(string $backendClass): void { - $this->backends[$backendClass] = $backendClass; - } - - /** - * Unregisters a resource backend - * - * @param string $backendClass - * @since 14.0.0 - */ - #[\Override] - public function unregisterBackend(string $backendClass): void { - unset($this->backends[$backendClass], $this->initializedBackends[$backendClass]); - } - private function fetchBootstrapBackends(): void { if ($this->bootstrapBackendsLoaded) { return; @@ -72,12 +50,6 @@ private function fetchBootstrapBackends(): void { } } - /** - * @return IBackend[] - * @throws QueryException - * @since 14.0.0 - */ - #[\Override] public function getBackends():array { $this->fetchBootstrapBackends(); @@ -89,7 +61,7 @@ public function getBackends():array { /** * @todo fetch from the app container * - * The backend might have services injected that can't be build from the + * The backend might have services injected that can't be built from the * server container. */ $this->initializedBackends[$backend] = $this->container->get($backend); @@ -98,12 +70,7 @@ public function getBackends():array { return array_values($this->initializedBackends); } - /** - * @param string $backendId - * @throws QueryException - */ - #[\Override] - public function getBackend($backendId): ?IBackend { + public function getBackend(string $backendId): ?IBackend { $backends = $this->getBackends(); foreach ($backends as $backend) { if ($backend->getBackendIdentifier() === $backendId) { @@ -114,17 +81,6 @@ public function getBackend($backendId): ?IBackend { return null; } - /** - * removes all registered backend instances - * - * @since 14.0.0 - */ - #[\Override] - public function clear(): void { - $this->backends = []; - $this->initializedBackends = []; - } - #[\Override] public function update(): void { $this->updater->updateRooms(); diff --git a/lib/public/Calendar/Resource/IManager.php b/lib/public/Calendar/Resource/IManager.php index 6bc0c9e82f9f3..d8a8c8ed4c0a6 100644 --- a/lib/public/Calendar/Resource/IManager.php +++ b/lib/public/Calendar/Resource/IManager.php @@ -13,49 +13,6 @@ * @since 14.0.0 */ interface IManager { - /** - * Registers a resource backend - * - * @param string $backendClass - * @return void - * @since 14.0.0 - * @deprecated 24.0.0 use \OCP\AppFramework\Bootstrap\IRegistrationContext::registerCalendarResourceBackend - */ - public function registerBackend(string $backendClass); - - /** - * Unregisters a resource backend - * - * @param string $backendClass - * @return void - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function unregisterBackend(string $backendClass); - - /** - * @return IBackend[] - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function getBackends():array; - - /** - * @param string $backendId - * @return IBackend|null - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function getBackend($backendId); - - /** - * removes all registered backend instances - * @return void - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function clear(); - /** * Update all resources from all backends right now. * diff --git a/lib/public/Calendar/Room/IBackend.php b/lib/public/Calendar/Room/IBackend.php index 34dfbf77f729b..17b71862d7f10 100644 --- a/lib/public/Calendar/Room/IBackend.php +++ b/lib/public/Calendar/Room/IBackend.php @@ -16,7 +16,7 @@ */ interface IBackend { /** - * get a list of all rooms in this backend + * Get a list of all rooms in this backend. * * @throws BackendTemporarilyUnavailableException * @return IRoom[] @@ -25,7 +25,7 @@ interface IBackend { public function getAllRooms():array; /** - * get a list of all room identifiers in this backend + * Get a list of all room identifiers in this backend. * * @throws BackendTemporarilyUnavailableException * @return string[] @@ -34,7 +34,7 @@ public function getAllRooms():array; public function listAllRooms():array; /** - * get a room by it's id + * Get a room by its id. * * @param string $id * @throws BackendTemporarilyUnavailableException @@ -44,7 +44,7 @@ public function listAllRooms():array; public function getRoom($id); /** - * Get unique identifier of the backend + * Get unique identifier of the backend. * * @return string * @since 14.0.0 diff --git a/lib/public/Calendar/Room/IManager.php b/lib/public/Calendar/Room/IManager.php index eadb9c1669526..aaea1cb8ef689 100644 --- a/lib/public/Calendar/Room/IManager.php +++ b/lib/public/Calendar/Room/IManager.php @@ -13,49 +13,6 @@ * @since 14.0.0 */ interface IManager { - /** - * Registers a room backend - * - * @param string $backendClass - * @return void - * @since 14.0.0 - * @deprecated 24.0.0 use \OC\AppFramework\Bootstrap\::registerCalendarRoomBackend - */ - public function registerBackend(string $backendClass); - - /** - * Unregisters a room backend - * - * @param string $backendClass - * @return void - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function unregisterBackend(string $backendClass); - - /** - * @return IBackend[] - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function getBackends():array; - - /** - * @param string $backendId - * @return IBackend|null - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function getBackend($backendId); - - /** - * removes all registered backend instances - * @return void - * @since 14.0.0 - * @deprecated 24.0.0 - */ - public function clear(); - /** * Update all rooms from all backends right now. * diff --git a/tests/lib/Calendar/Resource/ManagerTest.php b/tests/lib/Calendar/Resource/ManagerTest.php index 69964d14aec47..c274e4c2b6f48 100644 --- a/tests/lib/Calendar/Resource/ManagerTest.php +++ b/tests/lib/Calendar/Resource/ManagerTest.php @@ -40,30 +40,6 @@ protected function setUp(): void { ); } - public function testRegisterUnregisterBackend(): void { - $backend1 = $this->createMock(IBackend::class); - $backend1->method('getBackendIdentifier')->willReturn('backend_1'); - $backend2 = $this->createMock(IBackend::class); - $backend2->method('getBackendIdentifier')->willReturn('backend_2'); - $this->server->expects(self::exactly(2)) - ->method('get') - ->willReturnMap([ - ['calendar_resource_backend1', $backend1,], - ['calendar_resource_backend2', $backend2,], - ]); - - $this->manager->registerBackend('calendar_resource_backend1'); - $this->manager->registerBackend('calendar_resource_backend2'); - - self::assertEquals([ - $backend1, $backend2 - ], $this->manager->getBackends()); - $this->manager->unregisterBackend('calendar_resource_backend1'); - self::assertEquals([ - $backend2 - ], $this->manager->getBackends()); - } - public function testGetBackendFromBootstrapRegistration(): void { $backendClass = '\\OCA\\CalendarResourceFoo\\Backend'; $backend = $this->createMock(IBackend::class); @@ -85,49 +61,6 @@ public function testGetBackendFromBootstrapRegistration(): void { self::assertEquals($backend, $this->manager->getBackend('from_bootstrap')); } - public function testGetBackend(): void { - $backend1 = $this->createMock(IBackend::class); - $backend1->method('getBackendIdentifier')->willReturn('backend_1'); - $backend2 = $this->createMock(IBackend::class); - $backend2->method('getBackendIdentifier')->willReturn('backend_2'); - $this->server->expects(self::exactly(2)) - ->method('get') - ->willReturnMap([ - ['calendar_resource_backend1', $backend1,], - ['calendar_resource_backend2', $backend2,], - ]); - - $this->manager->registerBackend('calendar_resource_backend1'); - $this->manager->registerBackend('calendar_resource_backend2'); - - self::assertEquals($backend1, $this->manager->getBackend('backend_1')); - self::assertEquals($backend2, $this->manager->getBackend('backend_2')); - } - - public function testClear(): void { - $backend1 = $this->createMock(IBackend::class); - $backend1->method('getBackendIdentifier')->willReturn('backend_1'); - $backend2 = $this->createMock(IBackend::class); - $backend2->method('getBackendIdentifier')->willReturn('backend_2'); - $this->server->expects(self::exactly(2)) - ->method('get') - ->willReturnMap([ - ['calendar_resource_backend1', $backend1,], - ['calendar_resource_backend2', $backend2,], - ]); - - $this->manager->registerBackend('calendar_resource_backend1'); - $this->manager->registerBackend('calendar_resource_backend2'); - - self::assertEquals([ - $backend1, $backend2 - ], $this->manager->getBackends()); - - $this->manager->clear(); - - self::assertEquals([], $this->manager->getBackends()); - } - public function testUpdate(): void { $this->resourcesRoomsUpdater->expects(self::once()) ->method('updateResources'); diff --git a/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php b/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php index e74ba90c96532..323382b4b65c5 100644 --- a/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php +++ b/tests/lib/Calendar/ResourcesRoomsUpdaterTest.php @@ -9,7 +9,9 @@ namespace Test\Calendar; +use OC\Calendar\Resource; use OC\Calendar\ResourcesRoomsUpdater; +use OC\Calendar\Room; use OCA\DAV\CalDAV\CalDavBackend; use OCP\Calendar\BackendTemporarilyUnavailableException; use OCP\Calendar\IMetadataProvider; @@ -26,32 +28,24 @@ interface tmpI extends IResource, IMetadataProvider { class ResourcesRoomsUpdaterTest extends TestCase { private ResourcesRoomsUpdater $updater; - - /** @var IResourceManager|MockObject */ - private $resourceManager; - - /** @var IRoomManager|MockObject */ - private $roomManager; - - /** @var ContainerInterface|MockObject */ - private $container; - - /** @var CalDavBackend|MockObject */ - private $calDavBackend; + private Resource\Manager&MockObject $resourceManager; + private Room\Manager&MockObject $roomManager; + private ContainerInterface&MockObject $container; + private CalDavBackend&MockObject $calDavBackend; #[\Override] protected function setUp(): void { parent::setUp(); - $this->resourceManager = $this->createMock(IResourceManager::class); - $this->roomManager = $this->createMock(IRoomManager::class); + $this->resourceManager = $this->createMock(Resource\Manager::class); + $this->roomManager = $this->createMock(Room\Manager::class); $this->container = $this->createMock(ContainerInterface::class); $this->calDavBackend = $this->createMock(CalDavBackend::class); $this->container->method('get') ->willReturnMap([ - [IResourceManager::class, $this->resourceManager], - [IRoomManager::class, $this->roomManager], + [Resource\Manager::class, $this->resourceManager], + [Room\Manager::class, $this->roomManager], ]); $this->updater = new ResourcesRoomsUpdater( diff --git a/tests/lib/Calendar/Room/ManagerTest.php b/tests/lib/Calendar/Room/ManagerTest.php index a678c58d0e7c9..4937dd2cef0b4 100644 --- a/tests/lib/Calendar/Room/ManagerTest.php +++ b/tests/lib/Calendar/Room/ManagerTest.php @@ -20,17 +20,10 @@ use Test\TestCase; class ManagerTest extends TestCase { - /** @var Coordinator|MockObject */ - private $coordinator; - - /** @var ContainerInterface|MockObject */ - private $server; - - /** @var ResourcesRoomsUpdater|MockObject */ - private $resourcesRoomsUpdater; - - /** @var Manager */ - private $manager; + private Coordinator&MockObject $coordinator; + private ContainerInterface&MockObject $server; + private ResourcesRoomsUpdater&MockObject $resourcesRoomsUpdater; + private Manager $manager; #[\Override] protected function setUp(): void { @@ -47,32 +40,6 @@ protected function setUp(): void { ); } - public function testRegisterUnregisterBackend(): void { - $backend1 = $this->createMock(IBackend::class); - $backend1->method('getBackendIdentifier')->willReturn('backend_1'); - $backend2 = $this->createMock(IBackend::class); - $backend2->method('getBackendIdentifier')->willReturn('backend_2'); - $this->server->expects(self::exactly(2)) - ->method('get') - ->willReturnMap([ - ['calendar_room_backend1', $backend1,], - ['calendar_room_backend2', $backend2,], - ]); - - $this->manager->registerBackend('calendar_room_backend1'); - $this->manager->registerBackend('calendar_room_backend2'); - - self::assertEquals([ - $backend1, $backend2 - ], $this->manager->getBackends()); - - $this->manager->unregisterBackend('calendar_room_backend1'); - - self::assertEquals([ - $backend2 - ], $this->manager->getBackends()); - } - public function testGetBackendFromBootstrapRegistration(): void { $backendClass = '\\OCA\\CalendarRoomFoo\\Backend'; $backend = $this->createMock(IBackend::class); @@ -94,49 +61,6 @@ public function testGetBackendFromBootstrapRegistration(): void { self::assertEquals($backend, $this->manager->getBackend('from_bootstrap')); } - public function testGetBackend(): void { - $backend1 = $this->createMock(IBackend::class); - $backend1->method('getBackendIdentifier')->willReturn('backend_1'); - $backend2 = $this->createMock(IBackend::class); - $backend2->method('getBackendIdentifier')->willReturn('backend_2'); - $this->server->expects(self::exactly(2)) - ->method('get') - ->willReturnMap([ - ['calendar_room_backend1', $backend1,], - ['calendar_room_backend2', $backend2,], - ]); - - $this->manager->registerBackend('calendar_room_backend1'); - $this->manager->registerBackend('calendar_room_backend2'); - - self::assertEquals($backend1, $this->manager->getBackend('backend_1')); - self::assertEquals($backend2, $this->manager->getBackend('backend_2')); - } - - public function testClear(): void { - $backend1 = $this->createMock(IBackend::class); - $backend1->method('getBackendIdentifier')->willReturn('backend_1'); - $backend2 = $this->createMock(IBackend::class); - $backend2->method('getBackendIdentifier')->willReturn('backend_2'); - $this->server->expects(self::exactly(2)) - ->method('get') - ->willReturnMap([ - ['calendar_room_backend1', $backend1,], - ['calendar_room_backend2', $backend2,], - ]); - - $this->manager->registerBackend('calendar_room_backend1'); - $this->manager->registerBackend('calendar_room_backend2'); - - self::assertEquals([ - $backend1, $backend2 - ], $this->manager->getBackends()); - - $this->manager->clear(); - - self::assertEquals([], $this->manager->getBackends()); - } - public function testUpdate(): void { $this->resourcesRoomsUpdater->expects(self::once()) ->method('updateRooms');