44
55use Doctrine \ORM \Events ;
66use Doctrine \ORM \Tools \ResolveDiscriminatorMapListener ;
7+ use Doctrine \ORM \Tools \ResolveTargetEntityListener ;
78
89/**
910 * @group DDC-3300
@@ -12,21 +13,28 @@ class DDC3300Test extends \Doctrine\Tests\OrmFunctionalTestCase
1213{
1314 public function testIssue ()
1415 {
15- $ this
16- ->_em
17- ->getEventManager ()
18- ->addEventListener (
19- Events::loadClassMetadata,
20- new ResolveDiscriminatorMapListener (array (
21- 'Doctrine\Tests\ORM\Functional\Ticket\DDC3300BossInterface ' => 'Doctrine\Tests\ORM\Functional\Ticket\DDC3300Boss ' ,
22- 'Doctrine\Tests\ORM\Functional\Ticket\DDC3300EmployeeInterface ' => 'Doctrine\Tests\ORM\Functional\Ticket\DDC3300Employee ' ,
23- ))
24- );
16+ $ resolveTargetEntity = new ResolveTargetEntityListener ();
17+
18+ $ resolveTargetEntity ->addResolveTargetEntity (
19+ DDC3300BossInterface::INTERFACENAME ,
20+ DDC3300Boss::CLASSNAME ,
21+ array ()
22+ );
23+
24+ $ resolveTargetEntity ->addResolveTargetEntity (
25+ DDC3300EmployeeInterface::INTERFACENAME ,
26+ DDC3300Employee::CLASSNAME ,
27+ array ()
28+ );
29+
30+ $ this ->_em ->getEventManager ()->addEventSubscriber ($ resolveTargetEntity );
2531
2632 $ this ->_schemaTool ->createSchema (array (
27- $ this ->_em ->getClassMetadata (__NAMESPACE__ . '\\ DDC3300Person ' ),
33+ $ this ->_em ->getClassMetadata (DDC3300Person:: CLASSNAME ),
2834 ));
2935
36+ //die(var_dump($this->_em->getClassMetadata(DDC3300Person::CLASSNAME)->discriminatorMap));
37+
3038 $ boss = new DDC3300Boss ();
3139 $ this ->_em ->persist ($ boss );
3240
@@ -48,6 +56,8 @@ public function testIssue()
4856 */
4957abstract class DDC3300Person
5058{
59+ const CLASSNAME = __CLASS__ ;
60+
5161 /**
5262 * @Id
5363 * @Column(type="integer")
@@ -58,25 +68,27 @@ abstract class DDC3300Person
5868
5969interface DDC3300BossInterface
6070{
61-
71+ const INTERFACENAME = __CLASS__ ;
6272}
6373
6474/**
6575 * @Entity
6676 */
6777class DDC3300Boss extends DDC3300Person implements DDC3300BossInterface
6878{
79+ const CLASSNAME = __CLASS__ ;
6980}
7081
7182interface DDC3300EmployeeInterface
7283{
73-
84+ const INTERFACENAME = __CLASS__ ;
7485}
7586
7687/**
7788 * @Entity
7889 */
7990class DDC3300Employee extends DDC3300Person implements DDC3300EmployeeInterface
8091{
92+ const CLASSNAME = __CLASS__ ;
8193}
8294
0 commit comments