From 94456f90ffe9a7f8fff051a89772fae0a2e4da79 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Tue, 15 Dec 2015 14:48:25 +0100 Subject: [PATCH] ImportSourceCoreApi: provide database. Not so nice --- library/Director/Import/ImportSourceCoreApi.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/library/Director/Import/ImportSourceCoreApi.php b/library/Director/Import/ImportSourceCoreApi.php index e127a70e..bc36a208 100644 --- a/library/Director/Import/ImportSourceCoreApi.php +++ b/library/Director/Import/ImportSourceCoreApi.php @@ -3,6 +3,7 @@ namespace Icinga\Module\Director\Import; use Icinga\Application\Config; +use Icinga\Module\Director\Db; use Icinga\Module\Director\Core\CoreApi; use Icinga\Module\Director\Core\RestApiClient; use Icinga\Module\Director\Util; @@ -13,6 +14,8 @@ class ImportSourceCoreApi extends ImportSourceHook { protected $connection; + protected $db; + public function fetchData() { $func = 'get' . $this->getSetting('object_type') . 'Objects'; @@ -55,6 +58,19 @@ class ImportSourceCoreApi extends ImportSourceHook $client = new RestApiClient($apiconfig->get('address'), $apiconfig->get('port')); $client->setCredentials($apiconfig->get('username'), $apiconfig->get('password')); $api = new CoreApi($client); + $api->setDb($this->db()); return $api; } + + protected function db() + { + if ($this->db === null) { + $resourceName = Config::module('director')->get('db', 'resource'); + if ($resourceName) { + $this->db = Db::fromResourceName($resourceName); + } + } + + return $this->db; + } }