From fc0e2fb575e757672934207a42186756848ab16b Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Tue, 26 Feb 2013 12:09:17 -0500 Subject: [PATCH] Decoupled resolver drivers from config reader. --- module/VuFind/config/module.config.php | 20 +++++++++++++++---- .../VuFind/src/VuFind/Resolver/Connection.php | 1 - .../VuFind/src/VuFind/Resolver/Driver/Ezb.php | 15 +++++++++----- .../VuFind/src/VuFind/Resolver/Driver/Sfx.php | 14 ++++++++----- .../VuFind/Resolver/Driver/Threesixtylink.php | 15 +++++++++----- 5 files changed, 45 insertions(+), 20 deletions(-) diff --git a/module/VuFind/config/module.config.php b/module/VuFind/config/module.config.php index a4fb642671b..06cccce9507 100644 --- a/module/VuFind/config/module.config.php +++ b/module/VuFind/config/module.config.php @@ -556,10 +556,22 @@ $config = array( ), 'resolver_driver' => array( 'abstract_factories' => array('VuFind\Resolver\Driver\PluginFactory'), - 'invokables' => array( - '360link' => 'VuFind\Resolver\Driver\Threesixtylink', - 'ezb' => 'VuFind\Resolver\Driver\Ezb', - 'sfx' => 'VuFind\Resolver\Driver\Sfx', + 'factories' => array( + '360link' => function ($sm) { + return new \VuFind\Resolver\Driver\Threesixtylink( + \VuFind\Config\Reader::getConfig()->OpenURL->url + ); + }, + 'ezb' => function ($sm) { + return new \VuFind\Resolver\Driver\Ezb( + \VuFind\Config\Reader::getConfig()->OpenURL->url + ); + }, + 'sfx' => function ($sm) { + return new \VuFind\Resolver\Driver\Sfx( + \VuFind\Config\Reader::getConfig()->OpenURL->url + ); + }, ), 'aliases' => array( 'threesixtylink' => '360link', diff --git a/module/VuFind/src/VuFind/Resolver/Connection.php b/module/VuFind/src/VuFind/Resolver/Connection.php index ee22d7bb3c8..a1d404231a6 100644 --- a/module/VuFind/src/VuFind/Resolver/Connection.php +++ b/module/VuFind/src/VuFind/Resolver/Connection.php @@ -29,7 +29,6 @@ * @link http://vufind.org/wiki/vufind2:link_resolver_drivers Wiki */ namespace VuFind\Resolver; -use VuFind\Config\Reader as ConfigReader; /** * Resolver Connection Class diff --git a/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php b/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php index 5c4a7516eb8..19e951bfbd3 100644 --- a/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php +++ b/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php @@ -31,7 +31,7 @@ * @link http://vufind.org/wiki/vufind2:link_resolver_drivers Wiki */ namespace VuFind\Resolver\Driver; -use DOMDocument, DOMXpath, VuFind\Config\Reader as ConfigReader; +use DOMDocument, DOMXpath; /** * EZB Link Resolver Driver @@ -44,16 +44,21 @@ use DOMDocument, DOMXpath, VuFind\Config\Reader as ConfigReader; */ class Ezb implements DriverInterface { + /** + * Base URL for link resolver + * + * @var string + */ protected $baseUrl; /** * Constructor + * + * @param string $baseUrl Base URL for link resolver */ - public function __construct() + public function __construct($baseUrl) { - // Load Configuration for this Module - $config = ConfigReader::getConfig(); - $this->baseUrl = $config->OpenURL->url; + $this->baseUrl = $baseUrl; } /** diff --git a/module/VuFind/src/VuFind/Resolver/Driver/Sfx.php b/module/VuFind/src/VuFind/Resolver/Driver/Sfx.php index 62f4469deb4..586a4da6c47 100644 --- a/module/VuFind/src/VuFind/Resolver/Driver/Sfx.php +++ b/module/VuFind/src/VuFind/Resolver/Driver/Sfx.php @@ -29,7 +29,6 @@ * @link http://vufind.org/wiki/vufind2:link_resolver_drivers Wiki */ namespace VuFind\Resolver\Driver; -use VuFind\Config\Reader as ConfigReader; /** * SFX Link Resolver Driver @@ -42,16 +41,21 @@ use VuFind\Config\Reader as ConfigReader; */ class Sfx implements DriverInterface { + /** + * Base URL for link resolver + * + * @var string + */ protected $baseUrl; /** * Constructor + * + * @param string $baseUrl Base URL for link resolver */ - public function __construct() + public function __construct($baseUrl) { - // Load Configuration for this Module - $config = ConfigReader::getConfig(); - $this->baseUrl = $config->OpenURL->url; + $this->baseUrl = $baseUrl; } /** diff --git a/module/VuFind/src/VuFind/Resolver/Driver/Threesixtylink.php b/module/VuFind/src/VuFind/Resolver/Driver/Threesixtylink.php index 7395682dc39..a2688bd9d3b 100644 --- a/module/VuFind/src/VuFind/Resolver/Driver/Threesixtylink.php +++ b/module/VuFind/src/VuFind/Resolver/Driver/Threesixtylink.php @@ -28,7 +28,7 @@ * @link http://vufind.org/wiki/vufind2:link_resolver_drivers Wiki */ namespace VuFind\Resolver\Driver; -use DOMDocument, DOMXpath, VuFind\Config\Reader as ConfigReader; +use DOMDocument, DOMXpath; /** * 360Link Link Resolver Driver @@ -41,16 +41,21 @@ use DOMDocument, DOMXpath, VuFind\Config\Reader as ConfigReader; */ class Threesixtylink implements DriverInterface { + /** + * Base URL for link resolver + * + * @var string + */ protected $baseUrl; /** * Constructor + * + * @param string $baseUrl Base URL for link resolver */ - public function __construct() + public function __construct($baseUrl) { - // Load Configuration for this Module - $config = ConfigReader::getConfig(); - $this->baseUrl = $config->OpenURL->url; + $this->baseUrl = $baseUrl; } /** -- GitLab