diff --git a/Client.php b/Client.php index f85756d..d0cee46 100644 --- a/Client.php +++ b/Client.php @@ -2,11 +2,11 @@ namespace FOS\ElasticaBundle; -use FOS\ElasticaBundle\Elastica\LoggingClient; +use FOS\ElasticaBundle\Elastica\Client as BaseClient; /** * @deprecated Use \FOS\ElasticaBundle\Elastica\LoggingClient */ -class Client extends LoggingClient +class Client extends BaseClient { } diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 754303b..7e8bca4 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -183,11 +183,11 @@ class Configuration implements ConfigurationInterface ->beforeNormalization() ->ifTrue(function($v) { return isset($v['mappings']); }) ->then(function($v) { - $v['properties'] = $v['mappings']; - unset($v['mappings']); + $v['properties'] = $v['mappings']; + unset($v['mappings']); - return $v; - }) + return $v; + }) ->end() ->children() ->scalarNode('index_analyzer')->end() diff --git a/DependencyInjection/FOSElasticaExtension.php b/DependencyInjection/FOSElasticaExtension.php index c844f3a..0b994c5 100644 --- a/DependencyInjection/FOSElasticaExtension.php +++ b/DependencyInjection/FOSElasticaExtension.php @@ -72,6 +72,7 @@ class FOSElasticaExtension extends Extension $container->setAlias('fos_elastica.index', sprintf('fos_elastica.index.%s', $config['default_index'])); $this->loadIndexManager($container); + $this->loadResetter($container); $this->createDefaultManagerAlias($config['default_manager'], $container); } @@ -132,7 +133,7 @@ class FOSElasticaExtension extends Extension $indexDef = new DefinitionDecorator('fos_elastica.index_prototype'); $indexDef->replaceArgument(0, $indexName); - if ($index['client']) { + if (isset($index['client'])) { $client = $this->getClient($index['client']); $indexDef->setFactoryService($client); } @@ -146,7 +147,7 @@ class FOSElasticaExtension extends Extension 'settings' => $index['settings'] ), 'elasticsearch_name' => $indexName, - 'index' => $reference, + 'reference' => $reference, 'name' => $name, 'type_prototype' => isset($index['type_prototype']) ? $index['type_prototype'] : array(), 'use_alias' => $index['use_alias'], @@ -220,7 +221,9 @@ class FOSElasticaExtension extends Extension '_timestamp', '_ttl', ) as $field) { - $this->indexConfigs[$indexName]['config']['properties'][$name][$field] = $type[$field]; + if (array_key_exists($field, $type)) { + $this->indexConfigs[$indexName]['config']['properties'][$name][$field] = $type[$field]; + } } if (!empty($type['dynamic_templates'])) { @@ -390,7 +393,7 @@ class FOSElasticaExtension extends Extension if ($this->serializerConfig) { $abstractId = 'fos_elastica.object_serializer_persister'; - $callbackId = sprintf('%s.%s.serializer.callback', $this->indexConfigs[$indexName]['index'], $typeName); + $callbackId = sprintf('%s.%s.serializer.callback', $this->indexConfigs[$indexName]['reference'], $typeName); $arguments[] = array(new Reference($callbackId), 'serialize'); } else { $abstractId = 'fos_elastica.object_persister'; @@ -622,4 +625,15 @@ class FOSElasticaExtension extends Extension return $this->clients[$clientName]['reference']; } + + /** + * Loads the resetter + * + * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container + */ + private function loadResetter(ContainerBuilder $container) + { + $resetterDef = $container->getDefinition('fos_elastica.resetter'); + $resetterDef->replaceArgument(0, $this->indexConfigs); + } } diff --git a/Resources/config/config.xml b/Resources/config/config.xml index c1ac0f9..3cb6280 100644 --- a/Resources/config/config.xml +++ b/Resources/config/config.xml @@ -5,7 +5,7 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> - FOS\ElasticaBundle\Elastica\LoggingClient + FOS\ElasticaBundle\Elastica\Client FOS\ElasticaBundle\Logger\ElasticaLogger FOS\ElasticaBundle\DataCollector\ElasticaDataCollector Symfony\Component\PropertyAccess\PropertyAccessor @@ -15,7 +15,11 @@ - + + + + + @@ -24,11 +28,6 @@ - - - - - diff --git a/Tests/Elastica/LoggingClientTest.php b/Tests/Elastica/ClientTest.php similarity index 98% rename from Tests/Elastica/LoggingClientTest.php rename to Tests/Elastica/ClientTest.php index b08a2cf..43ac7a2 100644 --- a/Tests/Elastica/LoggingClientTest.php +++ b/Tests/Elastica/ClientTest.php @@ -28,7 +28,7 @@ class LoggingClientTest extends \PHPUnit_Framework_TestCase $this->isType('array') ); - $client = $this->getMockBuilder('FOS\ElasticaBundle\Elastica\LoggingClient') + $client = $this->getMockBuilder('FOS\ElasticaBundle\Elastica\Client') ->setMethods(array('getConnection')) ->getMock();