Skip to content

Commit

Permalink
Simplify
Browse files Browse the repository at this point in the history
  • Loading branch information
dunglas committed Jul 3, 2018
1 parent 62ef5f7 commit acaa05e
Showing 1 changed file with 13 additions and 21 deletions.
34 changes: 13 additions & 21 deletions DependencyInjection/DoctrineExtension.php
Expand Up @@ -360,26 +360,12 @@ protected function ormLoad(array $config, ContainerBuilder $container)
$entityManager['name'] = $name;
$this->loadOrmEntityManager($entityManager, $container);

if (! $loadPropertyInfoExtractor && ! $loadValidatorAutoMappingLoader) {
continue;
}

// TODO: drop the following block
$metadataFactoryService = sprintf('doctrine.orm.%s_entity_manager.metadata_factory', $name);
$metadataFactoryDefinition = $container->register($metadataFactoryService, ClassMetadataFactory::class);
$metadataFactoryDefinition->setFactory([
new Reference(sprintf('doctrine.orm.%s_entity_manager', $name)),
'getMetadataFactory',
]);
$metadataFactoryDefinition->setPublic(false);

$entityManagerService = sprintf('doctrine.orm.%s_entity_manager', $name);
if ($loadPropertyInfoExtractor) {
$this->loadPropertyInfoExtractor($name, $container, $metadataFactoryService);
$this->loadPropertyInfoExtractor($name, $container);
}

if ($loadValidatorAutoMappingLoader) {
$this->loadValidatorAutoMappingLoader($name, $container, $entityManagerService);
$this->loadValidatorAutoMappingLoader($name, $container);
}
}

Expand Down Expand Up @@ -805,10 +791,17 @@ protected function loadOrmCacheDrivers(array $entityManager, ContainerBuilder $c
* Loads a property info extractor for each defined entity manager.
*
* @param string $entityManagerName
* @param string $metadataFactoryService
*/
private function loadPropertyInfoExtractor($entityManagerName, ContainerBuilder $container, $metadataFactoryService)
private function loadPropertyInfoExtractor($entityManagerName, ContainerBuilder $container)
{
$metadataFactoryService = sprintf('doctrine.orm.%s_entity_manager.metadata_factory', $entityManagerName);
$metadataFactoryDefinition = $container->register($metadataFactoryService, 'Doctrine\Common\Persistence\Mapping\ClassMetadataFactory');
$metadataFactoryDefinition->setFactory([
new Reference(sprintf('doctrine.orm.%s_entity_manager', $entityManagerName)),
'getMetadataFactory',
]);
$metadataFactoryDefinition->setPublic(false);

$propertyExtractorDefinition = $container->register(sprintf('doctrine.orm.%s_entity_manager.property_info_extractor', $entityManagerName), 'Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor');
$propertyExtractorDefinition->addArgument(new Reference($metadataFactoryService));
$propertyExtractorDefinition->addTag('property_info.list_extractor', ['priority' => -1001]);
Expand All @@ -818,12 +811,11 @@ private function loadPropertyInfoExtractor($entityManagerName, ContainerBuilder
* Loads a validator loader for each defined entity manager.
*
* @param string $entityManagerName
* @param string $entityManagerService
*/
private function loadValidatorAutoMappingLoader($entityManagerName, ContainerBuilder $container, $entityManagerService)
private function loadValidatorAutoMappingLoader($entityManagerName, ContainerBuilder $container)
{
$validatorLoaderDefinition = $container->register(sprintf('doctrine.orm.%s_entity_manager.validator_loader', $entityManagerName), DoctrineLoader::class);
$validatorLoaderDefinition->addArgument(new Reference($entityManagerService));
$validatorLoaderDefinition->addArgument(new Reference(sprintf('doctrine.orm.%s_entity_manager', $entityManagerName)));
$validatorLoaderDefinition->addTag('validator.auto_mapping');
}

Expand Down

0 comments on commit acaa05e

Please sign in to comment.