Skip to content

Commit

Permalink
Enable facets for LocationSearch
Browse files Browse the repository at this point in the history
  • Loading branch information
andrerom committed May 9, 2017
1 parent 9cfd46c commit 6691f84
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 3 deletions.
12 changes: 9 additions & 3 deletions lib/Container/Compiler/AggregateFacetBuilderVisitorPass.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,21 @@ class AggregateFacetBuilderVisitorPass implements CompilerPassInterface
*/
public function process(ContainerBuilder $container)
{
if (!$container->hasDefinition('ezpublish.search.solr.query.content.facet_builder_visitor.aggregate')) {
$this->processVisitors($container, 'content');
$this->processVisitors($container, 'location');
}

private function processVisitors(ContainerBuilder $container, $name = 'content')
{
if (!$container->hasDefinition("ezpublish.search.solr.query.${name}.facet_builder_visitor.aggregate")) {
return;
}

$aggregateFacetBuilderVisitorDefinition = $container->getDefinition(
'ezpublish.search.solr.query.content.facet_builder_visitor.aggregate'
"ezpublish.search.solr.query.${name}.facet_builder_visitor.aggregate"
);

foreach ($container->findTaggedServiceIds('ezpublish.search.solr.query.content.facet_builder_visitor') as $id => $attributes) {
foreach ($container->findTaggedServiceIds("ezpublish.search.solr.query.${name}.facet_builder_visitor") as $id => $attributes) {
$aggregateFacetBuilderVisitorDefinition->addMethodCall(
'addVisitor',
array(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@ services:
class: "%ezpublish.search.solr.query.common.facet_builder_visitor.content_type.class%"
tags:
- {name: ezpublish.search.solr.query.content.facet_builder_visitor}
- {name: ezpublish.search.solr.query.location.facet_builder_visitor}

ezpublish.search.solr.query.common.facet_builder_visitor.section:
class: "%ezpublish.search.solr.query.common.facet_builder_visitor.section.class%"
tags:
- {name: ezpublish.search.solr.query.content.facet_builder_visitor}
- {name: ezpublish.search.solr.query.location.facet_builder_visitor}

ezpublish.search.solr.query.common.facet_builder_visitor.user:
class: "%ezpublish.search.solr.query.common.facet_builder_visitor.user.class%"
tags:
- {name: ezpublish.search.solr.query.content.facet_builder_visitor}
- {name: ezpublish.search.solr.query.location.facet_builder_visitor}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ protected function setUp()
'ezpublish.search.solr.query.content.facet_builder_visitor.aggregate',
new Definition()
);
$this->setDefinition(
'ezpublish.search.solr.query.location.facet_builder_visitor.aggregate',
new Definition()
);
}

/**
Expand All @@ -45,12 +49,23 @@ public function testAddVisitor()
$def->addTag('ezpublish.search.solr.query.content.facet_builder_visitor');
$this->setDefinition($serviceId, $def);

$serviceId2 = 'service_id2';
$def = new Definition();
$def->addTag('ezpublish.search.solr.query.location.facet_builder_visitor');
$this->setDefinition($serviceId2, $def);

$this->compile();

$this->assertContainerBuilderHasServiceDefinitionWithMethodCall(
'ezpublish.search.solr.query.content.facet_builder_visitor.aggregate',
'addVisitor',
array(new Reference($serviceId))
);

$this->assertContainerBuilderHasServiceDefinitionWithMethodCall(
'ezpublish.search.solr.query.location.facet_builder_visitor.aggregate',
'addVisitor',
array(new Reference($serviceId2))
);
}
}

0 comments on commit 6691f84

Please sign in to comment.