/** * Builds search engine identified by its identifier (the "alias" attribute in the service tag), * resolved for current siteaccess. * * @throws \eZ\Bundle\EzPublishCoreBundle\ApiLoader\Exception\InvalidSearchEngine * * @return \eZ\Publish\SPI\Persistence\Handler */ public function buildSearchEngine() { $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig(); if (!(isset($repositoryConfig['search']['engine']) && isset($this->searchEngines[$repositoryConfig['search']['engine']]))) { throw new InvalidSearchEngine("Invalid search engine '{$repositoryConfig['search']['engine']}'. " . "Could not find a service tagged as 'ezpublish.searchEngine' " . "with alias '{$repositoryConfig['search']['engine']}'."); } return $this->searchEngines[$repositoryConfig['search']['engine']]; }
/** * Builds storage engine identified by $storageEngineIdentifier (the "alias" attribute in the service tag). * * @throws \eZ\Bundle\EzPublishCoreBundle\ApiLoader\Exception\InvalidStorageEngine * * @return \eZ\Publish\SPI\Persistence\Handler */ public function buildStorageEngine() { $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig(); if (!(isset($repositoryConfig['storage']['engine']) && isset($this->storageEngines[$repositoryConfig['storage']['engine']]))) { throw new InvalidStorageEngine("Invalid storage engine '{$repositoryConfig['storage']['engine']}'. " . 'Could not find any service tagged as ezpublish.storageEngine ' . "with alias {$repositoryConfig['storage']['engine']}."); } return $this->storageEngines[$repositoryConfig['storage']['engine']]; }
/** * @expectedException \eZ\Bundle\EzPublishCoreBundle\ApiLoader\Exception\InvalidRepositoryException */ public function testGetRepositoryConfigUndefinedRepository() { $configResolver = $this->getConfigResolverMock(); $repositories = array('main' => array('engine' => 'foo'), 'another' => array('engine' => 'bar')); $configResolver->expects($this->once())->method('getParameter')->with('repository')->will($this->returnValue('undefined_repository')); $provider = new RepositoryConfigurationProvider($configResolver, $repositories); $provider->getRepositoryConfig(); }
public function buildEngine() { $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig(); $connection = $this->defaultConnection; if (isset($repositoryConfig['search']['connection'])) { $connection = $repositoryConfig['search']['connection']; } return new $this->searchEngineClass($this->container->get("ez_search_engine_solr.connection.{$connection}.gateway_id"), $this->container->get('ezpublish.spi.persistence.content_handler'), $this->container->get('ezpublish.search.solr.document_mapper'), $this->container->get('ezpublish.search.solr.result_extractor'), $this->container->get("ez_search_engine_solr.connection.{$connection}.core_filter_id")); }
public function buildEngine() { $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig(); $connection = $this->defaultConnection; if (isset($repositoryConfig['search']['connection'])) { $connection = $repositoryConfig['search']['connection']; } return new $this->searchEngineClass($this->container->get(sprintf('%s.%s', EzPublishElasticsearchSearchEngineExtension::CONTENT_SEARCH_GATEWAY_ID, $connection)), $this->container->get(sprintf('%s.%s', EzPublishElasticsearchSearchEngineExtension::LOCATION_SEARCH_GATEWAY_ID, $connection)), $this->container->get('ezpublish.search.elasticsearch.mapper'), $this->container->get('ezpublish.search.elasticsearch.extractor'), $this->container->getParameter("ez_search_engine_elasticsearch.connection.{$connection}.location_document_type_identifier"), $this->container->getParameter("ez_search_engine_elasticsearch.connection.{$connection}.location_document_type_identifier")); }
public function buildEngine() { $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig(); $connection = $this->defaultConnection; if (isset($repositoryConfig['search']['connection'])) { $connection = $repositoryConfig['search']['connection']; } $engineId = $this->container->getParameter("ez_search_engine_elasticsearch.connection.{$connection}.engine_id"); return $this->container->get($engineId); }
public function buildEngine() { $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig(); $connection = $this->defaultConnection; if (isset($repositoryConfig['search']['connection'])) { $connection = $repositoryConfig['search']['connection']; } $contentHandlerId = $this->container->getParameter("ez_search_engine_solr.connection.{$connection}.content_handler_id"); $locationHandlerId = $this->container->getParameter("ez_search_engine_solr.connection.{$connection}.location_handler_id"); return new $this->searchEngineClass($this->container->get($contentHandlerId), $this->container->get($locationHandlerId)); }
/** * Returns database connection used by database handler * * @throws \InvalidArgumentException * * @return \Doctrine\DBAL\Connection */ public function getConnection() { $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig(); // Taking provided connection name if any. // Otherwise, just fallback to the default connection. if (isset($repositoryConfig['search']['connection'])) { $doctrineConnectionId = sprintf('doctrine.dbal.%s_connection', $repositoryConfig['search']['connection']); } else { // "database_connection" is an alias to the default connection, set up by DoctrineBundle. $doctrineConnectionId = 'database_connection'; } if (!$this->container->has($doctrineConnectionId)) { throw new InvalidArgumentException("Invalid Doctrine connection '{$repositoryConfig['search']['connection']}' for repository '{$repositoryConfig['alias']}'." . "Valid connections are " . implode(', ', array_keys($this->container->getParameter('doctrine.connections')))); } return $this->container->get($doctrineConnectionId); }
public function build(TranslatorInterface $translator) { $repositoryConfig = $this->configProvider->getRepositoryConfig(); return new ArrayTranslatorFieldsGroupsList($translator, $repositoryConfig['fields_groups']['default'], $repositoryConfig['fields_groups']['list']); }