FOSElasticaBundle/Resources/config/config.xml
Jeremy Mikola b360a36737 [Provider] Create ProviderRegistry service (BC break)
This introduces a registry service for persistence providers.

Previously, tagging one or more provider services would cause AddProviderPass to clobber the default providers created by the bundle's extension class. Now, the extension class tags its created providers and allows them to be registered via RegisterProvidersPass just like custom providers.

BC break: Custom providers tagged "foq_elastica.provider" must now specify a "type" attribute on their tag. An "index" attribute is optional (the default ES index will be used by default).
2012-03-12 12:07:51 -04:00

78 lines
3.9 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<parameters>
<parameter key="foq_elastica.client.class">FOQ\ElasticaBundle\Client</parameter>
<parameter key="foq_elastica.index.class">Elastica_Index</parameter>
<parameter key="foq_elastica.type.class">Elastica_Type</parameter>
<parameter key="foq_elastica.logger.class">FOQ\ElasticaBundle\Logger\ElasticaLogger</parameter>
<parameter key="foq_elastica.data_collector.class">FOQ\ElasticaBundle\DataCollector\ElasticaDataCollector</parameter>
<parameter key="foq_elastica.manager.class">FOQ\ElasticaBundle\Manager\RepositoryManager</parameter>
<parameter key="foq_elastica.elastica_to_model_transformer.collection.class">FOQ\ElasticaBundle\Transformer\ElasticaToModelTransformerCollection</parameter>
<parameter key="foq_elastica.provider_registry.class">FOQ\ElasticaBundle\Provider\ProviderRegistry</parameter>
</parameters>
<services>
<service id="foq_elastica.logger" class="%foq_elastica.logger.class%">
<argument type="service" id="logger" on-invalid="null" />
<tag name="monolog.logger" channel="elastica" />
</service>
<service id="foq_elastica.data_collector" class="%foq_elastica.data_collector.class%" public="true">
<tag name="data_collector" template="FOQElasticaBundle:Collector:elastica" id="elastica" />
<argument type="service" id="foq_elastica.logger" />
</service>
<service id="foq_elastica.client" class="%foq_elastica.client.class%">
<argument /> <!-- config -->
<call method="setLogger">
<argument type="service" id="foq_elastica.logger" />
</call>
</service>
<service id="foq_elastica.index_manager" class="FOQ\ElasticaBundle\IndexManager">
<argument /> <!-- indexes -->
<argument /> <!-- default index -->
</service>
<service id="foq_elastica.populator" class="FOQ\ElasticaBundle\Populator">
<argument /> <!-- providers -->
</service>
<service id="foq_elastica.resetter" class="FOQ\ElasticaBundle\Resetter">
<argument /> <!-- index configs -->
</service>
<service id="foq_elastica.object_persister.prototype" class="FOQ\ElasticaBundle\Persister\ObjectPersister" public="false" abstract="true">
<argument /> <!-- type -->
<argument /> <!-- model to elastica transformer -->
<argument /> <!-- model -->
<argument /> <!-- properties mapping -->
</service>
<service id="foq_elastica.finder.prototype" class="FOQ\ElasticaBundle\Finder\TransformedFinder" public="true" abstract="true">
<argument /> <!-- searchable -->
<argument /> <!-- transformer -->
</service>
<service id="foq_elastica.model_to_elastica_transformer.prototype.auto" class="FOQ\ElasticaBundle\Transformer\ModelToElasticaAutoTransformer" public="false" abstract="true">
<argument /> <!-- options -->
</service>
<service id="foq_elastica.elastica_to_model_transformer.collection.prototype" class="%foq_elastica.elastica_to_model_transformer.collection.class%" public="true" abstract="true">
<argument type="collection" /> <!-- transformers -->
<argument type="collection" /> <!-- options -->
</service>
<service id="foq_elastica.provider_registry" class="%foq_elastica.provider_registry.class%">
<call method="setContainer">
<argument type="service" id="service_container" />
</call>
</service>
</services>
</container>