Made default manager configurable
Conflicts: DependencyInjection/FOQElasticaExtension.php Resources/config/config.xml Resources/config/mongodb.xml Resources/config/orm.xml Resources/config/propel.xml
This commit is contained in:
parent
ac3edc23a4
commit
bb87a0be74
|
@ -26,6 +26,7 @@ class Configuration
|
|||
->children()
|
||||
->scalarNode('default_client')->end()
|
||||
->scalarNode('default_index')->end()
|
||||
->scalarNode('default_manager')->defaultValue('orm')->end()
|
||||
->end()
|
||||
;
|
||||
|
||||
|
|
|
@ -52,6 +52,8 @@ class FOQElasticaExtension extends Extension
|
|||
|
||||
$container->setAlias('foq_elastica.client', sprintf('foq_elastica.client.%s', $config['default_client']));
|
||||
$container->setAlias('foq_elastica.index', sprintf('foq_elastica.index.%s', $config['default_index']));
|
||||
|
||||
$this->createDefaultManagerAlias($config['default_manager'], $container);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -390,4 +392,22 @@ class FOQElasticaExtension extends Extension
|
|||
$loader->load($driver.'.xml');
|
||||
$this->loadedDrivers[] = $driver;
|
||||
}
|
||||
|
||||
protected function createDefaultManagerAlias($defaultManager, ContainerBuilder $container)
|
||||
{
|
||||
if (0 == count($this->loadedDrivers)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (count($this->loadedDrivers) > 1
|
||||
&& in_array($defaultManager, $this->loadedDrivers)
|
||||
) {
|
||||
$defaultManagerService = $defaultManager;
|
||||
} else {
|
||||
$defaultManagerService = $this->loadedDrivers[0];
|
||||
}
|
||||
|
||||
$container->setAlias('foq_elastica.manager', sprintf('foq_elastica.manager.%s', $defaultManagerService));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue