Skip to content
Snippets Groups Projects
Commit c047a909 authored by Samuli Sillanpää's avatar Samuli Sillanpää Committed by Robert Lange
Browse files

Improve extensibility of code.

- Use properties to allow subclass overrides.
parent dcb2e93d
No related merge requests found
...@@ -63,6 +63,13 @@ class CollectionList extends AbstractBase ...@@ -63,6 +63,13 @@ class CollectionList extends AbstractBase
*/ */
protected $recommendManager; protected $recommendManager;
/**
* Search class id
*
* @var string
*/
protected $searchClassId = 'SolrCollection';
/** /**
* Constructor * Constructor
* *
...@@ -116,7 +123,7 @@ class CollectionList extends AbstractBase ...@@ -116,7 +123,7 @@ class CollectionList extends AbstractBase
$listener->attach($runner->getEventManager()->getSharedManager()); $listener->attach($runner->getEventManager()->getSharedManager());
}; };
$this->results $this->results
= $this->runner->run($request, 'SolrCollection', $cb); = $this->runner->run($request, $this->searchClassId, $cb);
} }
return $this->results; return $this->results;
} }
......
...@@ -43,6 +43,13 @@ use VuFindSearch\Backend\Solr\Response\Json\RecordCollectionFactory; ...@@ -43,6 +43,13 @@ use VuFindSearch\Backend\Solr\Response\Json\RecordCollectionFactory;
*/ */
class SolrDefaultBackendFactory extends AbstractSolrBackendFactory class SolrDefaultBackendFactory extends AbstractSolrBackendFactory
{ {
/**
* Method for creating a record driver.
*
* @var string
*/
protected $createRecordMethod = 'getSolrRecord';
/** /**
* Constructor * Constructor
*/ */
...@@ -78,7 +85,8 @@ class SolrDefaultBackendFactory extends AbstractSolrBackendFactory ...@@ -78,7 +85,8 @@ class SolrDefaultBackendFactory extends AbstractSolrBackendFactory
$backend = parent::createBackend($connector); $backend = parent::createBackend($connector);
$manager = $this->serviceLocator $manager = $this->serviceLocator
->get(\VuFind\RecordDriver\PluginManager::class); ->get(\VuFind\RecordDriver\PluginManager::class);
$factory = new RecordCollectionFactory([$manager, 'getSolrRecord']); $factory
= new RecordCollectionFactory([$manager, $this->createRecordMethod]);
$backend->setRecordCollectionFactory($factory); $backend->setRecordCollectionFactory($factory);
return $backend; return $backend;
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment