示例#1
0
 /**
  * Dependencies are injected here by factory for result, config, and interface, via container.
  * @param DependencyContainer $container
  */
 protected function configure(DependencyContainer $container)
 {
     $this->searchResultObject = $container->getResult();
     $this->searchConfig = $container->getConfig();
     $this->service = $container->getService();
     $this->results = new ArrayIterator(array());
     $this->resultsFound = $this->searchResultObject->getNumFound();
     $this->handleMatchPrepends()->setResults($this->searchResultObject->getDocuments());
 }
示例#2
0
 /**
  * Inspects a dependency container and selects the appropriate result set based on what is set.
  * @param DependencyContainer $container
  * @todo return type hinting for DependencyContainer to constructor when we have a better solution than WikiaMockProxy for testing. (or a dependencycontainerfactory, yuck)
  * @throws \Exception
  * @return \Wikia\Search\ResultSet\AbstractResultSet
  */
 public function get($container)
 {
     $searchConfig = $container->getConfig();
     if ($searchConfig === null) {
         throw new \Exception('An instance of Wikia\\Search\\Config must be set in the dependency container at a minimum in order to instantiate a result set.');
     }
     $result = $container->getResult();
     $terminal = 'Base';
     if ($result === null || $result instanceof Solarium_Result_Select_Empty) {
         $terminal = 'EmptySet';
     } else {
         if ($searchConfig->getQueryService() === '\\Wikia\\Search\\QueryService\\Select\\Dismax\\CombinedMedia') {
             $terminal = 'CombinedMediaResultSet';
         }
     }
     return (new \Wikia\Search\ProfiledClassFactory())->get('Wikia\\Search\\ResultSet\\' . $terminal, [$container]);
 }
示例#3
0
 /**
  * Constructor class. Search Config is the bare minimum we need.
  * @param DependencyContainer $container
  */
 protected function configure(DependencyContainer $container)
 {
     $this->searchConfig = $container->getConfig();
 }