From 99d9d86e01ace05191bc3639e16b23c6676d3cb4 Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Fri, 1 Mar 2013 14:03:19 -0500 Subject: [PATCH] Use new init() mechanism to eliminate use of Config\Reader calls. --- .../VuFind/src/VuFind/Search/Solr/Options.php | 19 ++++++++------- .../VuFind/src/VuFind/Search/Solr/Params.php | 21 ++++++++-------- .../VuFind/Search/SolrCollection/Options.php | 11 +++++---- .../src/VuFind/Search/Summon/Options.php | 24 ++++++++++++++----- .../src/VuFind/Search/WorldCat/Options.php | 19 +++++++++++---- 5 files changed, 58 insertions(+), 36 deletions(-) diff --git a/module/VuFind/src/VuFind/Search/Solr/Options.php b/module/VuFind/src/VuFind/Search/Solr/Options.php index 4b2fab1393c..ed2b5149956 100644 --- a/module/VuFind/src/VuFind/Search/Solr/Options.php +++ b/module/VuFind/src/VuFind/Search/Solr/Options.php @@ -26,8 +26,6 @@ * @link http://www.vufind.org Main Page */ namespace VuFind\Search\Solr; -use VuFind\Config\Reader as ConfigReader, - VuFind\Search\Base\Options as BaseOptions; /** * Solr Search Options @@ -38,7 +36,7 @@ use VuFind\Config\Reader as ConfigReader, * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link http://www.vufind.org Main Page */ -class Options extends BaseOptions +class Options extends \VuFind\Search\Base\Options { /** * Spelling limit @@ -83,15 +81,17 @@ class Options extends BaseOptions protected $solrShardsFieldsToStrip = array(); /** - * Constructor + * Perform initialization that cannot occur in constructor due to need for + * injected dependencies. * * @return void */ - public function __construct() + public function init() { - parent::__construct(); + parent::init(); - $searchSettings = ConfigReader::getConfig($this->searchIni); + $searchSettings = $this->getServiceLocator()->get('VuFind\Config') + ->get($this->searchIni); if (isset($searchSettings->General->default_limit)) { $this->defaultLimit = $searchSettings->General->default_limit; } @@ -156,7 +156,8 @@ class Options extends BaseOptions } // Load facet preferences - $facetSettings = ConfigReader::getConfig($this->facetsIni); + $facetSettings = $this->getServiceLocator()->get('VuFind\Config') + ->get($this->facetsIni); if (isset($facetSettings->Advanced_Settings->translated_facets) && count($facetSettings->Advanced_Settings->translated_facets) > 0 ) { @@ -170,7 +171,7 @@ class Options extends BaseOptions } // Load Spelling preferences - $config = ConfigReader::getConfig(); + $config = $this->getServiceLocator()->get('VuFind\Config')->get('config'); if (isset($config->Spelling->enabled)) { $this->spellcheck = $config->Spelling->enabled; } diff --git a/module/VuFind/src/VuFind/Search/Solr/Params.php b/module/VuFind/src/VuFind/Search/Solr/Params.php index 99c52084d57..58ab2ee2bc9 100644 --- a/module/VuFind/src/VuFind/Search/Solr/Params.php +++ b/module/VuFind/src/VuFind/Search/Solr/Params.php @@ -26,7 +26,6 @@ * @link http://www.vufind.org Main Page */ namespace VuFind\Search\Solr; -use VuFind\Config\Reader as ConfigReader, VuFind\Search\Base\Params as BaseParams; /** * Solr Search Parameters @@ -37,7 +36,7 @@ use VuFind\Config\Reader as ConfigReader, VuFind\Search\Base\Params as BaseParam * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link http://www.vufind.org Main Page */ -class Params extends BaseParams +class Params extends \VuFind\Search\Base\Params { /** * Facet result limit @@ -62,17 +61,17 @@ class Params extends BaseParams protected $overrideQuery = false; /** - * Constructor + * Perform initialization that cannot occur in constructor due to need for + * injected dependencies. * - * @param \VuFind\Search\Base\Options $options Options to use (null to load - * defaults) + * @return void */ - public function __construct($options = null) + public function init() { - parent::__construct($options); + parent::init(); // Use basic facet limit by default, if set: - $config = ConfigReader::getConfig('facets'); + $config = $this->getServiceLocator()->get('VuFind\Config')->get('facets'); if (isset($config->Results_Settings->facet_limit) && is_numeric($config->Results_Settings->facet_limit) ) { @@ -284,7 +283,7 @@ class Params extends BaseParams */ protected function initFacetList($facetList, $facetSettings) { - $config = ConfigReader::getConfig('facets'); + $config = $this->getServiceLocator()->get('VuFind\Config')->get('facets'); if (!isset($config->$facetList)) { return false; } @@ -329,7 +328,7 @@ class Params extends BaseParams */ public function initBasicFacets() { - $config = ConfigReader::getConfig('facets'); + $config = $this->getServiceLocator()->get('VuFind\Config')->get('facets'); if (isset($config->ResultsTop)) { foreach ($config->ResultsTop as $key => $value) { $this->addFacet($key, $value); @@ -471,7 +470,7 @@ class Params extends BaseParams */ public function getQueryIDLimit() { - $config = ConfigReader::getConfig(); + $config = $this->getServiceLocator()->get('VuFind\Config')->get('config'); return isset($config->Index->maxBooleanClauses) ? $config->Index->maxBooleanClauses : 1024; } diff --git a/module/VuFind/src/VuFind/Search/SolrCollection/Options.php b/module/VuFind/src/VuFind/Search/SolrCollection/Options.php index e53233ee682..c0cd39b2e42 100644 --- a/module/VuFind/src/VuFind/Search/SolrCollection/Options.php +++ b/module/VuFind/src/VuFind/Search/SolrCollection/Options.php @@ -26,7 +26,6 @@ * @link http://vufind.org Main Site */ namespace VuFind\Search\SolrCollection; -use VuFind\Config\Reader as ConfigReader; /** * Solr Collection Search Options @@ -40,16 +39,18 @@ use VuFind\Config\Reader as ConfigReader; class Options extends \VuFind\Search\Solr\Options { /** - * Constructor + * Perform initialization that cannot occur in constructor due to need for + * injected dependencies. * * @return void */ - public function __construct() + public function init() { - parent::__construct(); + parent::init(); // Load sort preferences (or defaults if none in .ini file): - $searchSettings = ConfigReader::getConfig('Collection'); + $searchSettings = $this->getServiceLocator()->get('VuFind\Config') + ->get('Collection'); if (isset($searchSettings->Sort)) { $this->sortOptions = array(); foreach ($searchSettings->Sort as $key => $value) { diff --git a/module/VuFind/src/VuFind/Search/Summon/Options.php b/module/VuFind/src/VuFind/Search/Summon/Options.php index 201c8c9c6b9..83d39b38721 100644 --- a/module/VuFind/src/VuFind/Search/Summon/Options.php +++ b/module/VuFind/src/VuFind/Search/Summon/Options.php @@ -26,8 +26,6 @@ * @link http://www.vufind.org Main Page */ namespace VuFind\Search\Summon; -use VuFind\Config\Reader as ConfigReader, - VuFind\Search\Base\Options as BaseOptions; /** * Summon Search Options @@ -38,10 +36,12 @@ use VuFind\Config\Reader as ConfigReader, * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link http://www.vufind.org Main Page */ -class Options extends BaseOptions +class Options extends \VuFind\Search\Base\Options { /** * Maximum number of results + * + * @var int */ protected $resultLimit = 400; @@ -53,10 +53,21 @@ class Options extends BaseOptions public function __construct() { $this->searchIni = $this->facetsIni = 'Summon'; - parent::__construct(); + } + + /** + * Perform initialization that cannot occur in constructor due to need for + * injected dependencies. + * + * @return void + */ + public function init() + { + parent::init(); // Load facet preferences: - $facetSettings = ConfigReader::getConfig($this->facetsIni); + $facetSettings = $this->getServiceLocator()->get('VuFind\Config') + ->get($this->facetsIni); if (isset($facetSettings->Advanced_Settings->translated_facets) && count($facetSettings->Advanced_Facet_Settings->translated_facets) > 0 ) { @@ -71,7 +82,8 @@ class Options extends BaseOptions } // Load the search configuration file: - $searchSettings = ConfigReader::getConfig($this->searchIni); + $searchSettings = $this->getServiceLocator()->get('VuFind\Config') + ->get($this->searchIni); // Set up highlighting preference if (isset($searchSettings->General->highlighting)) { diff --git a/module/VuFind/src/VuFind/Search/WorldCat/Options.php b/module/VuFind/src/VuFind/Search/WorldCat/Options.php index 0f5947c1d3d..ee7246b9c52 100644 --- a/module/VuFind/src/VuFind/Search/WorldCat/Options.php +++ b/module/VuFind/src/VuFind/Search/WorldCat/Options.php @@ -26,8 +26,6 @@ * @link http://www.vufind.org Main Page */ namespace VuFind\Search\WorldCat; -use VuFind\Config\Reader as ConfigReader, - VuFind\Search\Base\Options as BaseOptions; /** * WorldCat Search Options @@ -38,7 +36,7 @@ use VuFind\Config\Reader as ConfigReader, * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link http://www.vufind.org Main Page */ -class Options extends BaseOptions +class Options extends \VuFind\Search\Base\Options { /** * Constructor @@ -48,10 +46,21 @@ class Options extends BaseOptions public function __construct() { $this->searchIni = $this->facetsIni = 'WorldCat'; - parent::__construct(); + } + + /** + * Perform initialization that cannot occur in constructor due to need for + * injected dependencies. + * + * @return void + */ + public function init() + { + parent::init(); // Load the configuration file: - $searchSettings = ConfigReader::getConfig($this->searchIni); + $searchSettings = $this->getServiceLocator()->get('VuFind\Config') + ->get($this->searchIni); // Search handler setup: $this->defaultHandler = 'srw.kw'; -- GitLab