Skip to content

Commit

Permalink
[DoctrineMongoDBBundle] Removing the "doctrine.odm.mongodb.metadata_c…
Browse files Browse the repository at this point in the history
…ache_driver" parameter.

This information was set entirely in the DI extension options and then added as a parameter only to be later consumed by the DI extension class.

In other words, this should never have been a parameter, or at least it's never been used and treated like a parameter.
  • Loading branch information
weaverryan committed Mar 9, 2011
1 parent 95a2a78 commit bdd2336
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 17 deletions.
Expand Up @@ -64,10 +64,16 @@ public function load(array $configs, ContainerBuilder $container)
// Load DoctrineMongoDBBundle/Resources/config/mongodb.xml
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('mongodb.xml');

$processor = new Processor();
$configuration = new Configuration();
$config = $processor->process($configuration->getConfigTree(), $configs);

// can't currently default this correctly in Configuration
if (!isset($config['metadata_cache_driver'])) {
$config['metadata_cache_driver'] = array('type' => 'array');
}

$this->loadDefaults($config, $container);
$this->loadConnections($config, $container);
$this->loadDocumentManagers($config, $container);
Expand Down Expand Up @@ -97,10 +103,6 @@ protected function loadDefaults(array $config, ContainerBuilder $container)
$container->setParameter('doctrine.odm.mongodb.'.$key, $config[$key]);
}
}

if (isset($config['metadata_cache_driver'])) {
$container->setParameter('doctrine.odm.mongodb.metadata_cache_driver', $config['metadata_cache_driver']['type']);
}
}

/**
Expand All @@ -114,7 +116,7 @@ protected function loadDocumentManagers(array $config, ContainerBuilder $contain
$documentManagers = $this->getDocumentManagers($config, $container);
foreach ($documentManagers as $name => $documentManager) {
$documentManager['name'] = $name;
$this->loadDocumentManager($documentManager, $container);
$this->loadDocumentManager($documentManager, $container, $config['metadata_cache_driver']);
}
$container->setParameter('doctrine.odm.mongodb.document_managers', array_keys($documentManagers));
}
Expand All @@ -123,9 +125,10 @@ protected function loadDocumentManagers(array $config, ContainerBuilder $contain
* Loads a document manager configuration.
*
* @param array $documentManager A document manager configuration array
* @param ContainerBuilder $container A ContainerBuilder instance
* @param ContainerBuilder $container A ContainerBuilder instance
* @param array $defaultMetadataCache The default metadata cache configuration array
*/
protected function loadDocumentManager(array $documentManager, ContainerBuilder $container)
protected function loadDocumentManager(array $documentManager, ContainerBuilder $container, $defaultMetadataCache)
{
$defaultDocumentManager = $container->getParameter('doctrine.odm.mongodb.default_document_manager');
$defaultDatabase = isset($documentManager['default_database']) ? $documentManager['default_database'] : $container->getParameter('doctrine.odm.mongodb.default_database');
Expand All @@ -139,7 +142,7 @@ protected function loadDocumentManager(array $documentManager, ContainerBuilder
}

$this->loadDocumentManagerBundlesMappingInformation($documentManager, $odmConfigDef, $container);
$this->loadDocumentManagerMetadataCacheDriver($documentManager, $container);
$this->loadDocumentManagerMetadataCacheDriver($documentManager, $container, $defaultMetadataCache);

$methods = array(
'setMetadataCacheImpl' => new Reference(sprintf('doctrine.odm.mongodb.%s_metadata_cache', $documentManager['name'])),
Expand Down Expand Up @@ -220,14 +223,14 @@ protected function getDocumentManagers(array $config, ContainerBuilder $containe
/**
* Loads the configured document manager metadata cache driver.
*
* @param array $config A configured document manager array
* @param ContainerBuilder $container A ContainerBuilder instance
* @param array $config A configured document manager array
* @param ContainerBuilder $container A ContainerBuilder instance
* @param array $defaultMetadataCache The default metadata cache configuration array
*/
protected function loadDocumentManagerMetadataCacheDriver(array $documentManager, ContainerBuilder $container)
protected function loadDocumentManagerMetadataCacheDriver(array $documentManager, ContainerBuilder $container, $defaultMetadataCache)
{
$metadataCacheDriver = $container->getParameter('doctrine.odm.mongodb.metadata_cache_driver');
$dmMetadataCacheDriver = isset($documentManager['metadata_cache_driver']) ? $documentManager['metadata_cache_driver'] : $metadataCacheDriver;
$type = is_array($dmMetadataCacheDriver) ? $dmMetadataCacheDriver['type'] : $dmMetadataCacheDriver;
$dmMetadataCacheDriver = isset($documentManager['metadata_cache_driver']) ? $documentManager['metadata_cache_driver'] : $defaultMetadataCache;
$type = $dmMetadataCacheDriver['type'];

if ('memcache' === $type) {
$memcacheClass = isset($dmMetadataCacheDriver['class']) ? $dmMetadataCacheDriver['class'] : sprintf('%%doctrine.odm.mongodb.cache.%s_class%%', $type);
Expand Down
Expand Up @@ -321,7 +321,6 @@ public function testDependencyInjectionImportsOverrideDefaults()
$container->getCompilerPassConfig()->setRemovingPasses(array());
$container->compile();

$this->assertEquals('apc', $container->getParameter('doctrine.odm.mongodb.metadata_cache_driver'));
$this->assertTrue($container->getParameter('doctrine.odm.mongodb.auto_generate_proxy_classes'));
}

Expand Down
Expand Up @@ -8,7 +8,6 @@

<doctrine:mongodb
auto-generate-proxy-classes="false"
metadata-cache-driver="apc"
>
</doctrine:mongodb>
</container>
@@ -1,3 +1,2 @@
doctrine_mongo_db:
auto_generate_proxy_classes: false
metadata_cache_driver: apc

0 comments on commit bdd2336

Please sign in to comment.