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()
|
->children()
|
||||||
->scalarNode('default_client')->end()
|
->scalarNode('default_client')->end()
|
||||||
->scalarNode('default_index')->end()
|
->scalarNode('default_index')->end()
|
||||||
|
->scalarNode('default_manager')->defaultValue('orm')->end()
|
||||||
->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.client', sprintf('foq_elastica.client.%s', $config['default_client']));
|
||||||
$container->setAlias('foq_elastica.index', sprintf('foq_elastica.index.%s', $config['default_index']));
|
$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');
|
$loader->load($driver.'.xml');
|
||||||
$this->loadedDrivers[] = $driver;
|
$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