From 99c30453dda8d469f0a2fad8eb11745b3435867a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 15 Oct 2019 12:54:22 +0200 Subject: [PATCH] Ignore unavailable entity/operation classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- apps/workflowengine/lib/AppInfo/Application.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/workflowengine/lib/AppInfo/Application.php b/apps/workflowengine/lib/AppInfo/Application.php index f5653a6e48..cea6ac7a1e 100644 --- a/apps/workflowengine/lib/AppInfo/Application.php +++ b/apps/workflowengine/lib/AppInfo/Application.php @@ -22,6 +22,7 @@ namespace OCA\WorkflowEngine\AppInfo; use OCA\WorkflowEngine\Manager; +use OCP\AppFramework\QueryException; use OCP\Template; use OCA\WorkflowEngine\Controller\RequestTime; use OCP\WorkflowEngine\IEntity; @@ -89,12 +90,16 @@ class Application extends \OCP\AppFramework\App { $eventName, function (GenericEvent $event) use ($eventName, $operationClass, $entityClass) { $ruleMatcher = $this->manager->getRuleMatcher(); - /** @var IEntity $entity */ - $entity = $this->getContainer()->query($entityClass); - $entity->prepareRuleMatcher($ruleMatcher, $eventName, $event); - /** @var IOperation $operation */ - $operation = $this->getContainer()->query($operationClass); - $operation->onEvent($eventName, $event, $ruleMatcher); + try { + /** @var IEntity $entity */ + $entity = $this->getContainer()->query($entityClass); + $entity->prepareRuleMatcher($ruleMatcher, $eventName, $event); + /** @var IOperation $operation */ + $operation = $this->getContainer()->query($operationClass); + $operation->onEvent($eventName, $event, $ruleMatcher); + } catch (QueryException $e) { + // Ignore query exceptions since they might occur when an entity/operation were setup before by an app that is disabled now + } } ); }, $eventNames);