| @@ 45-68 (lines=24) @@ | ||
| 42 | /** | |
| 43 |      * {@inheritdoc} | |
| 44 | */ | |
| 45 | public function load(array $config, ContainerBuilder $container) | |
| 46 |     { | |
| 47 |         $managerDef = $container->getDefinition(Utility::getAliasedName('storage_manager')); | |
| 48 | ||
| 49 |         foreach ($config['search_clients'] as $name => $clientConfig) { | |
| 50 |             $clientName = Utility::getAliasedName(sprintf('search_client.%s', $name)); | |
| 51 |             if (isset($clientConfig['service'])) { | |
| 52 | // Custom search client. | |
| 53 | $container->setAlias($clientName, Utility::cleanServiceName($clientConfig['service'])); | |
| 54 |             } else { | |
| 55 | // Built-in client. | |
| 56 |                 switch ($clientConfig['type']) { | |
| 57 | case 'elastic': | |
| 58 | $definition = $this->createElasticClient($clientName, $container); | |
| 59 | break; | |
| 60 | default: | |
| 61 |                         throw new \RuntimeException(sprintf('The search client type "%s" is currently not supported.', $clientConfig['type'])); | |
| 62 | } | |
| 63 | $container->setDefinition($clientName, $definition); | |
| 64 | } | |
| 65 |             $managerDef->addMethodCall('addSearchClient', [new Reference($clientName)]); | |
| 66 | } | |
| 67 | return $this; | |
| 68 | } | |
| 69 | } | |
| 70 | ||
| @@ 104-128 (lines=25) @@ | ||
| 101 | /** | |
| 102 |      * {@inheritdoc} | |
| 103 | */ | |
| 104 | public function load(array $config, ContainerBuilder $container) | |
| 105 |     { | |
| 106 |         foreach ($config['metadata']['drivers'] as $name => $driverConfig) { | |
| 107 |             $driverName = Utility::getAliasedName(sprintf('metadata.driver.%s', $name)); | |
| 108 |             if (isset($driverConfig['service'])) { | |
| 109 | // Custom persister. | |
| 110 | $container->setAlias($driverName, Utility::cleanServiceName($driverConfig['service'])); | |
| 111 |             } else { | |
| 112 | // Built-in driver. | |
| 113 |                 switch ($driverConfig['type']) { | |
| 114 | case 'yml': | |
| 115 | $definition = $this->createYmlDriver($driverName, $driverConfig, $container); | |
| 116 | break; | |
| 117 | default: | |
| 118 |                         throw new \RuntimeException(sprintf('Unable to create a metadata driver for type "%s"', $driverConfig['type'])); | |
| 119 | } | |
| 120 | $definition->setPublic(false); | |
| 121 | $container->setDefinition($driverName, $definition); | |
| 122 | } | |
| 123 | // The library currently only supports one driver. Must break and set as default alias. | |
| 124 |             $container->setAlias(Utility::getAliasedName('metadata.default_driver'), $driverName); | |
| 125 | break; | |
| 126 | } | |
| 127 | return $this; | |
| 128 | } | |
| 129 | } | |
| 130 | ||
| @@ 20-43 (lines=24) @@ | ||
| 17 | /** | |
| 18 |      * {@inheritdoc} | |
| 19 | */ | |
| 20 | public function load(array $config, ContainerBuilder $container) | |
| 21 |     { | |
| 22 |         $managerDef = $container->getDefinition(Utility::getAliasedName('storage_manager')); | |
| 23 | ||
| 24 |         foreach ($config['persisters'] as $name => $persisterConfig) { | |
| 25 |             $persisterName = Utility::getAliasedName(sprintf('persister.%s', $name)); | |
| 26 |             if (isset($persisterConfig['service'])) { | |
| 27 | // Custom persister. | |
| 28 | $container->setAlias($persisterName, Utility::cleanServiceName($persisterConfig['service'])); | |
| 29 |             } else { | |
| 30 | // Built-in persister. | |
| 31 |                 switch ($persisterConfig['type']) { | |
| 32 | case 'mongodb': | |
| 33 | $definition = $this->createMongoDbPersister($persisterName, $persisterConfig, $container); | |
| 34 | break; | |
| 35 | default: | |
| 36 |                         throw new \RuntimeException(sprintf('The persister type "%s" is currently not supported.', $persisterConfig['type'])); | |
| 37 | } | |
| 38 | $container->setDefinition($persisterName, $definition); | |
| 39 | } | |
| 40 |             $managerDef->addMethodCall('addPersister', [new Reference($persisterName)]); | |
| 41 | } | |
| 42 | return $this; | |
| 43 | } | |
| 44 | ||
| 45 | /** | |
| 46 | * Creates the connection service definition. | |