From 714502fa1f51bf7e9b372c799d811483b5db3b1c Mon Sep 17 00:00:00 2001 From: esodin Date: Thu, 17 Jul 2014 16:01:10 +0300 Subject: [PATCH 1/6] Issue: Parent is missing in the fields list that causes RoutingMissingException on flushing --- DependencyInjection/FOSElasticaExtension.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/DependencyInjection/FOSElasticaExtension.php b/DependencyInjection/FOSElasticaExtension.php index 292a9a5..89ac3dd 100644 --- a/DependencyInjection/FOSElasticaExtension.php +++ b/DependencyInjection/FOSElasticaExtension.php @@ -391,7 +391,13 @@ class FOSElasticaExtension extends Extension $arguments[] = array(new Reference($callbackId), 'serialize'); } else { $abstractId = 'fos_elastica.object_persister'; - $arguments[] = $this->indexConfigs[$indexName]['types'][$typeName]['mapping']['properties']; + $mapping = $this->indexConfigs[$indexName]['types'][$typeName]['mapping']; + $argument = $mapping['properties']; + if(isset($mapping['_parent'])){ + $argument['_parent'] = $mapping['_parent']; + } + $arguments[] = $argument; + } $serviceId = sprintf('fos_elastica.object_persister.%s.%s', $indexName, $typeName); From 1ef55b1239a5b7c161da512d3a611d4cab9d30f9 Mon Sep 17 00:00:00 2001 From: esodin Date: Thu, 24 Jul 2014 17:03:26 +0300 Subject: [PATCH 2/6] Issue: Parent is missing in the fields list that causes RoutingMissingException on flushing - test --- .../FOSElasticaExtensionTest.php | 36 +++++++++++++++++++ .../DependencyInjection/config/config.yml | 21 +++++++++++ 2 files changed, 57 insertions(+) create mode 100644 Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php create mode 100644 Tests/Functional/DependencyInjection/config/config.yml diff --git a/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php b/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php new file mode 100644 index 0000000..f210136 --- /dev/null +++ b/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php @@ -0,0 +1,36 @@ +setParameter('kernel.debug', true); + + $extension = new FOSElasticaExtension; + + $extension->load($config, $containerBuilder); + + $this->assertTrue($containerBuilder->hasDefinition('fos_elastica.object_persister.test_index.child_field')); + + $persisterCallDefinition = $containerBuilder->getDefinition('fos_elastica.object_persister.test_index.child_field'); + + $this->assertArrayHasKey('_parent', $persisterCallDefinition->getArguments()['index_3']); + } + +} \ No newline at end of file diff --git a/Tests/Functional/DependencyInjection/config/config.yml b/Tests/Functional/DependencyInjection/config/config.yml new file mode 100644 index 0000000..5528d18 --- /dev/null +++ b/Tests/Functional/DependencyInjection/config/config.yml @@ -0,0 +1,21 @@ +fos_elastica: + clients: + default: + url: http://localhost:9200 + indexes: + test_index: + client: default + types: + parent_field: + mappings: + text: ~ + persistence: + driver: orm + model: foo_model + child_field: + mappings: + text: ~ + persistence: + driver: orm + model: foo_model + _parent: { type: "parent_field", property: "parent" } From 001b38cf59839d7acf230d76e765e77235af0842 Mon Sep 17 00:00:00 2001 From: esodin Date: Thu, 24 Jul 2014 17:07:22 +0300 Subject: [PATCH 3/6] Issue: Parent is missing in the fields list that causes RoutingMissingException on flushing - test --- .../DependencyInjection/FOSElasticaExtensionTest.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php b/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php index f210136..a02c35e 100644 --- a/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php +++ b/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php @@ -30,7 +30,10 @@ class FOSElasticaExtensionTest extends \PHPUnit_Framework_TestCase $persisterCallDefinition = $containerBuilder->getDefinition('fos_elastica.object_persister.test_index.child_field'); - $this->assertArrayHasKey('_parent', $persisterCallDefinition->getArguments()['index_3']); + $arguments = $persisterCallDefinition->getArguments()['index_3']; + + $this->assertArrayHasKey('_parent', $arguments); + $this->assertEquals('parent_field', $arguments['_parent']['type']); } } \ No newline at end of file From 659468ae3a47605d236bd726695a2bd65782cdfd Mon Sep 17 00:00:00 2001 From: esodin Date: Thu, 24 Jul 2014 17:36:45 +0300 Subject: [PATCH 4/6] Issue: Parent is missing in the fields list that causes RoutingMissingException on flushing - test --- .../DependencyInjection/FOSElasticaExtensionTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php b/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php index a02c35e..06676ef 100644 --- a/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php +++ b/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php @@ -30,7 +30,8 @@ class FOSElasticaExtensionTest extends \PHPUnit_Framework_TestCase $persisterCallDefinition = $containerBuilder->getDefinition('fos_elastica.object_persister.test_index.child_field'); - $arguments = $persisterCallDefinition->getArguments()['index_3']; + $arguments = $persisterCallDefinition->getArguments(); + $arguments = $arguments['index_3']; $this->assertArrayHasKey('_parent', $arguments); $this->assertEquals('parent_field', $arguments['_parent']['type']); From 5060fa4d4aaf790bda59180abb8b945535117239 Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Wed, 21 Jan 2015 17:51:56 +0100 Subject: [PATCH 5/6] Move the test file to a better location The test of the DI extension is not a functional test. --- .../FOSElasticaExtensionTest.php | 16 ++++------------ .../fixtures}/config.yml | 0 2 files changed, 4 insertions(+), 12 deletions(-) rename Tests/{Functional => }/DependencyInjection/FOSElasticaExtensionTest.php (79%) rename Tests/{Functional/DependencyInjection/config => DependencyInjection/fixtures}/config.yml (100%) diff --git a/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php b/Tests/DependencyInjection/FOSElasticaExtensionTest.php similarity index 79% rename from Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php rename to Tests/DependencyInjection/FOSElasticaExtensionTest.php index 06676ef..feb520f 100644 --- a/Tests/Functional/DependencyInjection/FOSElasticaExtensionTest.php +++ b/Tests/DependencyInjection/FOSElasticaExtensionTest.php @@ -1,8 +1,6 @@ setParameter('kernel.debug', true); @@ -36,5 +29,4 @@ class FOSElasticaExtensionTest extends \PHPUnit_Framework_TestCase $this->assertArrayHasKey('_parent', $arguments); $this->assertEquals('parent_field', $arguments['_parent']['type']); } - -} \ No newline at end of file +} diff --git a/Tests/Functional/DependencyInjection/config/config.yml b/Tests/DependencyInjection/fixtures/config.yml similarity index 100% rename from Tests/Functional/DependencyInjection/config/config.yml rename to Tests/DependencyInjection/fixtures/config.yml From 32d190f554d4a9efa68cadeae3974c77d14b349f Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Wed, 21 Jan 2015 18:10:33 +0100 Subject: [PATCH 6/6] Bump the changelog for 3.0.7 --- CHANGELOG-3.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG-3.0.md b/CHANGELOG-3.0.md index ecb5dad..70bd181 100644 --- a/CHANGELOG-3.0.md +++ b/CHANGELOG-3.0.md @@ -12,8 +12,9 @@ https://github.com/FriendsOfSymfony/FOSElasticaBundle/compare/v3.0.0...v3.0.1 To generate a changelog summary since the last version, run `git log --no-merges --oneline v3.0.0...3.0.x` -* 3.0.7 (Unreleased) +* 3.0.7 (2015-01-21) + * Fixed the indexing of parent/child relations, broken since 3.0 #774 * Fixed multi_field properties not being normalised #769 * 3.0.6 (2015-01-04)