Skip to content

Commit

Permalink
Refactored the config to use the right parameters instead of using th…
Browse files Browse the repository at this point in the history
…e default values
  • Loading branch information
stof committed Mar 9, 2011
1 parent 527749c commit f37a2a9
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 13 deletions.
Expand Up @@ -165,7 +165,7 @@ protected function loadOrmEntityManager(array $entityManager, ContainerBuilder $
{
$configServiceName = sprintf('doctrine.orm.%s_configuration', $entityManager['name']);

$ormConfigDef = new Definition('Doctrine\ORM\Configuration');
$ormConfigDef = new Definition('%doctrine.orm.configuration_class%');
$ormConfigDef->setPublic(false);
$container->setDefinition($configServiceName, $ormConfigDef);

Expand All @@ -187,10 +187,11 @@ protected function loadOrmEntityManager(array $entityManager, ContainerBuilder $
}

$entityManagerService = sprintf('doctrine.orm.%s_entity_manager', $entityManager['name']);
$connectionName = isset($entityManager['connection']) ? $entityManager['connection'] : $entityManager['name'];
$connectionId = isset($entityManager['connection']) ? sprintf('doctrine.dbal.%s_connection', $entityManager['connection']) : 'database_connection';
$eventManagerID = isset($entityManager['connection']) ? sprintf('doctrine.dbal.%s_connection.event_manager', $entityManager['connection']) : 'doctrine.dbal.event_manager';

$ormEmArgs = array(
new Reference(sprintf('doctrine.dbal.%s_connection', $connectionName)),
new Reference($connectionId),
new Reference(sprintf('doctrine.orm.%s_configuration', $entityManager['name']))
);
$ormEmDef = new Definition('%doctrine.orm.entity_manager_class%', $ormEmArgs);
Expand All @@ -201,7 +202,7 @@ protected function loadOrmEntityManager(array $entityManager, ContainerBuilder $

$container->setAlias(
sprintf('doctrine.orm.%s_entity_manager.event_manager', $entityManager['name']),
new Alias(sprintf('doctrine.dbal.%s_connection.event_manager', $connectionName), false)
new Alias($eventManagerID, false)
);
}

Expand Down Expand Up @@ -304,10 +305,14 @@ protected function loadOrmEntityManagerCacheDriver(array $entityManager, Contain
protected function getEntityManagerCacheDefinition(array $entityManager, $cacheDriver, ContainerBuilder $container)
{
if ('memcache' === $cacheDriver['type']) {
$cacheDef = new Definition('%doctrine.orm.cache.memcache_class%');
$memcacheInstance = new Definition('%doctrine.orm.cache.memcache_instance_class%');
$memcacheClass = !empty ($cacheDriver['class']) ? $cacheDriver['class'] : '%doctrine.orm.cache.memcache_class%';
$memcacheInstanceClass = !empty ($cacheDriver['instance_class']) ? $cacheDriver['instance_class'] : '%doctrine.orm.cache.memcache_instance_class%';
$memcacheHost = !empty ($cacheDriver['host']) ? $cacheDriver['host'] : '%doctrine.orm.cache.memcache_host%';
$memcachePort = !empty ($cacheDriver['port']) ? $cacheDriver['port'] : '%doctrine.orm.cache.memcache_port%';
$cacheDef = new Definition($memcacheClass);
$memcacheInstance = new Definition($memcacheInstanceClass);
$memcacheInstance->addMethodCall('connect', array(
'%doctrine.orm.cache.memcache_host%', '%doctrine.orm.cache.memcache_port%'
$memcacheHost, $memcachePort
));
$container->setDefinition(sprintf('doctrine.orm.%s_memcache_instance', $entityManager['name']), $memcacheInstance);
$cacheDef->addMethodCall('setMemcache', array(new Reference(sprintf('doctrine.orm.%s_memcache_instance', $entityManager['name']))));
Expand Down
Expand Up @@ -160,7 +160,7 @@ public function testDependencyInjectionConfigurationDefaults()

$arguments = $definition->getArguments();
$this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $arguments[0]);
$this->assertEquals('doctrine.dbal.default_connection', (string) $arguments[0]);
$this->assertEquals('database_connection', (string) $arguments[0]);
$this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $arguments[1]);
$this->assertEquals('doctrine.orm.default_configuration', (string) $arguments[1]);

Expand Down Expand Up @@ -198,7 +198,7 @@ public function testSingleEntityManagerConfiguration()
$this->assertArrayHasKey('doctrine.orm.entity_manager', $definition->getTags());

$this->assertDICConstructorArguments($definition, array(
new Reference('doctrine.dbal.default_connection'), new Reference('doctrine.orm.default_configuration')
new Reference('database_connection'), new Reference('doctrine.orm.default_configuration')
));
}

Expand Down Expand Up @@ -238,7 +238,7 @@ public function testLoadSimpleSingleConnection()
$this->assertArrayHasKey('doctrine.orm.entity_manager', $definition->getTags());

$this->assertDICConstructorArguments($definition, array(
new Reference('doctrine.dbal.default_connection'), new Reference('doctrine.orm.default_configuration')
new Reference('database_connection'), new Reference('doctrine.orm.default_configuration')
));
}

Expand Down Expand Up @@ -489,15 +489,15 @@ public function testEntityManagerMemcacheMetadataCacheDriverConfiguration()
$container->compile();

$definition = $container->getDefinition('doctrine.orm.default_metadata_cache');
$this->assertDICDefinitionClass($definition, '%doctrine.orm.cache.memcache_class%');
$this->assertDICDefinitionClass($definition, 'Doctrine\Common\Cache\MemcacheCache');
$this->assertDICDefinitionMethodCallOnce($definition, 'setMemcache',
array(new Reference('doctrine.orm.default_memcache_instance'))
);

$definition = $container->getDefinition('doctrine.orm.default_memcache_instance');
$this->assertDICDefinitionClass($definition, '%doctrine.orm.cache.memcache_instance_class%');
$this->assertDICDefinitionClass($definition, 'Memcache');
$this->assertDICDefinitionMethodCallOnce($definition, 'connect', array(
'%doctrine.orm.cache.memcache_host%', '%doctrine.orm.cache.memcache_port%'
'localhost', '11211'
));
}

Expand Down

0 comments on commit f37a2a9

Please sign in to comment.