From 8a6b1b48e357c03656b37e4a28c547b04aecd7cf Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 15 Jan 2015 03:52:01 +0100 Subject: [PATCH] #1130 DDC-3300 - removing unused `ResolveDiscriminatorMapListener` and related test --- .../Tools/ResolveDiscriminatorMapListener.php | 82 ------------- .../ResolveDiscriminatorMapListenerTest.php | 112 ------------------ 2 files changed, 194 deletions(-) delete mode 100644 lib/Doctrine/ORM/Tools/ResolveDiscriminatorMapListener.php delete mode 100644 tests/Doctrine/Tests/ORM/Tools/ResolveDiscriminatorMapListenerTest.php diff --git a/lib/Doctrine/ORM/Tools/ResolveDiscriminatorMapListener.php b/lib/Doctrine/ORM/Tools/ResolveDiscriminatorMapListener.php deleted file mode 100644 index 35cc84a17..000000000 --- a/lib/Doctrine/ORM/Tools/ResolveDiscriminatorMapListener.php +++ /dev/null @@ -1,82 +0,0 @@ -. - */ - -namespace Doctrine\ORM\Tools; - -use Doctrine\ORM\Event\LoadClassMetadataEventArgs; -use Doctrine\ORM\Mapping\ClassMetadataInfo; - -/** - * ResolveDiscriminatorMapListener - * - * Mechanism to overwrite interfaces or classes specified in discrimination map - * - * @author Benjamin Eberlei - * @since 2.2 - */ -class ResolveDiscriminatorMapListener -{ - /** - * @var array - */ - private $resolveTargetEntities = array(); - - /** - * Construct - * - * @param array $resolveTargetEntities - */ - public function __construct(array $resolveTargetEntities) - { - $this->resolveTargetEntities = $resolveTargetEntities; - } - - /** - * Processes event and resolves new target entity names. - * - * @param LoadClassMetadataEventArgs $args - * - * @return void - */ - public function loadClassMetadata(LoadClassMetadataEventArgs $args) - { - $classMetadata = $args->getClassMetadata(); - - if (!empty($classMetadata->discriminatorMap)) { - - $this->remapDiscriminatorMap($classMetadata); - } - } - - /** - * Replaces all Interfaces in discriminator map - * - * @param \Doctrine\ORM\Mapping\ClassMetadataInfo $classMetadata - */ - private function remapDiscriminatorMap(ClassMetadataInfo $classMetadata) - { - foreach ($classMetadata->discriminatorMap as $name => $interface) { - - if (isset($this->resolveTargetEntities[$interface])) { - - $classMetadata->discriminatorMap[$name] = $this->resolveTargetEntities[$interface]; - } - } - } -} diff --git a/tests/Doctrine/Tests/ORM/Tools/ResolveDiscriminatorMapListenerTest.php b/tests/Doctrine/Tests/ORM/Tools/ResolveDiscriminatorMapListenerTest.php deleted file mode 100644 index ed6a0aaa7..000000000 --- a/tests/Doctrine/Tests/ORM/Tools/ResolveDiscriminatorMapListenerTest.php +++ /dev/null @@ -1,112 +0,0 @@ -createAnnotationDriver(); - - $this->em = $this->_getTestEntityManager(); - $this->em->getConfiguration()->setMetadataDriverImpl($annotationDriver); - $this->factory = new ClassMetadataFactory; - $this->factory->setEntityManager($this->em); - } - - /** - * @group DDC-3300 - */ - public function testResolveDiscriminatorMapListenerTestCanResolveDiscriminatorMap() - { - $evm = $this->em->getEventManager(); - $listener = new ResolveDiscriminatorMapListener(array( - 'Doctrine\Tests\ORM\Tools\BossInterface' => 'Doctrine\Tests\ORM\Tools\Boss', - 'Doctrine\Tests\ORM\Tools\EmployeeInterface' => 'Doctrine\Tests\ORM\Tools\Employee', - )); - - $evm->addEventListener(Events::loadClassMetadata, $listener); - $cm = $this->factory->getMetadataFor('Doctrine\Tests\ORM\Tools\Person'); - $meta = $cm->discriminatorMap; - $this->assertSame('Doctrine\Tests\ORM\Tools\Boss', $meta['boss']); - $this->assertSame('Doctrine\Tests\ORM\Tools\Employee', $meta['employee']); - } - - /** - * @group DDC-3300 - */ - public function testResolveDiscriminatorMapListenerTestCannotResolveWrongDiscriminatorMap() - { - $evm = $this->em->getEventManager(); - $listener = new ResolveDiscriminatorMapListener(array( - 'Doctrine\Tests\ORM\Tools\EmployeeInterface' => 'Doctrine\Tests\ORM\Tools\Employee', - )); - - $evm->addEventListener(Events::loadClassMetadata, $listener); - $cm = $this->factory->getMetadataFor('Doctrine\Tests\ORM\Tools\Person'); - $meta = $cm->discriminatorMap; - $this->assertSame('Doctrine\Tests\ORM\Tools\BossInterface', $meta['boss']); - $this->assertSame('Doctrine\Tests\ORM\Tools\Employee', $meta['employee']); - } -} - -/** - * @Entity - * @InheritanceType("SINGLE_TABLE") - * @DiscriminatorColumn(name="discr", type="string") - * @DiscriminatorMap({ - * "boss" = "\Doctrine\Tests\ORM\Tools\BossInterface", - * "employee" = "\Doctrine\Tests\ORM\Tools\EmployeeInterface" - * }) - */ -abstract class Person -{ - /** - * @Id - * @Column(type="integer") - * @GeneratedValue(strategy="AUTO") - */ - private $id; -} - -interface BossInterface -{ - -} - -class Boss extends Person implements BossInterface -{ - /** - * @Column(type="integer") - */ - private $earnedMoneyInEuros; -} - -interface EmployeeInterface -{ - -} - -class Employee extends Person implements EmployeeInterface -{ - /** - * @Column(type="integer") - */ - private $daysOfLifeReducedInDays; -}