|
40 | 40 | use OCA\FederatedFileSharing\TokenHandler; |
41 | 41 | use OCA\ShareByMail\Settings\SettingsManager; |
42 | 42 | use OCA\ShareByMail\ShareByMailProvider; |
| 43 | +use OCA\Talk\Share\RoomShareProvider; |
43 | 44 | use OCP\Defaults; |
44 | 45 | use OCP\EventDispatcher\IEventDispatcher; |
45 | 46 | use OCP\IServerContainer; |
46 | 47 | use OCP\Share\IManager; |
47 | 48 | use OCP\Share\IProviderFactory; |
48 | 49 | use OCP\Share\IShare; |
49 | 50 | use OCP\Share\IShareProvider; |
| 51 | +use Psr\Log\LoggerInterface; |
50 | 52 |
|
51 | 53 | /** |
52 | 54 | * Class ProviderFactory |
@@ -257,8 +259,15 @@ protected function getRoomShareProvider() { |
257 | 259 | } |
258 | 260 |
|
259 | 261 | try { |
260 | | - $this->roomShareProvider = $this->serverContainer->query('\OCA\Talk\Share\RoomShareProvider'); |
261 | | - } catch (\OCP\AppFramework\QueryException $e) { |
| 262 | + /** |
| 263 | + * @psalm-suppress UndefinedClass |
| 264 | + */ |
| 265 | + $this->roomShareProvider = $this->serverContainer->get(RoomShareProvider::class); |
| 266 | + } catch (\Throwable $e) { |
| 267 | + $this->serverContainer->get(LoggerInterface::class)->error( |
| 268 | + $e->getMessage(), |
| 269 | + ['exception' => $e] |
| 270 | + ); |
262 | 271 | return null; |
263 | 272 | } |
264 | 273 | } |
@@ -288,9 +297,16 @@ public function getProvider($id) { |
288 | 297 | } |
289 | 298 |
|
290 | 299 | foreach ($this->registeredShareProviders as $shareProvider) { |
291 | | - /** @var IShareProvider $instance */ |
292 | | - $instance = $this->serverContainer->get($shareProvider); |
293 | | - $this->shareProviders[$instance->identifier()] = $instance; |
| 300 | + try { |
| 301 | + /** @var IShareProvider $instance */ |
| 302 | + $instance = $this->serverContainer->get($shareProvider); |
| 303 | + $this->shareProviders[$instance->identifier()] = $instance; |
| 304 | + } catch (\Throwable $e) { |
| 305 | + $this->serverContainer->get(LoggerInterface::class)->error( |
| 306 | + $e->getMessage(), |
| 307 | + ['exception' => $e] |
| 308 | + ); |
| 309 | + } |
294 | 310 | } |
295 | 311 |
|
296 | 312 | if (isset($this->shareProviders[$id])) { |
@@ -351,8 +367,17 @@ public function getAllProviders() { |
351 | 367 | } |
352 | 368 |
|
353 | 369 | foreach ($this->registeredShareProviders as $shareProvider) { |
354 | | - /** @var IShareProvider $instance */ |
355 | | - $instance = $this->serverContainer->get($shareProvider); |
| 370 | + try { |
| 371 | + /** @var IShareProvider $instance */ |
| 372 | + $instance = $this->serverContainer->get($shareProvider); |
| 373 | + } catch (\Throwable $e) { |
| 374 | + $this->serverContainer->get(LoggerInterface::class)->error( |
| 375 | + $e->getMessage(), |
| 376 | + ['exception' => $e] |
| 377 | + ); |
| 378 | + continue; |
| 379 | + } |
| 380 | + |
356 | 381 | if (!isset($this->shareProviders[$instance->identifier()])) { |
357 | 382 | $this->shareProviders[$instance->identifier()] = $instance; |
358 | 383 | } |
|
0 commit comments