From 33d0bb454b361e4af2f5416ad033eacc5e7c1821 Mon Sep 17 00:00:00 2001 From: beberlei Date: Sat, 28 Aug 2010 16:41:18 +0200 Subject: [PATCH] DDC-752 - Moved verify inheritance block behind the loadMetadata event --- .../ORM/Mapping/ClassMetadataFactory.php | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php index 400970d6d..63c869b38 100644 --- a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php +++ b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php @@ -302,16 +302,6 @@ class ClassMetadataFactory $this->completeIdGeneratorMapping($class); } - // verify inheritance - if (!$parent && !$class->isMappedSuperclass && !$class->isInheritanceTypeNone()) { - if (count($class->discriminatorMap) == 0) { - throw MappingException::missingDiscriminatorMap($class->name); - } - if (!$class->discriminatorColumn) { - throw MappingException::missingDiscriminatorColumn($class->name); - } - } - if ($parent && $parent->isInheritanceTypeSingleTable()) { $class->setPrimaryTable($parent->table); } @@ -323,6 +313,16 @@ class ClassMetadataFactory $this->evm->dispatchEvent(Events::loadClassMetadata, $eventArgs); } + // verify inheritance + if (!$parent && !$class->isMappedSuperclass && !$class->isInheritanceTypeNone()) { + if (count($class->discriminatorMap) == 0) { + throw MappingException::missingDiscriminatorMap($class->name); + } + if (!$class->discriminatorColumn) { + throw MappingException::missingDiscriminatorColumn($class->name); + } + } + $this->loadedMetadata[$className] = $class; $parent = $class;