Skip to content

Commit

Permalink
NGSTACK-843 register elasticsearch services in compiler pass
Browse files Browse the repository at this point in the history
  • Loading branch information
Katarina Miočić committed Aug 16, 2024
1 parent 33dd70d commit b628a66
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
use Ibexa\Contracts\Core\Persistence\Content\Handler;
use Ibexa\Elasticsearch\DocumentMapper\DocumentFactoryInterface;
use Netgen\IbexaSearchExtra\Core\Search\Elasticsearch\DocumentMapper\DocumentFactory;
use Netgen\IbexaSearchExtra\Core\Search\Elasticsearch\Query\CriterionVisitor\Content\VisibilityVisitor as ContentVisibilityVisitor;
use Netgen\IbexaSearchExtra\Core\Search\Elasticsearch\Query\CriterionVisitor\Location\VisibilityVisitor as LocationVisibilityVisitor;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
Expand All @@ -28,8 +30,34 @@ public function process(ContainerBuilder $container): void
$this->processVisitors($container, 'content_translation');
$this->processVisitors($container, 'location');
$this->processVisitors($container, 'location_translation');

$this->processDocumentFactory($container);

$container
->register(ContentVisibilityVisitor::class, ContentVisibilityVisitor::class)
->addTag('ibexa.search.elasticsearch.query.content.criterion.visitor');

$container
->register(LocationVisibilityVisitor::class, LocationVisibilityVisitor::class)
->addTag('ibexa.search.elasticsearch.query.location.criterion.visitor');
}

public function processDocumentFactory(ContainerBuilder $container): void
{
$container
->register(DocumentFactory::class, DocumentFactory::class)
->setDecoratedService(DocumentFactoryInterface::class)
->setArguments([
new Reference('.inner'),
new Reference(Handler::class),
new Reference('netgen.ibexa_search_extra.elasticsearch.field_mapper.content.aggregate'),
new Reference('netgen.ibexa_search_extra.elasticsearch.field_mapper.location.aggregate'),
new Reference('netgen.ibexa_search_extra.elasticsearch.field_mapper.content_translation.aggregate'),
new Reference('netgen.ibexa_search_extra.elasticsearch.field_mapper.location_translation.aggregate'),
new Reference('netgen.ibexa_search_extra.elasticsearch.field_mapper.block.aggregate'),
new Reference('netgen.ibexa_search_extra.elasticsearch.field_mapper.block_translation.aggregate'),
]);
}

private function processVisitors(ContainerBuilder $container, string $name): void
{
Expand Down
23 changes: 0 additions & 23 deletions lib/Resources/config/search/elasticsearch/document_factory.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,3 @@ services:

netgen.ibexa_search_extra.elasticsearch.field_mapper.location.aggregate:
class: Netgen\IbexaSearchExtra\Core\Search\Elasticsearch\DocumentMapper\LocationFieldMapper\Aggregate

netgen.ibexa_search_extra.elastic_search.content.visibility_visitor:
class: Netgen\IbexaSearchExtra\Core\Search\Elasticsearch\Query\CriterionVisitor\Content\VisibilityVisitor
tags:
- {name: ibexa.search.elasticsearch.query.content.criterion.visitor}

netgen.ibexa_search_extra.elastic_search.location.visibility_visitor:
class: Netgen\IbexaSearchExtra\Core\Search\Elasticsearch\Query\CriterionVisitor\Location\VisibilityVisitor
tags:
- {name: ibexa.search.elasticsearch.query.location.criterion.visitor}

netgen.ibexa_search_extra.elastic_search.document_factory:
class: Netgen\IbexaSearchExtra\Core\Search\Elasticsearch\DocumentMapper\DocumentFactory
decorates: Ibexa\Elasticsearch\DocumentMapper\DocumentFactoryInterface
arguments:
- '@.inner'
- '@Ibexa\Contracts\Core\Persistence\Content\Handler'
- 'netgen.ibexa_search_extra.elasticsearch.field_mapper.content.aggregate'
- 'netgen.ibexa_search_extra.elasticsearch.field_mapper.location.aggregate'
- 'netgen.ibexa_search_extra.elasticsearch.field_mapper.content_translation.aggregate'
- 'netgen.ibexa_search_extra.elasticsearch.field_mapper.location_translation.aggregate'
- 'netgen.ibexa_search_extra.elasticsearch.field_mapper.block.aggregate'
- 'netgen.ibexa_search_extra.elasticsearch.field_mapper.block_translation.aggregate'

0 comments on commit b628a66

Please sign in to comment.