From ea2cf7371554d2ff92830d9dbf30475253398412 Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Sun, 16 Oct 2011 17:13:11 +0200 Subject: [PATCH] Refactored the validator initializer It can now be reused for all Doctrine projects, not only for the ORM. --- .../{EntityInitializer.php => DoctrineInitializer.php} | 8 ++++---- .../Bundle/DoctrineBundle/Resources/config/orm.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) rename src/Symfony/Bridge/Doctrine/Validator/{EntityInitializer.php => DoctrineInitializer.php} (74%) diff --git a/src/Symfony/Bridge/Doctrine/Validator/EntityInitializer.php b/src/Symfony/Bridge/Doctrine/Validator/DoctrineInitializer.php similarity index 74% rename from src/Symfony/Bridge/Doctrine/Validator/EntityInitializer.php rename to src/Symfony/Bridge/Doctrine/Validator/DoctrineInitializer.php index e4ca02c536..42cafdd129 100644 --- a/src/Symfony/Bridge/Doctrine/Validator/EntityInitializer.php +++ b/src/Symfony/Bridge/Doctrine/Validator/DoctrineInitializer.php @@ -13,14 +13,13 @@ namespace Symfony\Bridge\Doctrine\Validator; use Doctrine\Common\Persistence\ManagerRegistry; use Symfony\Component\Validator\ObjectInitializerInterface; -use Doctrine\ORM\Proxy\Proxy; /** * Automatically loads proxy object before validation. * * @author Fabien Potencier */ -class EntityInitializer implements ObjectInitializerInterface +class DoctrineInitializer implements ObjectInitializerInterface { protected $registry; @@ -31,8 +30,9 @@ class EntityInitializer implements ObjectInitializerInterface public function initialize($object) { - if ($object instanceof Proxy) { - $this->registry->getManagerForClass(get_class($object))->getUnitOfWork()->initializeObject($object); + $manager = $this->registry->getManagerForClass(get_class($object)); + if (null !== $manager) { + $manager->initializeObject($object); } } } diff --git a/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml b/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml index ba5e477291..a158ad6875 100644 --- a/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml +++ b/src/Symfony/Bundle/DoctrineBundle/Resources/config/orm.xml @@ -34,7 +34,7 @@ Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator - Symfony\Bridge\Doctrine\Validator\EntityInitializer + Symfony\Bridge\Doctrine\Validator\DoctrineInitializer