FIX Implement Solr namespaces into Solr check, remove index filter

This commit is contained in:
Robbie Averill 2017-12-22 15:31:55 +13:00
parent 1ce832f859
commit e6e5ac96df
2 changed files with 9 additions and 21 deletions

View File

@ -3,9 +3,11 @@
namespace SilverStripe\EnvironmentCheck\Checks; namespace SilverStripe\EnvironmentCheck\Checks;
use SilverStripe\EnvironmentCheck\EnvironmentCheck; use SilverStripe\EnvironmentCheck\EnvironmentCheck;
use SilverStripe\FullTextSearch\Solr\Solr;
use SilverStripe\FullTextSearch\Solr\SolrIndex;
/** /**
* Check the availability of all Solr indexes of given class. * Check the availability of all Solr indexes
* *
* If there are no indexes of given class found, the returned status will still be "OK". * If there are no indexes of given class found, the returned status will still be "OK".
* *
@ -13,19 +15,6 @@ use SilverStripe\EnvironmentCheck\EnvironmentCheck;
*/ */
class SolrIndexCheck implements EnvironmentCheck class SolrIndexCheck implements EnvironmentCheck
{ {
/**
* @var null|string
*/
protected $indexClass;
/**
* @param string $indexClass Limit the index checks to the specified class and all its subclasses.
*/
public function __construct($indexClass = null)
{
$this->indexClass = $indexClass;
}
/** /**
* {@inheritDoc} * {@inheritDoc}
* *
@ -35,18 +24,16 @@ class SolrIndexCheck implements EnvironmentCheck
{ {
$brokenCores = []; $brokenCores = [];
/** if (!class_exists(Solr::class)) {
* @todo Revisit this when silverstripe/fulltextsearch has 4.x compat
*/
if (!class_exists('\\Solr')) {
return [ return [
EnvironmentCheck::ERROR, EnvironmentCheck::ERROR,
'Class `Solr` not found. Is the fulltextsearch module installed?' 'Class `' . Solr::class . '` not found. Is the fulltextsearch module installed?'
]; ];
} }
$service = \Solr::service(); $service = Solr::service();
foreach (\Solr::get_indexes($this->indexClass) as $index) { foreach (Solr::get_indexes() as $index) {
/** @var SolrIndex $core */
$core = $index->getIndexName(); $core = $index->getIndexName();
if (!$service->coreIsActive($core)) { if (!$service->coreIsActive($core)) {
$brokenCores[] = $core; $brokenCores[] = $core;

View File

@ -3,6 +3,7 @@
namespace SilverStripe\EnvironmentCheck\Controllers; namespace SilverStripe\EnvironmentCheck\Controllers;
use SilverStripe\Control\Controller; use SilverStripe\Control\Controller;
use SilverStripe\Control\HTTPResponse_Exception;
use SilverStripe\EnvironmentCheck\EnvironmentChecker; use SilverStripe\EnvironmentCheck\EnvironmentChecker;
/** /**